课程设计基于单片机的8路输入模拟信号数值显示电路设计

上传人:壹****1 文档编号:433170267 上传时间:2022-11-27 格式:DOC 页数:29 大小:305.02KB
返回 下载 相关 举报
课程设计基于单片机的8路输入模拟信号数值显示电路设计_第1页
第1页 / 共29页
课程设计基于单片机的8路输入模拟信号数值显示电路设计_第2页
第2页 / 共29页
课程设计基于单片机的8路输入模拟信号数值显示电路设计_第3页
第3页 / 共29页
课程设计基于单片机的8路输入模拟信号数值显示电路设计_第4页
第4页 / 共29页
课程设计基于单片机的8路输入模拟信号数值显示电路设计_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《课程设计基于单片机的8路输入模拟信号数值显示电路设计》由会员分享,可在线阅读,更多相关《课程设计基于单片机的8路输入模拟信号数值显示电路设计(29页珍藏版)》请在金锄头文库上搜索。

1、单片机课程设计8路输入模拟信号数值显示电路姓 名: 李 花 同 组 人: 赵 家 专业班级: 电信0204班 学 号: 020910164 指导老师: 付永红 职 称: 副教授 计算机与电子工程系教务办制二00五年十二月 摘 要本系统是基于AT89S52单片机设计的,由具有8通道的模数转换芯片ADC0809采集模拟信号,并将采集到的数据送入AT89S52进行处理,其中ADC0809的1MHZ时钟脉冲直接由单片机的ALE脚输出的六分频时钟信号经过74LS74二分频得到。在设计中采用了精简电路及充分利用软件资源为原则,采用了软件译码,并利用三极管扩流来驱动数码管。同时兼顾系统的性能指标,采用了四位

2、数码管进行动态显示,分别显示模拟通道数以及采集到的模拟电压的数值。本系统经设计调试达到了预期的设计要求,能够标准地自动轮流显示8路模拟电压数值量,精度为0.02V,误差系数为0.01。关键词:模拟信号; AT89S52; ADC0809; 数值显示目 录一、设计任务及要求5二、 总体设计方案5三、 硬件电路设计61、模拟信号采集电路:62、数据处理模块电路73、数码显示模块电路8四、 软件设计91、主程序92、初始化程序93、显示子程序94、模数转换测量子程序9五、 检测与调试10六、 系统改进设想11七、 总结12参考文献12附件一:总的电路原理图13附件二:程序清单14附件三:数值量模拟量

3、转换对照表(ADC0809的参考电压为5V)19附件四:元件清单21一、 设计任务及要求设计一个8路输入模拟信号数值显示电路,具体要求如下:a.8路模拟信号输入;b.自动轮流显示8个通道模拟信号的数值;c.最小分辨率为0.02V;d.最大显示数值为255;f.测量电压最大值为5V。二、 总体设计方案8路输入模拟信号数值显示电路由A/D转换、数据处理及显示控制等组成。根据设计要求,要求能同时输入8路模拟信号,故在本设计中采用了8路的模数转换器AD0809;由单片机AT89C52提供控制信号控制AD0809,并对采集到的数据进行处理,通过软件编程实现8路模拟信号电压数值自动轮流显示;为得到8路模拟

4、信号的数值进行轮流显示,本设计中采用了四个数码管,通过软件直接译码,间接驱动4个共阳极数码管,并通过动态显示来轮流显示4个数码管。系统总体框图设计如下图所示:AD08098路模拟信号采集AT89C52控制信号数据信号数值显示电路图一 系统总体设计框图三、 硬件电路设计1、模拟信号采集电路:模拟信号采集需要用到模数转换器,而ADC0809具有较高的转换速度和精度,分辨率为8位,且受温度影响较小,能较长时间保证精度,重现性好,功耗较低,且具有8路模拟开关,满足本电路的设计要求,故在该电路模块中采用了ADC0809进行8路模拟信号采集,模数转换器ADC0809各引脚功能如图二所示:IN7IN0:8个

