ADC0809数字电压表报告.docx

上传人:小飞机 文档编号:3152078 上传时间:2023-03-11 格式:DOCX 页数:10 大小:42.98KB
返回 下载 相关 举报
ADC0809数字电压表报告.docx_第1页
第1页 / 共10页
ADC0809数字电压表报告.docx_第2页
第2页 / 共10页
ADC0809数字电压表报告.docx_第3页
第3页 / 共10页
ADC0809数字电压表报告.docx_第4页
第4页 / 共10页
ADC0809数字电压表报告.docx_第5页
第5页 / 共10页
亲,该文档总共10页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《ADC0809数字电压表报告.docx》由会员分享,可在线阅读,更多相关《ADC0809数字电压表报告.docx(10页珍藏版)》请在三一办公上搜索。

1、ADC0809数字电压表报告摘要 数字电压表的基本工作原理是利用A/D转换电路将待测的模拟信号转换成数字信号,通过相应换算后将测试结果以数字形式显示出来的一种电压表。较之于一般的模拟电压表,数字电压表具有精度高、测量准确、读数直观、使用方便等优点。 A/D转换主要由芯片ADC0809来完成,它负责把采集到的模拟量转换为相应的数字量在传送到数据处理模块。数据处理则由芯片STC89C52来完成,其负责把ADC0809传送来的数字量经过一定的数据处理,产生相应的显示码送到显示模块进行显示;此外它还控制着ADC0809芯片工作。 此数字电压表可以测量0-5V的1路模拟直流输入电压值,并通过一个四位一体

2、的7段数码管显示出来。 关键字:STC89C52、ADC0809、数字电压表、A/D转换 一、设计任务与要求 1.1 设计任务 基于单片机制作一个简易数字电压表,利用ADC0809芯片将电位器102的电阻值转换为电压值显示在数码管上。 1.2 设计要求 (1)以STC89C52系列单片机为核心器件组成一个简单的直流数字电压表; (2)采用1路模拟量输入,能够测量0-5V之间的直流电压; (3)电压显示用4位一体的共阴级LED数码管显示,至少能够显示两位小数; (4)A/D转换采用ADC0809实现,与单片机的接口为P1口和P3口部分引脚。LED数码管的段码输入由并行端口P0产生,位码输入用并行

3、端口P2高四位产生。 二、方案设计 2.1 硬件设计 2.1.1单片机模块设计 单片机控制模块的作用是为控制各单元电路的运行并完成数据的换算或处理,主要由单片机、时钟电路、复位电路组成。 STC89C52是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器,其引脚如下图所示: STC89C52引脚图 2.1.2 P0口上拉电阻 一般作单键触发使用时,如果IC本身没有内接电阻,为了使单键维持在不被触发的状态或是触发后回到原状态,必须在IC外部另接一电阻。 数字电路有三种状态:高电平、低电平、和高阻状态,有些应用场合不希望出现高阻状态,可以通过上拉电阻或下拉电阻排阻

4、消除高阻状态。 上拉电阻的实际功能就是从电源高电平引出的电阻接到输出端。如果电平用OC(集电极开路,TTL)或OD(漏极开路,CMOS)输出,那么不用上拉电阻是不能工作的, 这个很容易理解,管子没有电源就不能输出高电平了。如果输出电流比较大,输出的电平就会降低,就可以用上拉电阻提供电流分量, 把电平“拉高”。当然管子按需要工作在线性范围的上拉电阻不能太小。当然也会用这个方式来实现门电路电平的匹配。 九排上拉电阻 本次设计中使用的上拉电阻是一个九位排阻。顾名思义,排阻就是若干个参数完全相同的电阻,它们的一个引脚都连到一起,作为公共引脚,其余引脚正常引出。所以如果一个排阻是由n个电阻构成的,那么它

5、就有n+1只引脚,一般来说,最左边的那个是公共引脚,它在排阻上一般用一个色点标出来。由于排阻引脚众多,所以排阻比若干只固定电阻更为方便。本次设计中九位排阻在依次连接单片机P0口各引脚的同时并依序连接数码管各引脚(上拉电阻VCC端接单片机VCC端)。上拉电阻既能为单片机提供部分电压能力,同时也能起到预防线路中电流过大的作用。 2.1.3 电位器102 电位器是具有三个引出端、阻值可按某种变化规律调节的电阻元件。电位器通常由电阻体和可移动的电刷组成。当电刷沿电阻体移动时,在输出端即获得与位移量成一定关系的电阻值或电压。电位器既可作三端元件使用也可作二端元件使用。后者可视作一可变电阻器。 可变电阻器

