电压表是测量仪器中不可缺少的设备,目前广泛应用的是采用专用集成电路实现的数字电压表。本系统以8051单片机为核心,以逐次逼近式A/D转换器ADC0809、LED显示器为主体,设计了一款简易的数字电压表,能够测量0~5V的直流电压,最小分辨率为0.02V。
该设计大体分为以下几个部分,同时,各部分选择使用的主要元器件确定如下:
1、单片机部分。使用常见的8051单片机,同时根据需要设计单片机电路。 2、测量部分。该部分是实验的重点,要求将外部采集的模拟信号转换成数字信号,通过单片机的处理显示在显示器上,该部分决定了数字电压表的精度等主要技术指标。根据需要本设计采用逐次逼近型A∕D转换器ADC0809进行模数转换。
3、键盘显示部分。利用4×6矩阵键盘的一个按键控制量程的转换,3或4位LED显示。其中一位为整数部分,其余位小数部分。
索引关键词:8051 模数转换 LED显示 矩阵键盘
1
目 录
一 概 述 …………………………………………………………………4 二 方案设计与论证 ……………………………………………………………4 三 单元电路设计与参数计算 …………………………………………………4 3.1。 A∕D转换器0809 ……………………………………………………5
3。1. LED数码显示 ………………………………………………………7 四 总原理图及参考程序 ………………………………………………………9 五 结论 …………………………………………………………………………10 六 心得体会 ……………………………………………………………………14 七 参考文献 ……………………………………………………………………15
2
一、概述
数字电压表的基本工作原理是利用A/D转换电路将待测的模拟信号转换成数字信号,通过相应换算后将测试结果以数字形式显示出来的一种电压表。较之于一般的模拟电压表,数字电压表具有精度高、测量准确、读数直观、使用方便等优点。
电压表的数字化测量,关键在于如何把随时连续变化的模拟量转化成数字量,完成这种转换的电路叫模数转换器(A/D).数字电压表的核心部件就是A/D转换器,由于各种不同的A/D转换原理构成了各种不同类型的DVM.一般说来,A/D转换的方式可分为两类:积分式和逐次逼近式。
积分式A/D转换器是先用积分器将输入的模拟电压转换成时间或频率,再将其数字化。根据转化的中间量不同,它又分为U-T(电压-时间)式和U-F(电压-频率)式两种。
逐次逼近式A/D转换器分为比较式和斜坡电压式,根据不同的工作原理,比较式又分为逐次比较式及零平衡式等。斜坡电压式又分为线性斜坡式和阶梯斜坡式两种。
在高精度数字电压表中,常采用由积分式和比较式相结合起来的复合式A/D转换器。本设计以8051单片机为核心,以逐次比较型A/D转换器ADC0809、LED显示器为主体,构造了一款简易的数字电压表,能够测量1路0~5V直流电压,最小分辨率0.02V.
二、方案设计与论证
该设计是基于8051的数字电压表,大体分为以下几个部分,同时,各部分选择使用的主要元器件确定如下:
(1)单片机部分 使用常见的8051单片机,同时根据需要设计单片机电路。 (2)测量部分 该部分是实验的重点,要求将外部采集的模拟信号转换成数字信号,通过单片机的处理显示在显示器上,该部分决定了数字电压表的精度等主要技术指标.根据需要本设计采用逐次逼近式A/D转换器0809进行模数转换。 (3)键盘显示部分 利用4×6矩阵键盘的一个按键控制量程的转换,3或4位LED显示.其中一位为整数部分,其余位小数部分。
三、单元电路设计与参数计算
3
3。1 ADC0809 (1)主要特性
1)8路8位A/D转换器,即分辨率8位。 2)具有转换起停控制端. 3)转换时间约为128μs 4)单个+5V电源供电
5)模拟输入电压范围0~+5V,不需零点和满刻度校准。 6)工作温度范围为-40~+85摄氏度 7)低功耗,约15mW。
(2)内部结构
图1 ADC0809内部结构框图
ADC0809是CMOS单片型逐次逼近式A/D转换器,内部结构如图1所示,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型D/A转换器、逐次逼近寄存器、三态输出锁存器等其它一些电路组成。因此,ADC0809可处理8路模拟量输入,且有三态输出能力,既可与各种微处理器相连,也可单独工作.输入输出与TTL兼容。
4
(3)外部特性(引脚功能)
ADC0809芯片有28条引脚,采用双列直插式封装,如上图所示。下面说明各引脚功能.
IN0~IN7:8路模拟量输入端。 D0~D7:8位数字量输出端.
START: A/D转换启动信号,输入,高电平有效. ALE:地址锁存允许信号,输入,高电平有效。
OE:数据输出允许信号,输入,高电平有效.当A/D转换结束时,此端输 入一个高电平,才能打开输出三态门,输出数字量. CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ.
ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路。如表1所示。
EOC: A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电 平(转换期间一直为低电平)。 VREF(+)、VREF(-):基准电压。 VCC:电源,接+5V. GND:地。
5
表1 地址与通道对应关系
ADC0809的工作过程是:首先输入3位地址,并使ALE=1,将地址存入地址
锁存器中.此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动 A/D转换,之后EOC输出信号变低,指示转换正在进行。直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上. 3。2 LED数码显示 (1)LED显示器
LED是由若干个发光二极管组成的.当发光二极管导通时,相应的一个点或一个笔划发亮.控制不同组合的二极管导通,就能显示出各种字符。这种笔划式的七段显示器,能显示的字符数量少,但控制简单、使用方便。
发光二极管的阳极连在一起的称为共阳极显示器,阴极连在一起的称为共阴极显示器
(2)LED结构及显示原理
通常的七段LED显示块中有八个发光二极管,故也有人叫做八段显示块。其中七个发光二极管构成七笔字形“8”。一个发光二极管构成小数点.七段显示块与单片机接口非常容易.只要将一个8位并行输出口与显示块的发光二极管引脚相连即可。8位并行输出口输出不同的字节数据即可获得不同的数字或字符.通常将控制发光二极管的8位字节数据称为段选码或段数据.
6
一些字形的段选码如下表:
(3)LED的结构及其工作原理
点亮显示器有静态和动态两种方法。
1)静态显示:当显示某一个字符时,相应的发光二极管恒定地导通或截止。例如七段显示器的a、b、c、d、e、f导通,g、dp截止,显示0。 静态显示的特点是:
每一位都需要一个8位输出口控制,用于显示位数较少(仅一、二位)的场合。 较小的电流能得到较高的亮度,可以由8255的输出口直接驱动。 图示为三位显示器的接口逻辑。
2)动态显示:一位一位地轮流点亮各位显示器(扫描)。对于每一位显示器
7
来说,每隔一段时间点亮一次.显示器的亮度既与导通电流有关,也和点亮时间与间隔时间的比例有关。
若显示器的位数不大于8位,则控制显示器公共极电位只需一个8位并行口(称为扫描口或位选口)。控制各位显示器所显示的字形也需一个共用的8位口(称为段数据口),用于显示位数稍多的场合,需编写扫描程序。
四、总原理图及参考程序 1、总原理图
2、程序流程图及参考程序
8
(1)程序流程图 START
选择ADC0809的转换轨道
设置定时器,提供时钟信号 启动A/D转换器
N 转换是否 结束? Y 输出转换结果
数值转换
显示
(2)参考程序
OUTBIT EQU 09002H
9
OUTSEG EQU 09004H IN EQU 09001H LEDBUF EQU 60H LJMP MAIN LEDMAP:
DB 3FH, 06H, 5BH, 4FH, 66H, 6DB, 7DB, 07H DB 7FH, 6FH, 77H, 7CH, 39H, 5EH, 79H, 71H
DELAY:
MOV R7,#0 DELAYLOOP:
DJNZ R7,DELAYLOOP DJNZ R6,DELAYLOOP RET DISPLAYLED:
MOV R0,#LEDBUF MOV R1,#4
MOV R2,#000000001B LOOP:
MOV A,@R0
MOV DPTR,#OUTSEG MOVX @DPTR,A MOV DPTR,#OUTBIT MOV A,R2
MOVX @DPTR,A
MOV R6,#01 CALL DELAY MOV A,R2 R1 A
MOV R2,A INC R0
DJNZ R1,LOOP TESRKEY:
MOV DPTR, #OUTBIT MOV A,#0 MOV A,#0
MOVX @DPTR,A MOV DPTR,#IN MOVX A,@DPTR CPL A
ANL A,#0FH RET
KEYTABLE:
10
DB 16H, 15H, 14H, 0FFH DB 13H, 12H, 11H, 10H DB 0dH, 0cH, 0bH, 0aH DB 0eH, 03H, 06H, 09H DB 0FH, 02H, 05H, 08H DB 00H, 01H, 04H, 07H GETKEY:
MOV DPTR,#OUTBIT MOV P2,DPH MOV R0,#IN
MOV R1,#00100000B MOV R2,#6 KLOOP:
MOV A,R1 CPL A
MOVX @DPTR,A MOVX A,@R0 CPL A
ANL A,#0FH JNZ GOON1 GOON1:
MOV R1,A MOV A,R2 DEC A RL A RL A
MOV R2,A MOV A,R1 MOV R1,#2 LOOPC:
RRC A JC EXIT INC R2
DJNZ R1,LOOPC EXIT:
MOV A,R2
MOV DPTR,#KEYTABLE MOVC A,@A+DPTR MOV R2,A WAITRELEASE:
MOV DPTR,#OUTBIT CLR A
MOVX @DPTR,A MOV R6,#10
11
CALL DELAY CALL TESTKEY JNZ WAITRELEASE MOV A,R2 RET MAIN:
MOV DPTR,#8000H MOVX @DPTR,A HERE:
JNB P3。3,HERE MOVX A,@DPTR MOV P1,A MOV R5,A
CALL DISPLAYLED CALL TESTKEY JZ L5
CALL GETKEY MOV 40H,A L5:
MOV 63H,#00H MOV A,R5 MOV B,#51 MOV AB
MOV 62H,A MOV A,B JZ LOOP1 RL A
SUBB A,#2 MOV B,#10 DIV AB MOV 61H,A MOV 60H,B AJMP MLOOP LOOP1:MOV 61H,#00 MOV 60H,#00 AJMP MLOOP MLOOP:
MOV R0, #LEDBUF FILLBUF:
MOV A,@R0
MOV DPTR,#LEDMAP MOVC A,@A+DPTR MOV 50H,A CLR C
12
MOV A,40H ADD A,41H ANL A,#01H MOV 41H,A RRC A
MOV 40H,#00H JC WEI2 WEI1:
CJNE R0,#62H,XS01 MOV A,50H ADD A,#80H SJMP XS1 XS01:
MOV A,50H XS1:
MOV @R0,A INC R0
CJNE R0,#LEDBUF+3, FILLBUF LJMP START WEI2:
CJNE R0,#63H,XS0 MOV A,50H ADD A,#80H SJMP XS XS0:
MOV A,50H XS:
MOV @R0,A INC R0
CJNE R0,#LEDBUF+4, FILLBUF LJMP START END
七、结论
本设计以8051单片机为控制核心,通过集成摸数转换芯片ADC0809将被测信号转换成数字信号,经单片机内部程序处理后,由LED八段数码管显示测量结果.
仿真测试表明,系统性能良好,测量读数稳定易读、更新速度合理,直流电压测量范围为0~5V,最小分辨率为0.02V,满足任务书指标要求。但是,该系统也存在一定程度的不足,例如:
1、若能将测量的电压值实时保存,使用时将更方便。
13
2、ADC0809可实现对8个通道的输入信号轮流转换,本设计仅仅使用了其中一个通道,造成了较大的资源浪费。若能对电路稍加改进,实现对多路信号的轮流测量并自动保存相应结果,其应用价值将会更大.
八、心得体会
在这次单片机课程设计实习里,通过对单片机的学习与应用明白实际操作和课本上的知识有很大联系,但又高于课本,体会到了理论与实践相结合的重要性,同时查阅相关文献资料、组织材料、团队合作等的能力都得到了相应的提高.
在这次实习中,在收获知识的同时,还收获了阅历。在此过程中,通过查找相关资料,请教老师,不仅培养了独立思考、动手操作的能力,组织材料、团队合作等能力也得到了相应的提高,而且在与老师和同学的交流过程中,互动学习,能更好的将知识融会贯通,达到了事半功倍的效果.
更重要是我从中学到:要面对社会的挑战,只有不断的学习、实践,再学习、再实践。不管怎样,这些都是一种锻炼,只有不断的积累这些最基础的,才可以更进一步,取得更好的成绩.
总之,这次实习巩固了单片机这门课程的知识,并且对提高自己的动手能力与设计能力有了很大帮助。
九、参考文献
胡辉 单片机原理与应用 中国水利水电出版社
14
因篇幅问题不能全部显示,请点此查看更多更全内容