- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE 9
8.3 多路数字电压表的设计
数字电压表是电子测量中经常用到的电子器件,传统的指针式电压表功能单一、精度低、不能满足数字时代的要求。而采用单片机的数字电压表精度高、抗干扰能力强、可扩展性强、使用方便,在日常生活中广泛应用。
8.3.1 多路数字电压表的功能要求
多路数字电压表的功能要求如下:
(1) 输入电压为8路。
(2) 电压值的范畴为0~5V。
(3) 测量的最小分辨率为0.019V,测量误差为?0.02V。。
(4) 能通过显示器显示通道和通道电压,有效位数为小数点后两位
8.3.2 多路数字电压表的总体设计
多路数字电压表的总体结构如图8.9所示,处理过程如下:先用A/D转换器对各路电压值进行采样,得到相应的数字量,再按数字量与模拟量成正比关系运算得到对应的模拟电压值,然后把模拟值通过显示器显示出来,另外可以通过按键选择通道。
51单片机
51单片机
时钟电路
复位电路
LCD
按键
ADC0808
图8.9 多路数字电压表的总体结构图
根据系统的功能要求,控制系统采用AT89C52单片机,A/D转换器采用ADC0808(0809)。ADC0808(0809)是8位的A/D转换器。当输入电压为5.00V时,输出的数据值为255(0FFH),因此最大分辨率为0.0196V(5/255)。ADC0808(0809)具有8路模拟量输入端口,通过3位地址输入端能从8路中选择一路进行转换。如每隔一段时间依次轮流改变3位地址输入端的地址,就能依次对8路输入电压进行测量。显示器采用LCD显示器,显示效果好。按键可只设定一个,用于选择显示的当前通道。
8.3.3 多路数字电压表硬件电路
多路数字电压表具体硬件电路如图8.10所示。
图8.10 多路数字电压表的电路原理图
其中,ADC0808(0809) 的数据线D0~D7与AT89C52的P2口相连,地址输入端ADDA、ADDB、ADDC与AT89C52的P3口的低3位P3.0、P3.1、P3.2相连,地址锁存控制端ALE和启动信号START连接在一起与P3.7相连,数据输出允许控制端OE与P3.6相连,转换结束信号EOC与P1.3相连。ADC0809的时钟信号输入端CLOCK与P1.4相连,而P1.4由定时/计数器0控制,每10?s取反一次,则CLOCK的时钟周期为20?s,频率为50KHz,满足ADC0808(0809)的时钟要求。参考电压VREF+接+5V电源,参考电压VREF-接地,则当输入电压为5.00V时,输出的数据值为255(0FFH),当输入电压为0V时,输出的数据值为0(00H),最大分辨率为0.0196V(5/255)。
显示器LCD1602的数据线与89C 52的P0口相连,RS与P1.7相连,R/与P1.6相连,E端与P1.5相连。按键只设定了一个K1,与AT89C52的P1.0,用于进行通道选择,当按下一次,通道加1,显示下一个通道。
8.3.4 多路数字电压表软件程序
多路数字电压表系统软件程序由主程序、A/D转换子程序和显示驱动程序组成,这里只介绍主程序、A/D转换子程序。
1.主程序
主程序流程如图8.11所示。首先是对定时计数器和LCD初始化,在LCD上显示提示信息,然后进入循环,在循环中依次为:调用A/D转换子程序对8个通道转换一次,判通道键是否按下,按下则当前通道地址加1,当前通道值转换成电压值,显示当前通道。
2.A/D转换子程序
A/D转换子程序用于对ADC0808的8路输入模拟电压进行一次A/D转换,并将转换的数值存入8个相应的存储单元中,流程图如图8.12所示。A/D转换子程序每隔一定时间调用一次,即隔一段时间对输入电压采样一次。
图8.11 主程序流程 图8.
3.汇编语言源程序清单
;30H~37H存放转换的数字量
;38H~3BH分别放电压当前通道电压的个位、小数点后1位、小数点后2位
;3CH单片为通道计数器
RS BIT P1.7 ;定义LCD1602端口线
RW BIT P1.6
E BIT P1.5
ST BIT P3.7 ;定义0808控制线
OE BIT P3.6
EOC BIT P1.3
CLK BIT P1.4
KEY1 BIT P1.0 ;通道选择按键
ORG 0000H
LJMP MAIN
ORG 000BH
CPL CLK ; 定时/计数器0中断,产生转换时钟
RETI
ORG 50H
;主程序
MAIN: MOV SP,#50H
MOV 39H,#.
MOV TMOD,#02H
MOV TH0,#246
MOV
文档评论(0)