基于单片机的数字电压表设计(1)—-毕业论文设计 下载本文

内容发布更新时间 : 2024/5/10 12:15:58星期一 下面是文章的全部内容请认真阅读。

单片机数字电压表-------------------------------------------------------------------西南科技大学城市学院

每个LED的段输出引脚在内部都并联后,引出到器件的外部。

图3.8 4位LED引脚

对于这种结构的LED显示器,它的体积和结构都符合设计要求,由于4位LED阴极的各段已经在内部连接在一起,所以必须使用动态扫描方式(将所有数码管的段选线并联在一起,用一个I/O接口控制)显示。 3.4.3 LED译码方式

译码方式是指由显示字符转换得到对应的字段码的方式,对于LED数码管显示器,通常的译码方式有硬件译码和软件译码方式两种。

硬件译码是指利用专门的硬件电路来实现显示字符码的转换。

软件译码就是编写软件译码程序,通过译码程序来得到要显示的字符的字段码,译码程序通常为查表程序[3]。

本设计系统中为了简化硬件线路设计,LED译码采用软件编程来实现。由于本设计采用的是共阴极LED,其对应的字符和字段码如下表3.3所示。

表3.3 共阴极字段码表 显示字符 0 1 2 3 4 5 6 7 8 9 页 第 12

共阴极字段码 3FH 06H 5BH 4FH 66H 6DH 7DH 07H 7FH 6FH

单片机数字电压表-------------------------------------------------------------------西南科技大学城市学院

3.4.4 LED显示器与单片机接口设计

由于单片机的并行口不能直接驱动LED显示器,所以,在一般情况下,必须采用专用的驱动电路芯片,使之产生足够大的电流,显示器才能正常工作[7]。如果驱动电路能力差,即负载能力不够时,显示器亮度就低,而且驱动电路长期在超负荷下运行容易损坏,因此,LED显示器的驱动电路设计是一个非常重要的问题。

为了简化数字式直流电压表的电路设计,在LED驱动电路的设计上,可以利用单片机P0口上外接的上拉电阻来实现,即将LED的A-G段显示引脚和DP小数点显示引脚并联到P0口与上拉电阻之间,这样,就可以加大P0口作为输出口的驱动能力,使得LED能按照正常的亮度显示出数字,如图3.9所示。

图3.9 LED与单片机接口间的设计

3.5电压调节电路及声光报警电路

3.5.1电压调节电路

通过滑动电阻器调节电压,在仪表上显示出来,调节电路如图3.10:

页 第 13

单片机数字电压表-------------------------------------------------------------------西南科技大学城市学院

图3.10

3.5.2声光报警电路

当任一一个电压表获得的电压值超过设定阀值,本电路中阀值为1V,扬声器和二极管会工作,扬声器发出一定频率的“哔哱”声音,同时二极管发光。如图3.11

图3.11

3.6 总体电路设计

经过以上的设计过程,可设计出基于单片机的数字直流电压表硬件电路原理图如图3.12所示。

页 第 14

单片机数字电压表-------------------------------------------------------------------西南科技大学城市学院

图3.12 基于单片机的数字电压表proteus仿真

此电路的工作原理是:+5V模拟电压信号通过变阻器VR1分压后由ADC08008的IN7通道进入(由于使用的IN0通道,所以ADDA,ADDB,ADDC均接低电平),经过模/数转换后,产生相应的数字量经过其输出通道D0-D7传送给AT89C51芯片的P1口,AT89C51负责把接收到的数字量经过数据处理,产生正确的7段数码管的显示段码传送给四位LED,同时它还通过其四位I/O口P2.0、P2.1、P2.2、P2.3产生位选信号控制数码管的亮灭。此外,AT89C51还控制ADC0808的工作。其中,单片机AT89C51通过定时器中断从P2.4输出方波,接到ADC0808的CLOCK,P2.6发正脉冲启动A/D转换,P2.5检测A/D转换是否完成,转换完成后,P2.7置高从P1口读取转换结果送给LED显示出来[3]。

数字直流电压表的硬件电路已经设计完成,就可以选取相应的芯片和元器件,利用Proteus软件绘制出硬件的原理,并仔细地检查修改,直至形成完善的硬件原理图。但要真正实现电路对电压的测量和显示的功能,还需要有相应的软件配合,才能达到设计要求。

页 第 15

单片机数字电压表-------------------------------------------------------------------西南科技大学城市学院

4 程序设计

4.1 程序设计总方案

根据模块的划分原则,将该程序划分初始化模块,A/D转换子程序和显示子程序,这三个程序模块构成了整个系统软件的主程序,如图4.1所示。

开始初始化调用A/D转换子程序调用显示子程序结束图4.1 数字式直流电压表主程序框图

4.2 系统子程序设计

4.2.1 初始化程序

所谓初始化,是对将要用到的MCS-51系列单片机内部部件或扩展芯片进行初始工作状态设定,初始化子程序的主要工作是设置定时器的工作模式,初值预置,开中断和打开定时器等。 4.2.2 A/D转换子程序

A/D转换子程序用来控制对输入的模块电压信号的采集测量,并将对应的数值存入相应的内存单元,其转换流程图如图4.2所示。

页 第 16