单片机控制的简易直流数字电压表

时间: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年任教于甘肃工业职业技术学院至今,讲师。

上一篇:典型翻墙软件的网络通信特征分析 下一篇:物联网在高职院校中的应用