单片机课程设计---基于单片机的数字电压表设计

上传人:aa****6 文档编号:38366918 上传时间:2018-05-01 格式:DOC 页数:22 大小:1.37MB
返回 下载 相关 举报
单片机课程设计---基于单片机的数字电压表设计_第1页
第1页 / 共22页
单片机课程设计---基于单片机的数字电压表设计_第2页
第2页 / 共22页
单片机课程设计---基于单片机的数字电压表设计_第3页
第3页 / 共22页
单片机课程设计---基于单片机的数字电压表设计_第4页
第4页 / 共22页
单片机课程设计---基于单片机的数字电压表设计_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《单片机课程设计---基于单片机的数字电压表设计》由会员分享,可在线阅读,更多相关《单片机课程设计---基于单片机的数字电压表设计(22页珍藏版)》请在金锄头文库上搜索。

1、单片机原理及应用课程设计报告学学 院:院: 源与动力工程学院源与动力工程学院_班班 级:级:_建电建电 10011001_学学 号:号:_ _姓姓 名:名:_ _刘兹平刘兹平_ _时 间:2012-12-17 2012-12-21目目 录录任务书.1第一章 方案设计 .2第二章 硬件系统设计 .3第三章 软件设计 .7第四章 系统调试 .10小 结.11附录 1:原理图 .13附录 2:源程序 .14单片机原理及应用课程设计第 1 页 共 22 页任务书1、题 目:基于单片机的数字电压表设计2、设计要求:(1)利用单片机及 ADC0809 构成一个电压采集系统,实现8 通道循环采样,循环显示。

2、(2)显示采用 ZLG7290,显示精度到小数点后一位。单片机原理及应用课程设计第 2 页 共 22 页第一章方案设计1、总体设计方案本设计使用 ADC0809 对模拟信号进行转换,然后经过AT89C51 转换后的结果来进行运算和处理,然后由数码管直接显示数字电压信号,其中分辨率为 0.02v。用电位器控制输入电压,经 ADC0809 模数转换,然后数据被单片机采集,并经过单片机利用相应的算法进行调整,最后利用串口将处理好的数据输出至数码管。其中 ADC0809 通过 IN0IN7 采集模拟电压信号送给单片机,单片机将采集来的信号通过一定的处理然后通过串口输出至共阳极的 LED 数码管显示采集

3、到的电压值。2、总体设计框图时钟电路 复位电路A/D 转换电路测量电压输入显示系统AT89C51 P1 P2 P2 P0 单片机原理及应用课程设计第 3 页 共 22 页第二章硬件系统设计1、硬件系统设计思路8 路数字电压表应用系统硬件电路由单片机、A/D 转换器、数码管显示电路等组成。ADC0809 具有 8 路模拟量输入通道 IN0-IN7,通过 3位地址输入端 C、B、A(引脚 23-25)进行选择。引脚 22 为地址锁存控制端 ALE,当输入为高电平时,C、B、A 引脚输入的地址锁存于 ADC0809 内部是锁存器中,经内部译码电路译码选中相应的模拟通道。引脚 6 为启动转换控制端 S

4、TART,当输入一个 2s 宽的高电平脉冲时,就启动 ADC0809 开始对输入通道的模拟量进行转换。引脚 7 为 A/D 转换器,当开始转换时,EOC 信号为低电平,经过一段时间,转换结束,转换结束信号EOC 输出高电平,转换结果存放于 ADC0809 内部的输出数据寄存器中。引脚 9 脚为 A/D 转换数据输出允许控制端 OE,当 OE为高电平时,存放于输出数据锁存器中的数据通过 ADC0809 的数据线 D0D7 输出。引脚 10 为 ADC0809 的时钟信号输入端CLOCK。在连接时,ADC0809 的数据线 D0D7 与 AT89S52 的 P0口相连接,ADC0809 的地址引脚

