您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 简易数字电压表的设计 Microsoft Word 文档
题目:简易数字电压表的设计姓名:余宏段坤张涛学号:063622037063622034063622017指导老师:邓方雄设计时间:2009.4—2009.5电子与信息工程学院单片机原理及应用课程设计报告书目录1.引言.................................................11.1.设计意义................................................11.2.系统功能要求............................................11.3.本组成员所做的工作......................................12方案设计..............................................22.1系统的设计任务..........................................22.2设计方案................................................22.3软硬件开发环境..........................................33硬件设计..............................................23.1单片机主电路设计........................................33.2测量、转换电路设计......................................53.3显示电路设计............................................74软件设计.............................................74.1主程序设计.............................................114.2模块程序设计...........................................125系统调试.............................................106设计总结.............................................107附录.................................................11附录7.1硬件原理图.........................................16附录7.2程序清单...........................................178参考文献............................................20简易数字电压表的设计单片机原理及应用课程设计1简易数字电压表的设计1.引言1.1.设计意义本文介绍了基于89c51单片机的一种8路输入电压测量电路,该电路采用ADC0809作为A/D转换元件。1.2.系统功能要求简易数字电压表可以测量范围0至5伏范围内的8路输入电压值,并在4位LED数码管上轮流显示或选择显示。其测量最小分辨率为0.02V。本系统主要包括四大模块:数据采集模块、控制模块、显示模块、A/D转换模块。绘制电路原理图与工作流程图,并进行调试,最终设计完成了该系统的硬件电路。在软件编程上,采用了汇编语言进行编程,开发了显示模块程序、通道切换程序、A/D转换程序。1.3.本组成员所做的工作张涛:程序编写及调试,帮助检测硬件电路余宏:硬件焊接,系统测试段坤:焊接部分电路、帮助系统测试、论文撰写、心得总结。2方案设计2.1系统的设计任务设计单片机主电路、数据采集接口电路、LED显示电路、拨码控制电路,能够实现对8路电压值进行测量,能够显示当前测量通道号及电压值,电压精度小数点后2位,可以通过键盘选择循环显示8路的检测电压值和指定通道的检测电压值。2.2设计方案将数据采集接口电路输入电压传入ADC0809数模转换元件,经转换后通过D0至D7与单片机P0口连接,把转换完的模拟信号以数字信号的信号的形式传给单片机,信号经过单片机处理从LED数码显示管显示。拨码开关连P3口,实现通道选择。简易数字电压表的设计单片机原理及应用课程设计2P2口接数码管位选,P1接数码管,实现数据的动态显示,如下图所示:图2.1系统总体方案结构图2.3软硬件开发环境硬件选择:选择89c52作为单片机芯片,选用8段共阴极LED数码管实现电压显示,选用独立式按键作为程序的跳转与选择,利用ADC0809作为数模转换芯片,利用P0至P4的各个串口来进行不同设备间的连接,计算机进行汇编,H51/L仿真器,单片机多功能实验箱。软件开发环境:用Protel99SE软件画电路图。能够实现对8路电压值进行测量,能够显示当前测量通道号及电压值,电压精度小数点后1位,可以通过键盘选择循环显示8路的检测电压值和指定通道的检测电压值。3硬件设计3.1单片机主电路设计在本次课题设计中我们选择了8951芯片,其具有功能强、体积小、成本低、功耗小等特点,它可单独地完成现代工业控制所要求的智能化控制功能,能在软件的控制下准确、迅速、高效地完成程序设计者事先规定的任务。3.1.1复位电路复位电路如图3.1.1所示,单片机系统常常有上电复位和操作复位两种。上电复位是指单片机上点瞬间,要在RST引脚上出现宽度大于10ms的正脉冲,才能使单片机进入复位状态。操作复位是指用户按下“复位”按钮使单片机进入复89c51P0P1P2ALEP3数码管位选拨码开关ADC0809D0~D7IN0:IN7CLOCKVREF+VREF-简易数字电压表的设计单片机原理及应用课程设计3位状态。图3.1复位电路图3.1.2晶振电路晶振电路用于产生单片机工作所需的时钟信号,使用晶体震荡器时,c2,c3取值20~40PF,使用陶瓷震荡器时c2,c3取值30~50PF。在设计电路板时,晶振和电容应尽量靠近芯片,以减小分布电容,保证震荡器的稳定性。18引脚接XTAL1,19引脚接XTAL2,20引脚接地。图3.2晶振电路图简易数字电压表的设计单片机原理及应用课程设计43.2测量、转换电路设计使用ADC0809作为数模转换元件,其引脚图如3.3所示:图3.3数模转换元件ADC0809是带有8:1多路模拟开关的8位A/D转换芯片,所以它可有8个模拟量的输入端,由芯片的A,B,C三个引脚来选择模拟通道中的一个。A,B,C三端分别与89C51的P0.0~P0.2相接。地址锁存信号(ALE)和启动转换信号(START),由P2.6和/WR或非得到。输出允许,由P2.6和/RD或非得到。时钟信号,可有89C51的ALE输出得到,不过当采用12M晶振时,应该先进行二分频,以满足ADC0809的时钟信号必须小于640K的要求。图3.4数据转换系统电路图简易数字电压表的设计单片机原理及应用课程设计53.3显示电路设计3.3.1LED数码管构成LED数码管显示器是由发光二极管显示字段的显示器件,也称为数码管。其外形结构如图所示。它由8个发光二极管构成,通过不同的组合可用来显示0-9、A-F及小数点“.”等字符。数码管有共阴极和共阳极两种结构规格,如图2.5所示。图中电阻为外接。共阴极数码管的发光二极管阴极共地,当某发光二极管的阳极为高电平时,二极管点亮;共阳极数码管的发光二极管是阳极,并接高电平,对于需点亮的发光二极管将其阴极接低电平即可。7段发光二极管,在加上1个小数点位,共计8段,因此提供给LED显示器的字形码正好一字节。数码管原理电路图:图3.5(a)共阴极图3.5(b)共阳极图3.5(C)字段显示简易数字电压表的设计单片机原理及应用课程设计63.4.2显示方式(1)静态显示方式直接利用并行口输出。LED显示工作于静态显示方式时,各位的共阴极连接在一起接地;每位的段选线分别于一个8位的锁存输出相连。一般称之为静态显示,是由于显示器中的各位相互独立。而且各位的显示字符一经确定,相应锁存器的输出将维持不变,直到显示另一个字符为止。利用通信号串行输出。在实际应用中,多位LED显示时,为了简化电路,在系统不需要通信功能时,经常采用串行通信口工作方式0,外接移位寄存器74LS164、CD4094来实现静态显示。(2)动态显示方式对多位LED显示器的动态显示,通常都时采用动态扫描的方法进行显示,即逐个循环点亮各位显示器。这样虽然在任一时刻只有一位显示器被点亮,但是由于间隔时间较短,且人眼具有视觉残留效应,看起来与全部显示器持续点亮一样。为了实现LED显示器的动态扫描,除了要给显示器提供的输入之外,还要对显示器加位选择控制,这就是通常所说的段控和位控。因此多位LED显示器接口电路需要有两个输出口,其中一个用于输出8位控信号;另一个用于输出段控信号,其连接图如下。图3.6LED显示电路简易数字电压表的设计单片机原理及应用课程设计7七段LED段选码表3.1:显示字符共阴极段显示字符共阴极段03FHC39H106HD5EH25BHE79H34FHF71H466HP73H56DHU3EH67DHΓ31H707Hy6EH87FH8.FFH96FH“灭”00HA77H//B7CH//4软件设计4.1主程序设计4.1.1工作流程首先拨动拨码开关k1,如果是低电平,程序转向选择通道程序,拨动k2的次数即是选择的通道号,拨动k3表示确认。转向数据读取程序,再到显示程序,显示出通道号和电压值。如果k1是高电平,则转向循环显示程序,即先显示第0路最后显示第7路电压值和相应通道号。4.1.2存储空间定义安排60H用于存放A/D转换结果,30H、31H、32H分别存储显示用的三位数据表4.1存储空间定义表:70-77H用于存放A/D转换结果7AH电压值整数部分79H电压值十分位78H电压值百分位7BH选择的通道号简易数字电压表的设计单片机原理及应用课程设计84.2模块程序设计4.2.1A/D转换测量程序A/D转换的常用方法有:①计数式A/D转换,②逐次逼近型A/D转换,③双积分式A/D转换,④V/F变换型A/D转换。在这些转换方式中,记数式A/D转换线路比较简单,但转换速度较慢,所以现在很少应用。双积分式A/D转换精度高,多用于数据采集及精度要求比较高的场合,如5G14433(31/2位),AD7555(41/2位或51/2位)等,但速度更慢。逐次逼近型A/D转换既照顾了转换速度,有具有一定的精度,这里选用的是逐次逼近型的A/D转换芯片ADC0809。采用中断控制的方式实现,不浪费时间,效率较高。图4.2A/D转换测量程序流程图开始启动转换读取数据0809地址加1小于0008H结束中断请求中断服务N简易数字电压表的设计单片机原理及应用课程设计94.2.2显示程序对多位LED显示器的动态显示,通常都是采用动态扫描的方法进行显示,即逐个循环点亮各位显示器。这样虽然在任一时刻只有一位显示器被点亮,但是由于间隔时间较短,且人眼具有视觉残留效应,看起来与全部显示器持续点亮一样。为了实现LED显示器的动态扫描,除了要给显示器提供的输入之外,还要对显示器加位选择控制,这就是通常所说的段控和位控。因此多位LED显示器接口电路需要有两个输出口,其中一个用于输出8位为控信号;另一个用于输出段控信号。图4.3多位LED显示器的动态显示流程图读取判断单元显示通道号显示电压整数部分显示电压十分位返回开始程序7AH79H78H显示电压百分位7BH简易数字电压表的设计单片机原理及应用课程设计105系统调试按照电原理图连接好硬件电路,并通过编译器进行源程序编译及仿真调试,烧录好程序后进行软硬件联调。程序可分为数据采集系统、数据转换系统、显示系统和按键控制系统,这四部分先独立测试,然后整体调试。接通电源后用万用表测试调理电路的输入端电压是否为+5V,若为+5V则电源连接正确,LED是否进行轮流显示或单
本文标题:简易数字电压表的设计 Microsoft Word 文档
链接地址:https://www.777doc.com/doc-5499658 .html