- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
电子系统设计实验
题 目: 数字直流电压表的设计
专 业: 电子信息科学与技术
班 级:
姓 名:
指导老师:
时 间:
数字直流电压表的设计
一.设计要求:
设计一个测量范围为0~5V 的电压表,最小分辨率为0.5V(本方案中实际达到的理论分辨率为20mv,准确率80%,偏差30%,用三位数码管显示,显示小数点。
二.所用器材:
ATMEL89S52单片机一片、晶振一个、103电容两个、470uF电容一个、AD0809一片、LG3641BH四位共阳数码管一块、74HC373锁存器一片、1K?电阻一个、10K?电阻滑动变阻器一个、导线若干。
三.设计原理:
利用AD转换器将模拟的电压信号量化转变为8位的数字信号,将数字信号送入单片机,通过单片机处理数字信号,并送往显示电路。
产生AD 变换器的控制信号:
ADC0809 是CMOS 的8 位A/D 转换器,片内有8 路模拟开关,可控制8 个模拟量中的一个进入转换器中。ADC0809 的分辨率为8 位,转换时间约100us,含锁存控制的8 路多路开关,输出有三态缓冲器控制,单5V 电源供电。
主要控制信号说明:START 是转换启动信号,高电平有效;ALE 是3 位通道选择地址(ADDC、ADDB、ADDA)信号的锁存信号。当模拟量送至某一输入端(如IN1 或IN2 等),由3 位地址信号选择,而地址信号由ALE 锁存;EOC是转换情况状态信号,当启动转换约100us 后,EOC 产生一个负脉冲,以示转换结束;在EOC 的上升沿后,若使输出使能信号OE 为高电平,则控制打开三态缓冲器,把转换好的8 位数据结果输出至数据总线。至此ADC0809 的一次转换结束了。对于ADC0809 芯片的其他介绍请参阅其数据手册。芯片ADC0809的控制时序图(图14)。在实验仪器中CS 与WR 相与后接在了ALE 和START 端,CS 与RD 相与后接在了OE 端,通过对时序和电路的综合考虑,建议使用如下的AD 控制时序。
由图15 可知,当CS 和WR 同时为高电平时,ADC0809 开始转换,当转换完成后,在INT 脚输出高电平,等待读数据;当CS 和RD 同时为高电平时,通过数据总线D[7..0]从ADC0809 读出数据。从图我们可以将整个控制气分成4 个步骤状态:S0、S1、S2、S3,各状态的动作方式如下:状态S0:CS=1、WR=1、RD=0(由控制器发出信号要求ADC0809 开始进行模/数信号的转换)。状态S1:CS=0、WR=0、RD=0 (ADC0809 进行转换动作,转换完毕后INT将低电位升至高电位)。状态S2: CS=1、WR=0、RD=1(由控制器发出信号以读取ADC0809 的转换资料)。状态S3: CS=0、WR=0、RD=0(由控制器读取数据总线上的数字转换资料)。由上述的四个状态可以归纳出整个控制器的动作功能有:负责在每个步骤送出所需的CS、WR、RD 控制信号。在状态S1 时,监控INT 信号是否由低变高,如此以便了解转换动作结束与否。在状态S3,读取转换的数字资料。编码转换电路:将编码后的八位二进制信号输入单片机,通过单片机编的程序,将八位二进制的数码转换成对应的十进制电压实际值,通过单片机将该值送至数码管显示出来。
四.电路设计图:
五.电路中单片机所用的程序如下:
LED_0 EQU 30H
LED_1 EQU 31H
LED_2 EQU 32H
ADC EQU 35H
CLOCK BIT P2.4
ST BIT P2.5
EOC BIT P2.6
OE BIT P2.7
ORG 00H
SJMP START
ORG 0BH
LJMP INT_TO
START:MOV LED_0,#00H
MOV LED_1,#00H
MOV LED_2,#00H
MOV DPTR,#TABLE
MOV TMOD,#02H
MOV TH0,#245
MOV TL0,#00H
MOV IE,#82H
SETB TR0
WAIT: CLR ST
SETB ST
CLR ST
JNB EOC,$ //JNB:当EOC=0时转移到本指令首地址
SETB OE
MOV ADC,P1 //OE=1时将AD信号存入ADC中
CLR OE
MOV A,ADC
MOV B,#51
DIV AB
文档评论(0)