5、模拟量输入端;START:启动信号,当START为高电平时,A/D转换开始;EOC:转换结束信号,当A/D转换结束后,发出一个正脉冲,表示A/D转换完毕。此信号可用做A/D转换是否结束的检测信号,或向CPU申请中断的信号;ENABLE:输出允许信号。当此信号有效时,允许从A/D转换器的锁存器中读取数字量。此信号可作为ADC0809的片选信号,高电平有效;CLOCLK:实时时钟,可通过外接RC电路改变时钟频率; ALE:地址锁存允许,高电平有效。当ALE为高电平时,允许C,B,A所示的通道被选中,并把该通道的模拟量接入A/D转换器;C,B,A:通道号选择端子。C为最高位,A为最低位;D7D0:数

6、字量输出端;VREF(+),VREF(-):参考电压端子。用以提供D/A转换器权电阻的标准电平。对于一般单极性模拟量输入信号,VREF(+)=+5V,VREF(-)=0V;VCC:电源端子,接+5V;GND:接地端。ADC0809是由单一电源,+5V供电,模拟电压的输入范围为05V,故本设计允许输入的模拟电压最大值为5V。该电路模块的工作过程:第22脚ALE为地址锁存控制,当输入为高电平时,对地址信号进行锁存;6脚START为测试控制,当输入一个2us宽高电平脉冲时,就开始A/D转换;7脚EOC为A/D转换结束标志,当A/D转换结束时,7脚输出高电平;9脚ENABLE为A/D转换数据输出允许控

7、制,当ENABLE脚为高电平时,A/D转换数据从端口输出;则可读出数据。ADC0809的转换速度取决于芯片的时钟频率,要求时钟频率范围为:101280KHZ,在本设计中我们采用了由单片机ALE脚的六分频晶振信号再通过14024二分频得到,故ADC0809的工作频率为1MHZ,转换时间为1US。 图二 模拟信号采集电路2、数据处理模块电路该电路主要完成将接受到的ADC0809转换输出的二进制数值进行BCD码的转换,并根据设计要求完成8路数值轮流显示的功能,故需借助单片机来完成编程功能。在本设计中,采用了AT89S52单片机,AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统

8、可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,由单片机P0口接收二进制数据。设计中单片机中的I/O口都用做普通的输入输出口,由P1口接受AD0809送来的二进制数值,P0口是数码管数值输出口,P3.0P3.3作为数码管的位驱动口。为得到AD0809的时钟信号,在设计中,利用了单片机的ALE端口。ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8 位地址的输出脉冲。在一般情况下,

9、ALE 以晶振六分之一的固定频率输出脉冲, 为了得到1MHZ的时钟频率,在电路中采用了74LS74带预置和清除端的双D触发器74LS74,通过总原理图的接法,可以得到二分频器,连接至ALE端之后,可以得到满足AD0809转换的时钟脉冲。74LS74的引脚功能表如下表一所示。表一 74LS74功能表单片机的P2口输出控制信号,以此来控制ADC0809的转换。具体的数据处理过程,将在软件设计中进行详细介绍。3、数码显示模块电路根据设计要求,要求自动轮流显示模拟通道数,以及8路模拟电压数值,根据功能要求,结合实际的布局布线复杂程度及调试的难易程度,为简化电路起见,在设计中我们采用了动态显示,并用四个

10、连接的共阳数码管取代了单个的数码管,以做到调试简单,实现容易。由于根据数码管的参数要求,要求其驱动电流在10MA20MA之间,在电路中采用9012三极管进行扩流来驱动四个数码管;在本设计中段码显示是由P0口进行输出,为防止数码管灌入单片机的电流超出了允许的电流范围,在数码管与单片机的P1口之间接入了510欧姆的电阻。硬件电路图如图 所示。同样为了简化电路,且充分利用单片机的资源,采用了软件译码代替硬件译码的方式,来进行数值显示。由于人眼的视觉暂留时间为0.1S(100MS),所以每位显示的间隔不能超过20MS,并保持延时一段时间,以造成视觉暂留效果,给人看上去每个数码管总在亮,在本设计中每位数

