基于AT89C51单片机的数字电压表设计与仿真

2015-05-30 14:46范礼平
中国新通信 2015年24期
关键词:数码管电压表单片机

范礼平

【摘要】 随着大规模集成电路的发展,单片机技术飞速发展,其功能也不断增强,单片机应用已经渗透到了各个领域,已经成为嵌入式控制系统的主流,是开发新产品不可或缺的器件,现代人类生活中所用的几乎每件电子和机械产品中或多或少都会集成有单片机。

【关键字】 单片机 模数转换 protues仿真

本次数字电压表设计是通过常用模数转换芯片ADC0809与AT89C51单片机连接制作一个数字电压表,说明ADC0809与单片机的接口方法,目前单片机使用的A/D转换电路通常也是以集成芯片的形式出现的,ADC0809是最常用的一种模数转换芯片。

一、硬件电路设计

1.1单片机最小系统

单片机的最小系统是让单片机能正常工作并发挥其功能时所必须的组成部分,用最少的元件组成的单片机可工作系统。51 系列单片机的最小系统一般应该包括: 单片机、时钟电路、复位电路、输入/ 输出设备等。

1.2模数转换模块

此模块主要由模数转换芯片ADC0809、锁存器74ls373以及74ls02、74ls04等逻辑门电路组成。P2.7(A15)作为片选信号,由单片机的写信号WR和P2.7控制ADC0809的地址锁存和转换启动。用单片机的RD和P2.7引脚引脚经一级“或非”门后,产生的正脉冲作为OE信号,用以打开三态读出锁存器。ADC0809口地址可以为7FF9H选通IN1。ADC0809的EOC发出高电平,经反相器接到P3.5来判断转换是否结束。通过定时计数器0由P3.4引脚产生一时钟脉冲作为ADC0809的时钟。

1.3显示模块

此模块电路主要由四位一体的LED数码显示器构成,本次设计选取共阳极结构的数码管,采用动态显示的方式完成显示,单片机的P2.0-P2.3接四位一体数码管的1,2,3,4,作为位选信号,单片机的P1口接数码管的A,B,C,D,E,F,G,DP,作为段码信息传送。

二、软件设计

程序开始部分通过伪指令设计ADC0809口地址以及显示缓冲区等;主程序部分包括设置堆栈、启动定时计数器、开始模数转换、等待启动结束后,将模拟输入量转换成数字量,在四位一体的数码管上显示;子程序包括定时中断、数据处理、数码管动态显示以及延时,部分参考程序代码如下:

IN1 EQU 7FF9H;设置ADC0809口地址

LED_0 EQU 30H;显示缓冲区

···

MAIN: MOV SP,#60H;设置堆栈

MOV TMOD,#02H;设置定时计数器

···

TOBCD: MOV A,ADC;转换结果转换成BCD码

MOV B,#0C3H;乘以19.5MV

···

HB2: CLR A;BCD码初始化

···

RET

DISP: MOV DPTR,#TABLE;数码管动态显示

···

RET

INT_T0: CPL P3.4

RETI

DELAY: MOV 50H,#0AH;延时5毫秒

···

RET

TABLE: DB 0C0H,0F9H,0A4H,0B0H,99H;共阳数码管0-9段码

DB 92H,82H,0F8H,80H,90H

END

三、protues软件仿真

为方便软硬件综合调试,通过protues软件进行电路原理图设计、程序设计以及仿真调试,仿真结果如下图所示:

本数字电压表设计可以显示0-5V的电压值,并且精确到了小数点后3位,其显示误差可以通过校正ADC0809转换器的基准参考电压来解决,本次设计,电路简单,成本较低,速度快且较稳定,如要进一步提高精度可选用12或13位的AD转换器。

参 考 文 献

[1] 吴金成.单片机实践与应用.清华大学出版社

[2] 陶春鸣.单片机实用技术.人民邮电出版社

[3] 李群芳.单片机原理与应用.武汉大学出版社

猜你喜欢
数码管电压表单片机
如何判断电压表的测量对象
判断电压表测量对象有妙招
基于单片机的SPWM控制逆变器的设计与实现
Arduino编程
基于单片机的层次渐变暖灯的研究
MC9S08FL16单片机数码管静态显示分析
基于单片机的便捷式LCF测量仪
单片机控制的四位数码管动态显示编程
基于Qt的数码管数字编码系统的设计与实现
电压表的妙用