《单片机数字电压表课程设计报告.docx》由会员分享,可在线阅读,更多相关《单片机数字电压表课程设计报告.docx(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、单片机数字电压表课程设计报告 内容摘要 电压表是测量仪器中不可缺少的设备,目前广泛应用的是采用专用集成电路实现的数字电压表。本系统以8051单片机为核心,以逐次逼近式A/D转换器ADC0809、LED显示器为主体,设计了一款简易的数字电压表,能够测量05V 的直流电压,最小分辨率为0.02V。 该设计大体分为以下几个部分,同时,各部分选择使用的主要元器件确定如下: 1、单片机部分。使用常见的8051单片机,同时根据需要设计单片机电路。 2、测量部分。该部分是实验的重点,要求将外部采集的模拟信号转换成数字信号,通过单片机的处理显示在显示器上,该部分决定了数字电压表的精度等主要技术指标。根据需要本
2、设计采用逐次逼近型AD转换器ADC0809进行模数转换。 3、键盘显示部分。利用46矩阵键盘的一个按键控制量程的转换,3或4位LED显示。其中一位为整数部分,其余位小数部分。 索引关键词:8051 模数转换LED显示矩阵键盘 目录 一概述 (4) 二方案设计与论证 (4) 三单元电路设计与参数计算 (4) 3.1. AD转换器0809 (5) 3.1. LED数码显示 (7) 四总原理图及参考程序 (9) 五结论 (10) 六心得体会 (14) 七参考文献 (15) 一、概述 数字电压表的基本工作原理是利用A/D转换电路将待测的模拟信号转换成数字信号,通过相应换算后将测试结果以数字形式显示出来
3、的一种电压表。较之于一般的模拟电压表,数字电压表具有精度高、测量准确、读数直观、使用方便等优点。 电压表的数字化测量,关键在于如何把随时连续变化的模拟量转化成数字量,完成这种转换的电路叫模数转换器(A/D)。数字电压表的核心部件就是A/D 转换器,由于各种不同的A/D转换原理构成了各种不同类型的DVM。一般说来,A/D转换的方式可分为两类:积分式和逐次逼近式。 积分式A/D转换器是先用积分器将输入的模拟电压转换成时间或频率,再将其数字化。根据转化的中间量不同,它又分为U-T(电压-时间)式和U-F(电压-频率)式两种。 逐次逼近式A/D转换器分为比较式和斜坡电压式,根据不同的工作原理,比较式又
4、分为逐次比较式及零平衡式等。斜坡电压式又分为线性斜坡式和阶梯斜坡式两种。 在高精度数字电压表中,常采用由积分式和比较式相结合起来的复合式A/D 转换器。本设计以8051单片机为核心,以逐次比较型A/D转换器ADC0809、LED显示器为主体,构造了一款简易的数字电压表,能够测量1路05V直流电压,最小分辨率0.02V。 二、方案设计与论证 该设计是基于8051的数字电压表,大体分为以下几个部分,同时,各部分选择使用的主要元器件确定如下: (1)单片机部分使用常见的8051单片机,同时根据需要设计单片机电路。 (2)测量部分该部分是实验的重点,要求将外部采集的模拟信号转换成数字信号,通过单片机的
5、处理显示在显示器上,该部分决定了数字电压表的精度等主要技术指标。根据需要本设计采用逐次逼近式A/D转换器0809进行模数转换。 (3)键盘显示部分利用46矩阵键盘的一个按键控制量程的转换,3或4位LED显示。其中一位为整数部分,其余位小数部分。 三、单元电路设计与参数计算 3.1 ADC0809 (1)主要特性 1)8路8位A/D转换器,即分辨率8位。 2)具有转换起停控制端。 3)转换时间约为128s 4)单个5V电源供电 5)模拟输入电压范围05V,不需零点和满刻度校准。 6)工作温度范围为-4085摄氏度 7)低功耗,约15mW。 (2)内部结构 图1 ADC0809内部结构框图 ADC
6、0809是CMOS单片型逐次逼近式A/D转换器,内部结构如图1所示,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型D/A转换器、逐次逼近寄存器、三态输出锁存器等其它一些电路组成。因此,ADC0809可处理8路模拟量输入,且有三态输出能力,既可与各种微处理器相连,也可单独工作。输入输出与TTL兼容。 (3)外部特性(引脚功能) ADC0809芯片有28条引脚,采用双列直插式封装,如上图所示。下面说明各引脚功能。 IN0IN7:8路模拟量输入端。 D0D7:8位数字量输出端。 START: A/D转换启动信号,输入,高电平有效。 ALE:地址锁存允许信号,输入,高电平有效。 OE:数据输
7、出允许信号,输入,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。 CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ。 ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路。如表1所示。 EOC: A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。 VREF(+)、VREF(-):基准电压。 VCC:电源,接5V。 GND:地。 表1 地址与通道对应关系 ADC0809的工作过程是:首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START
8、上升沿将逐次逼近寄存器复位。下降沿启动 A/D转换,之后EOC输出信号变低,指示转换正在进行。直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。 3.2 LED数码显示 (1)LED显示器 LED是由若干个发光二极管组成的。当发光二极管导通时,相应的一个点或一个笔划发亮。控制不同组合的二极管导通,就能显示出各种字符。这种笔划式的七段显示器,能显示的字符数量少,但控制简单、使用方便。 发光二极管的阳极连在一起的称为共阳极显示器,阴极连在一起的称为共阴极显示器 (2)LED结
9、构及显示原理 通常的七段LED显示块中有八个发光二极管,故也有人叫做八段显示块。其中七个发光二极管构成七笔字形“8”。一个发光二极管构成小数点。七段显示块与单片机接口非常容易。只要将一个8位并行输出口与显示块的发光二极管引脚相连即可。8位并行输出口输出不同的字节数据即可获得不同的数字或字符。通常将控制发光二极管的8位字节数据称为段选码或段数据。 一些字形的段选码如下表: (3)LED的结构及其工作原理 点亮显示器有静态和动态两种方法。 1)静态显示:当显示某一个字符时,相应的发光二极管恒定地导通或截止。例如七段显示器的a、b、c、d、e、f导通,g、dp截止,显示0。 静态显示的特点是: 每一
10、位都需要一个8位输出口控制,用于显示位数较少(仅一、二位)的场合。 较小的电流能得到较高的亮度,可以由8255的输出口直接驱动。 图示为三位显示器的接口逻辑。 2)动态显示:一位一位地轮流点亮各位显示器(扫描)。对于每一位显示器来说,每隔一段时间点亮一次。显示器的亮度既与导通电流有关,也和点亮时间与间隔时间的比例有关。 若显示器的位数不大于8位,则控制显示器公共极电位只需一个8位并行口(称为扫描口或位选口)。控制各位显示器所显示的字形也需一个共用的8位口(称为段数据口),用于显示位数稍多的场合,需编写扫描程序。 四、总原理图及参考程序 1、总原理图 2、程序流程图及参考程序 (1)程序流程图
11、N Y START 选择ADC0809的转换轨道 设置定时器,提供时钟信号 启动A/D 转换器 输出转换结果 数值转换 显示 转换是否结束? (2)参考程序 OUTBIT EQU 09002H 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,
12、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 C
13、PL A ANL A,#0FH RET KEYTABLE: 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