时间:2022-08-18 04:12:50
摘要:在现代电子测量仪器仪表中,数字电压表由于其精度高、读数方便等优点,因此在电子测量领域应用越来越广泛。本设计基于单片机控制,因此整个电路较简单、易于实现、性能稳定、成本低,具有较好的实用性。
关键词:直流数字电压表;单片机;A/D转换
中图分类号:TM933.22 文献标识码:A 文章编号:1674-7712 (2012) 12-0026-01
数字电压表作为一种数字仪器仪表它采用数字化测量技术,把连续的模拟量(待测的直流电压值)转换成离散的数字形式并加以显示。由于有别于传统的指针式电压表由读数带来的种种误差与不便,它具有精度高、误差小、测量速度快、读数准确方便等优点。
数字电压表的核心部件是A/D转换器,本设计中A/D转换器采用ADC0809对输入模拟量即待测电压进行转换。而控制部分则由单片机AT89C51完成对转换之后的数据进行处理,由此产生相应的段码并送入数码管显示。而在软件部分,当A/D转换结束,采用中断方式对数据进行读取、处理,相较于查询方式程序更为合理,实时性也更好。
一、功能设计
由AT89C51与ADC0809构成一个简易的直流数字电压表,采用1路模拟量输入,能够测量0-5V之间的直流电压值。显示部分采用LED数码管动态显示,能够精确到小数点后两位。
二、硬件电路
硬件电路如下图示:
1.由于采用1路模拟量输入,因此ADC0809的三根地址线C、B、A(用于通道选择)直接接地,默认选择0通道。2.单片机采用6MHz的晶振,ALE引脚输出6MHz/6=1MHz的时钟信号,经74LS74触发器2分频,最终得到500KHz的时钟信号送入ADC0809的时钟端。3.ADC0809的启动端START、地址锁存端ALE均为高电平有效,将START与ALE端连在一起,与AT89C51的P2.7相连,当P2.7输出一个高电平时,启动0809开始模数转换。4.A/D转换结束,采用中断方式进行数据的读取处理。当转换结束时,EOC端输出高电平,而单片机的外部中断均为低电平有效,因此0809的EOC端通过反相器74LS04与单片机的P3.2(即外部中断0)相连,当转换结束,外部中断0则申请中断。5.0809的输出允许OE端与单片机P2.6相连,当OE端为高电平,模数转换的结果输出到0809的8位数字量输出端。6.模数转换的8位数字量由P0口输入单片机,经单片机处理后产生用于显示的段码值,再由P1口输出驱动LED显示器动态显示电压值。三个LED数码管的位选分别由单片机的P2.0、P2.1、P2.2三根口线控制。动态显示时,每一位LED的选通时间为5ms,由延时程序实现。
三、软件设计
程序:
ORG 0000H
LJMP MAIN
ORG 0003H AJMP JINT0
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAIN:NOP
SETB IT0
SETB EX0
SETB EA
MOV P0,#0FFH
SETB P2.0
SETB P2.1
SETB P2.2
SETB P2.3
CLR P2.7
SETB P2.7
CLR P2.7
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
XS: CLR P2.1
MOV DPTR,#TAB
MOV A,31H
MOVC A,@A+DPTR
ORL A,#80H
MOV P1,A
LCALL YS
SETB P2.1
CLR P2.2
MOV DPTR,#TAB
MOV A,32H
MOVC A,@A+DPTR
MOV P1,A
LCALL YS
SETB P2.2
CLR P2.3
MOV DPTR,#TAB
MOV A,33H
MOVC A,@A+DPTR
MOV P1,A
LCALL YS
SETB P2.3
AJMP MAIN
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
JINT0:NOP
CLR EA
SETB P2.6
SA:MOV A,P0
CLR P2.6
MOV B,#51
DIV AB
MOV 31H,A
MOV A,B
MOV B,#5
DIV AB
MOV 32H,A
MOV 33H,B
SETB EA
RETI
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
YS:MOV R6,#5
YS1:MOV R7,#250
L:DJNZ R7,L
DJNZ R6,YS1
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
TAB:DB 3FH,06H,5BH,4FH,66H ;0,1,2,3,4
DB 6DH,7DH,07H,7FH,6FH ;5,6,7,8,9
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
END
四、结论
由于ADC0809的分辨率为8位,当输入模拟电压的变化范围为0~5V,输出8位二进制数可以分辨的最小模拟电压为5V/255≈0.0196V。这就决定了该电压表的精度只能达到0.0196V。因此测试时电压数值的变化一般以0.02V的电压幅度变化,在一般的应用场合可以完全满足要求。
参考文献:
[1]南建辉,熊鸣,王军茹.MCS-51单片机原理及应用实例[M].清华大学出版社,2004
[2]王法能,尹季昆.单片机原理及应用[M].科学出版社,2004
[作者简介]高皑琼(1981-),女,2005年毕业于兰州理工大学通信工程专业,并获得学士学位,于2005年任教于甘肃工业职业技术学院至今,讲师。