5、、地址锁存端 ALE、启动信号START、数据输出允许控制端 OE 分别与 AT89S52 的 P2 口相连接,转换结束信号 EOC 与 AT89S52 的 P3.7 相连接。时钟信号单片机原理及应用课程设计第 4 页 共 22 页输入端 CLOCK 信号,由单片机的地址锁存信号 ALE 得到。2、模块分析(1)AT89C51 单片机 P0 口:P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门电流。当 P1 口的管脚第一次写 1 时,被定义为高阻输入。P0 能够用于外部程序数据存储器,它可以被定义为数据/ 地址的第八位。在这里 P0 口作为输入与输出分别与ADC0808

6、 的输出端和 LCD 显示的输入端相连,且 P0 外部被阻值为 1K 的电阻拉高。 P2 口:P2 口为一个内部上拉电阻的 8 位双向 I/O 口,P2口缓冲器可接收,输出 4 个 TTL 门电流,当 P2 口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时,P2 口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。这里只用到了P2.0P2.3 四个端口,其中 P

7、2.1P2.3 都是作为输出端口控制显示电路的寄存器选择、读写信号和使能端口。 P3 口:P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,单片机原理及应用课程设计第 5 页 共 22 页可接收输出 4 个 TTL 门电流。当 P3 口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3 口将输出电流(ILL)这是由于上拉的缘故。 P3 口也可作为 AT89C51 的一些特殊功能口,在这里用到了 P3.3 /INT1(外部中断 1) 、 P3.6 /WR(外部数据存储器写选通) 、P3.7 /RD(外部数据存储器读选通) 。(2)A/D 转换IN0IN7

8、 为 8 路模拟量输入端,这里只接一路电压信号,其输入信号是由直流电源及可调电阻提供。 OUT1OUT8 为 8 位二进制数字量输出端,其另一端连接到AT89C51 单片机进行数值转换。 ADDA、ADDB、ADDC 为 3 位片选地址输入线,用于选通 8路模拟输入中的一路。 ALE 为地址锁存允许信号,由单片机 P3.6 口写信号与P2.0 口相或取反输入,高电平有效。 START 为 AD 转换启动脉冲输入端,由单片机 P3.6 口写信号与 P2.0 口相或取反输入一个正脉冲使其启动(脉冲上升沿使 0808 复位,下降沿启动 A/D 转换) 。 EOC 为 AD 转换结束信号,当 AD 转

9、换结束时,此端输出一个高电平取反给 P3.3 口(转换期间一直为低电平) 。 单片机原理及应用课程设计第 6 页 共 22 页OE 为数据输出允许信号,高电平有效。当 AD 转换结束时,此端由单片机 P3.7 读信号与 P2.0 口相或后取反输入一个高电平,才能打开输出三态门,输出数字量。 (3)显示电路 RS 为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。由单片机 P2.1 口控制R/W 为读写信号线,高电平时进行读操作,低电平时进行写操作。当 RS 和 R/W 共同为低电平时可以写入指令或者显示地址,当 RS 为低电平 R/W 为高电平时可以读忙信号,当 RS 为高电平 R

10、/W 为低电平时可以写入数据。由单片机 P2.2 口控制E 端为使能端,当 E 端由高电平跳变成低电平时,液晶模块执行命令。由单片机 P2.3 口控制D0D7 为 8 位双向数据线。由单片机 P0 口输入,经过阻值为 1K 的上拉电阻连接。单片机原理及应用课程设计第 7 页 共 22 页第三章软件设计1、设计说明本实验采用 AT89C51 单片机芯片配合 ADC0809 模/数转换芯片构成一个简 易的数字电压表,原理电路如图 1-1 所示。该电路通过 ADC0809 芯片采样输入口 AI0 输入的 05V 的模拟量电压,经过模/数转换后,产生相应的数字量经过其输出通道 D0D7 传送给 AT8