11、值的显示时间为1MS,一个通道的数值显示包括了通道数及电压数值轮流显示,共轮番显示255次,所以每个通道的停留时间为1S。图三 数码显示模块电路 由于本设计中显示的数值不是实际的模拟电压值,而只是由AD0809采集的到模拟电压显示的二进制数,为使使用者能够通过数值得到实际的模拟电压数值,可以通过下表进行查阅,例如:如果数码管显示的数值为2136,则表示,模拟通道IN2的电压值为由数值量136代表的模拟电压2.6656V。详细转换情况见附件三。四、 软件设计1、主程序当进行一次测量后,将显示出每一通道的A/D转换值。每个通道的数据显示时间在1s左右。主程序在调用显示程序和测试程序之间循环,其流程

12、图如图四所示。2、初始化程序系统上电时,将70H77H内存单元清零,P2口置零。3、显示子程序采用动态扫描法实现四位数码管的数值显示。测量所得的A/D转换数据放在70H77H内存单元中。测量数据在显示时需经过转换成为十进制BCD码放在78H7BH中,其中7BH存放通道标志数。寄存器R3用来作为8路循环控制,R0用做显示数据地址指针。 4、模数转换测量子程序 模数转换测量子程序是用来控制对0809 8路模拟输入电压的A/D转换,并将对应的数值移入70H77H内存单元,其程序流程如图五所示。具体程序清单见附件二。启动测试取数据(P2.5=1)开始A/D转换结束p3.7=1?0809地址加1地址数小

13、于8?结束开始初始化调用A/D转换子程序调用显示子程序图四 主程序流程图 图五 A/D转换测量程序流程图 程序的资源分配:内部RAM70H77H是8路模拟信号经过AD转换得到的二进制数存储单元,78H7BH是分别作为数码管的的模拟通道数,电压数值的百位、十位、个位。五、 检测与调试按照总的电路图进行布局和布线,焊接完成之后,进行了系统检测,本电路的检测步骤如下:a.在通电之前,先检查电源与地端之间的电阻大小,在正常情况下,电阻值为无穷大,但实际情况为几千欧姆。如果电阻小,则说明电路中存在短路现象,可通过定点与动点结合的试触法进行测试,检查短路的引脚,并矫正。b.通电之后,检测单片机是否工作正常

14、,通过检测单片机的30脚ALE看是否有正弦波输出,且其电压值是否为电源电压的一半。如果单片机没工作,则看振荡电路是否正常,检测18,19脚的电压是否在2.2V左右。c.检测复位电路是否工作正常,按下复位开关之后,单片机的第9脚是否有高电平。如果没有,则检查复位电路是否连接正确。d.检测各集成芯片是否工作正常,即检测各芯片的电源端是否有电压。经检测完毕无异常情况之后,可以通过烧写器下载程序进行调试。以下是在本次调试过程当中遇到的问题:a.数码管只亮了后面两个,经检测数码管是好的,通过检测电路焊接情况,由于存在虚焊的情况,经矫正之后数码管亮了三个,为检查唯一一个不亮的数码管,采用了程序检测与硬件检测相结合的方法,最后得出结论三极管是坏的,换掉三极管之后,数码管工作完全正常。b.在数码管显示时,发现数码管在初次采样显示为00,经调节程序的顺序并修改,从程序上电之初就开始轮流采集八路模拟电压,通过数码管显示,可以得到标准的电压数值量。c.为检测得到的电压数值量与其代表的模拟电压是否相一致,用数字电压表测量模拟量与理论计算得到的模拟量进行比较,在开始检测时出现了较大的差值,经过检测发现,电压输入端存在虚焊的现象,经矫正,得到的测量值与理论值之间的误差为0.01左右,满足题目的精度要求。六、 系统改进设想本

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号