6、,顾名思义,就是可以调整电阻的大小。电路接在该电阻的中间时,电阻只有原来的一半,接到最边缘时,则是该电阻的原来大小。看需要来选择接的地方,就是可变电阻。电位器为电阻值可以调整改变的电阻。在类比电路中,为符合所谓设计值规格的调整作业非常麻烦。但为考虑精确度,必须对各定数的偏差作局部限制,而在这调整作业中就必须用到可变电阻。 电位器是可变电阻器的一种。通常是由电阻体与转动或滑动系统组成,即靠一个动触点在电阻体上移动,获得部分电压输出。电位器的作用即是调节电压。 - 2 - 电位器102 本次设计用到的是电位器102,其阻值为1K。通过改变电位器阻值,ADC0809将采集到的阻值模拟量转换为相应的数

7、字量在传送到数据处理模块,最终以数字的形式显示在LED数码管上。 2.1.4 四位共阴数码管 4-LED显示器引脚如图所示,是一个共阴极接法的4位LED数码显示管,其中a,b,c,e,f,g为4位LED各段的公共输出端,1、2、3、4分别是每一位的位数选端,dp是小数点引出端,4位一体LED数码显示管的内部结构是由4个单独的LED组成,每个LED的段输出引脚在内部都并联后,引出到器件的外部。 4位LED引脚 对于这种结构的LED显示器,它的体积和结构都符合设计要求,由于4位LED阴极的各段已经在内部连接在一起,所以必须使用动态扫描方式显示。 数码管动态显示接口是单片机中应用最为广泛的一种显示方

8、式之一,动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点

9、亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。 本设计使用的驱动方式是动态驱动,四位共阴数码管的段码输入依次由并行端口P0产生,位码输入用并行端口P2高四位产生。其中,数码管上的“1,2,3,4”连接口分别与STC89C52上的P2.4,P2.5,P2.6,P2.7引脚连接。 2.1.5 ADC0809 ADC0809是美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D模数转换器。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信 - 3 - 号

10、中的一个进行A/D转换。该芯片具有以下特性: 1)8路输入通道,8位A/D转换器,即分辨率为8位; 2)具有转换起停控制端; 3)转换时间为100s(时钟为640kHz时),130s; 4)单个+5V电源供电; 5)模拟输入电压范围0+5V,不需零点和满刻度校准; 6)工作温度范围为-40+85摄氏度; 7)低功耗,约15mW。 ADC0809引脚图 ADC0809芯片有28条引脚,采用双列直插式封装,其芯片引脚图如图11所示。下面说明各引脚功能。 IN0IN7:8路模拟量输入端。 D0D8:8位数字量输出端。D0D7均为三态缓冲输出形式,可以和单片机的数据线直接相连。D0为最低位,D7为最高

11、位。 A、B、C:3位地址输入线,A为低地址,C为高地址,用于选通8路模拟输入中的一路。具体通道选择如表1所示。本次设计使用的通道是IN0,故A、B、C均需接地。 ALE:地址锁存允许信号,输入高电平有效。对应ALE上跳沿,A、B、C地址状态送入地址锁存器中。 START:A/D转换启动脉冲输入端,输入一个正脉冲使其启动。 EOC:A/D转换结束信号输出,当A/D转换结束时,此端输出一个高电平。 OE:数据输出允许信号,输入高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。 CLK:时钟脉冲输入端,要求时钟频率不高于640KHZ。ADC0809的内部没有时钟电

12、路,所需时钟信号由外界提供,因此有时钟信号引脚。 VREF、VREF:基准电压。用来与输入的模拟信号进行比较,作为逐次逼近的基准。 VCC:电源,单一+5V。 GND:接地。 表1 通道选择表 - 4 - A/D转换后得到的数据应及时传送给单片机进行处理。数据传送的关键问题是如何确认A/D转换的完成,因为只有确认完成后,才能进行传送。为此可采用下述三种方式。 定时传送方式 对于一种A/D转换其来说,转换时间作为一项技术指标是已知的和固定的。例如ADC0809转换时间为128s,相当于6MHz的MCS-51单片机共64个机器周期。可据此设计一个延时子程序,A/D转换启动后即调用此子程序,延迟时间