11、9C51 芯片的 F0 口。AT89C51 负责把接收到的数字量经过数据处理,产生正确的 7 段数码管的显示段码,并通过 P1 口传送给数码管。同时它还通过其三位 I/O 口 P3.0、P3.1、P3.2 产生位片选信号,控制数码管的亮灭。另外,AT89C51 还控制着 ADC0809 的工作。其 ALE 管脚为 ADC0809 提供了 1MHZ 工作的时钟脉冲;P2.3 控制 ADC0809 的地址锁存端(ALE); P2.4 控制 ADC0809 的启动端(START); P2.5 控制 ADC0809 的输出允许端(OE); P3.7 控制 ADC0809 的转换结束信号(EOC) 。2

12、、主程序设计主程序包含初始化部分、调用 A/D 转换子程序和调用显示程序,如图所示。初始化部分包含存放通道数据缓冲区初始化和显示缓冲区初始化。单片机原理及应用课程设计第 8 页 共 22 页3、A/D 转换子程序设计A/D 转换子程序用于对 ADC0809 的 8 路输入模拟电压进行A/D 转换,并将转换的数值存入 8 个相应的存储单元中,如图所示。A/D 转换子程序每隔一定时间调用一次,即隔一段时间对输入电压采样一次。单片机原理及应用课程设计第 9 页 共 22 页4、显示子程序设计显示子程序采用动态扫描法实现八位数码管的数值显示。高位数码管显示通道数,低两位显示所测电压数值。测量所得的 A

13、/D 转换数据放在 70H 内存单元中,测量数据在显示时需转换成 10 进制 BCD 码放在 66H6DH 单元中。寄存器 R1 用作显示数据地址指针。单片机原理及应用课程设计第 10 页 共 22 页第四章系统调试1、由于单片机为 8 位处理器,当输入电压为 5.00V 时,输出数据值为 255(FFH)因此单片机最大的数值分辨率为0.0196V(5/255) 。这就决定了该电压表的最大分辨率(精度)只能达到 0.0196V。测试时电压数值的变化一般以 0.02 的电压幅度变化,如要获得更高的精度要求,应采用 12 位、13 位的A/D 转换器或者使用双字节指令。2、由于实验箱只有两个电位器

14、接口,因此要实现八通道,可通过其它不用接线口串联实现等电位,进而实现模拟电压八通道输入。3、当显示过快时可通过改变程序设置跳转时间,可便于观察。单片机原理及应用课程设计第 11 页 共 22 页小 结经过一个多星期的不断学习、不断尝试、不断提问,单片机课程设计终于完成了。课题不是很难,但是由于是第一次接触这种类型的学习过程,所以一开始效率有点低,主要是无从下手,不知该做什么。课程设计前一天我在网上搜索了很多关于课题的文档资料,有一定参照作用,但是也有很多不同之处,比如选用的单片机器件、A/D 转换器件或者显示器件的不同,往往会令我在设计时不知如何正确接线。本次课程设计是理论与实践相结合的一次实

15、用性学习,要学会学以致用,将所学知识用到实处。这在编程调试时尤其突出重要,比如小数点的显示,精度的提高,误差的减小,这些内容一部分取决于器件的优劣,还有一部分来自于程序设计的好坏。所以,熟练汇编语言,熟练编程是我从此次课程设计中得到的一个重要启示,因为这将是我们将来学以致用的关键。我的课题虽然是基于单片机的数字电压表设计,但是实际上就是一个数据采集的程序设计,只不过这里数据采集的是模拟电压罢了,采集后的数据然后通过 ZLG7290 显示出来。显示程序来源于以前的实验,我的 U 盘里面正好有,因此节省了不少力气。其次在调试程序仿真时,需要认真仔细,随机应变。课程设计时间虽短暂,却是另一种完全不同的学习过程,它让单片机原理及应用课程设计第 12 页 共 22 页我意识到理论联系实践的重要性以及应用时可能会出现很多意想不到

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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

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