位置:51电子网 » 技术资料 » 显示光电

用模拟比较器实现的A/D转换器

发布时间:2007/8/23 0:00:00 访问次数:476

      在实际应用中,常常需要对模拟量进行测量,这就需用A/D转换器。片内带A/D转换器的单片机相对较贵,而AVR的多数单片机,如AT90S1200、AT90S8515等,片内都有模拟比较器。利用单片机片内的模拟比较器,很容易实现A/D转换,完全能够满足精度要求不高的一般性测量的需要。

    本文介绍用SL-AVR开发实验器做A/D转换器的实验。重点介绍在利用SL-AVR开发实验器上的网络电阻和滑线电位器进行A/D转换器实验时的跳线方法。

  一、 电路

    图1是AT90S8515控制的A/D转换器。单片机的PD6~PD0接共阴数码管的a~g,控制段码;PB6、PB7分别接数码管D0、D1的共阴极,控制位码;PC0~PC7作为输出口,接8只网络电阻;PB2(AIN0)接网络电阻的输出端;PB3(AIN1)接滑线电位器的中间抽头。

  二、 SL-AVR开发实验器上的跳线连接方法

  1. LED数码管跳线

    将DLED短路插排上的全部短路块取下,用随机附送的跳线将其中的D1接至AT90S8515的PB7(第{8}脚),D0接PB6(第{7}脚)。AT90S8515的40个引脚已接至锁紧插座的左右两侧。

    将短路插排CZ3最上面的7个短路块取下,其右边一列从上至下分别为LED七段数码管的段引脚a~g,将a~g分别接到AT90S8515的PD6~PD0(第{16}脚~{10}脚)。

  2. 电阻网络跳线

    将短路插排D2最下面的8个短路块取下,其最左边一列从下至上分别为PC0~PC7,用跳线将PC0~PC7分别接到网络电阻插排的D0~D7。

    将短路插排D1最上面的8个短路块取下,其最右边一列从上至下分别为PB0~PB7,用跳线将PB2接到网络电阻插排的Vout。

  3. 滑线电阻跳线

    在《AVR高速嵌入式单片机原理与应用》一书中,滑线电位器的接线如图2a所示。据笔者实测SL-AVR开发实验器的滑线电位器,其接线如图2b所示。因此,滑线电位器的接线如下:将滑线电位器上方两脚短路插排的AX端接至AT90S8515的PB3(AIN1),A/D端串一只电阻(如1kΩ)后接至GND。VCC、GND已引到SL-AVR开发实验器的左上角的双列短路插排上。
    将跳线接好,仔细检查无误后,便可进行实验了。

  三、 用电阻网络实现的A/D转换器程序

    用电阻网络实现的A/D转换器的源程序清单如下:

.Include″8515def.Inc″
.Org 0000
rjmp reset
.Def temp=r16
.Def temp1=r17
.Equ label= 0100
.Org $0010
reset: ldi r20,$02
out sph,r20
out spl,r20
ldi r20,$ff ;设置D口为输出
out ddrd,r20
out ddrc,r20
ldi r20,$f0
out ddrb,r20
out portb,r20
clr r20
out portc,r20
sbi $18,7
sbi $18,6
cli
ldi zh,high(label×2)
main: ldi temp,$00
nop
loop1: out portc,temp
nop
nop
nop
in temp1,acsr
sbrs temp1,5
rjmp naco
rjmp haco
naco: inc temp
brne loop1
ldi temp,$ff
haco: mov r28,temp
ldi r20,$38
display:mov temp,r28 ;显示高位
andi temp,$f0
swap temp
clr zl
add zl,temp
ledh: lpm
out portd,r0
sbi $18,6
cbi $18,7
rcall delay
mov temp,r28 ;显示低位
andi temp,$0f
clr zl
ledl: add zl,temp
lpm
out portd,r0
sbi $18,7
cbi $18,6
rcall delay
dec r20
brne display
rjmp main
delay: ldi r27, 10
delay1: dec r2

      在实际应用中,常常需要对模拟量进行测量,这就需用A/D转换器。片内带A/D转换器的单片机相对较贵,而AVR的多数单片机,如AT90S1200、AT90S8515等,片内都有模拟比较器。利用单片机片内的模拟比较器,很容易实现A/D转换,完全能够满足精度要求不高的一般性测量的需要。

    本文介绍用SL-AVR开发实验器做A/D转换器的实验。重点介绍在利用SL-AVR开发实验器上的网络电阻和滑线电位器进行A/D转换器实验时的跳线方法。

  一、 电路

    图1是AT90S8515控制的A/D转换器。单片机的PD6~PD0接共阴数码管的a~g,控制段码;PB6、PB7分别接数码管D0、D1的共阴极,控制位码;PC0~PC7作为输出口,接8只网络电阻;PB2(AIN0)接网络电阻的输出端;PB3(AIN1)接滑线电位器的中间抽头。

  二、 SL-AVR开发实验器上的跳线连接方法

  1. LED数码管跳线

    将DLED短路插排上的全部短路块取下,用随机附送的跳线将其中的D1接至AT90S8515的PB7(第{8}脚),D0接PB6(第{7}脚)。AT90S8515的40个引脚已接至锁紧插座的左右两侧。

    将短路插排CZ3最上面的7个短路块取下,其右边一列从上至下分别为LED七段数码管的段引脚a~g,将a~g分别接到AT90S8515的PD6~PD0(第{16}脚~{10}脚)。

  2. 电阻网络跳线

    将短路插排D2最下面的8个短路块取下,其最左边一列从下至上分别为PC0~PC7,用跳线将PC0~PC7分别接到网络电阻插排的D0~D7。

    将短路插排D1最上面的8个短路块取下,其最右边一列从上至下分别为PB0~PB7,用跳线将PB2接到网络电阻插排的Vout。

  3. 滑线电阻跳线

    在《AVR高速嵌入式单片机原理与应用》一书中,滑线电位器的接线如图2a所示。据笔者实测SL-AVR开发实验器的滑线电位器,其接线如图2b所示。因此,滑线电位器的接线如下:将滑线电位器上方两脚短路插排的AX端接至AT90S8515的PB3(AIN1),A/D端串一只电阻(如1kΩ)后接至GND。VCC、GND已引到SL-AVR开发实验器的左上角的双列短路插排上。
    将跳线接好,仔细检查无误后,便可进行实验了。

  三、 用电阻网络实现的A/D转换器程序

    用电阻网络实现的A/D转换器的源程序清单如下:

.Include″8515def.Inc″
.Org 0000
rjmp reset
.Def temp=r16
.Def temp1=r17
.Equ label= 0100
.Org $0010
reset: ldi r20,$02
out sph,r20
out spl,r20
ldi r20,$ff ;设置D口为输出
out ddrd,r20
out ddrc,r20
ldi r20,$f0
out ddrb,r20
out portb,r20
clr r20
out portc,r20
sbi $18,7
sbi $18,6
cli
ldi zh,high(label×2)
main: ldi temp,$00
nop
loop1: out portc,temp
nop
nop
nop
in temp1,acsr
sbrs temp1,5
rjmp naco
rjmp haco
naco: inc temp
brne loop1
ldi temp,$ff
haco: mov r28,temp
ldi r20,$38
display:mov temp,r28 ;显示高位
andi temp,$f0
swap temp
clr zl
add zl,temp
ledh: lpm
out portd,r0
sbi $18,6
cbi $18,7
rcall delay
mov temp,r28 ;显示低位
andi temp,$0f
clr zl
ledl: add zl,temp
lpm
out portd,r0
sbi $18,7
cbi $18,6
rcall delay
dec r20
brne display
rjmp main
delay: ldi r27, 10
delay1: dec r2

相关IC型号

热门点击

 

推荐技术资料

按钮与灯的互动实例
    现在赶快去看看这个目录卞有什么。FGA15N120AN... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!