13、一到,转换肯定已经完成了,接着就可进行数据传送。 查询方式 A/D转换芯片由表明转换完成的状态信号,例如ADC0809的EOC端。因此可以用查询方式,测试EOC的状态,即可却只转换是否完成,并接着进行数据传送。 中断方式 把表明转换完成的状态信号作为中断请求信号,以中断方式进行数据传送。 不管使用上述那种方式,只要一旦确定转换完成,即可通过指令进行数据传送。首先送出口地址并以点击浏览下一页信号有效时,OE信号即有效,把转换数据送上数据总线,供单片机接受。 2.2软件设计 2.2.1 软件设计总方案 主程序框图如下图所示: 程序主框图 2.2.2 系统子程序设计 系统子程序流程图如图所示。 子程

14、序流程图 初始化程序 所谓初始化,是对将要用到的STC89C52单片机内部部件或扩展芯片进行初始工作状态 - 5 - 设定,初始化子程序的主要工作是设置定时器的工作模式,初值预置,开中断和打开定时器等。 A/D转换子程序 A/D转换子程序用来控制对输入的模块电压信号的采集测量,并将对应的数值存入相应的内存单元。 显示子程序 显示子程序采用动态扫描实现四位数码管的数值显示,在采用动态扫描显示方式时,要使得LED显示的比较均匀,又有足够的亮度,需要设置适当的扫描频率,当扫描频率在70HZ左右时,能够产生比较好的显示效果,一般可以采用间隔10ms对LED进行动态扫描一次,每一位LED的显示时间为1m

15、s。 三、系统仿真与调试 3.1 仿真平台 仿真平台为Proteus软件。Proteus软件是世界上著名的EDA工具,能完成原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件,是目前最好的仿真单片机及外围器件的工具。 3.2 仿真调试 开始仿真前,将电位器102调到阻值为1K(最大阻值),按下仿真按键,数码管显示数字电压表电压为0V。仿真现象如图所示。 仿真图1 改变电位器阻值,当阻值调为0.5K时,数码管显示数字电压表电压约为2.49V。仿真现象如图所示。 - 6 - 仿真图2 仿真中,使用的单片机型号为AT8

16、9C51,模数转换使用的是ADC0808,与事物焊接有区别。 3.3 硬件调试 在单片机上电前一定要检查外接电源电压的幅值是否为输入所需的电源电压数值,极性是否正确,否则很容易造成系统损坏,并确定电路板电源端无短路现象后,才能给电路接通电源。 STC为宏晶公司推出的国产51单片机,其优点在于价格低廉,功能强大,使用方便,尤其是其串口isp下载程序的方式方便了大量用户,免去了购买昂贵的编程器,非常适合单片机入门学习使用。下载的方式为冷启动,在下载前需先选好单片机类型,再读取hex文件,然后选择计算机的端口。但本次程序烧录失败,可能与一下因素有关:1、usb转串口本身存在错误;2、计算机端存在问题

17、;3、板子焊接出现问题。 因为单片机与底座实在插入得太紧密,以至于不能将单片机拔下来去其他板子上下载程序,而其余人使用STC单片机下载的实在太少,因此也无法验证usb转串口是否存在问题。 四、设计总结 经过一段时间的努力,基于单片机的数字电压表基本完成,虽然最后的板子程序烧录存在一定问题,但是使用Proteus实现了仿真。在这过程中,我对电路设计,单片机的使用等都有了新的认识。通过这次设计学会了Proteus和KEIL软件的使用方法,掌握了从系统的需要、方案的设计、功能模块的划分、原理图的设计和电路图的仿真的设计流程,积累了不少经验。 以下是自己在本次课程设计中得出的几点心得: 1、如果是程序

18、控制数码管,注意延时时间的长短,太短不会看到数码管量; 2、对于ADC0809,OE端为输出允许信号,OE=0,输出数据线呈高阻,OE=1,才输出转换得到的数据; 3、对于proteus仿真,在运行时,红色点为高电平,蓝色的点为低电平,灰色为输出不确定; 4、对于四位一体数码管,在仿真时选用的是共阴极,即标明“cathode”,若选用共阳极的应为“anode”; 5、对于实物焊接,单片机是否正常工作可测量ALE端电压,正常工作是为1.7V左右,若显示5V或0V均为非正常工作状态; 6、在仿真时,因为ADC0808和ADC0809的引脚功能类似,因此用ADC0808代替ADC0809; 7、ADC0809的复位为START段的脉冲上升沿,脉冲的下降沿为启动A/D转换; 8、焊接技术不行的时候,可采用排针和器件焊接再用杜邦线搭建的方法,而且该方法便于调试,也可以在一定程度上实现板子的重复利用。 - 7 - - 8 -

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号