单片机AT89C51数字电压表课程设计文档格式.docx
- 文档编号:13520244
- 上传时间:2022-10-11
- 格式:DOCX
- 页数:25
- 大小:280.43KB
单片机AT89C51数字电压表课程设计文档格式.docx
《单片机AT89C51数字电压表课程设计文档格式.docx》由会员分享,可在线阅读,更多相关《单片机AT89C51数字电压表课程设计文档格式.docx(25页珍藏版)》请在冰豆网上搜索。
4)完成应用程序设计与仿真调试;
*5)进行应用程序的调试;
主要设计条件
1、MCS-51单片机实验操作台1台;
2、PC机及单片机调试软件;
3、Proteus软件
4、实验室调试
说明书格式
1.封面
2.课程设计任务书
3.目录
4.系统总体方案设计
5.系统硬件设计
6.软件设计(包括流程图)
7.系统的安装调试说明
8、总结
9、参考文献
10、附录
11、课程设计成绩评分表。
进度安排
第一周
星期一、上午:
布置课题任务,课题介绍及讲课。
下午:
借阅有关资料,总体方案讨论。
星期二、确定总体方案,学习与设计相关内容。
星期三、各部分方案设计。
星期四、各部分设计。
星期五、设计及上机调试。
第二周
星期一:
设计及上机调试。
星期二:
调试,中期检查。
星期三:
调试、写说明书。
星期四--星期五上午:
写说明书、完成电子版并打印成稿。
星期五下午:
答辩。
参考文献
参考文献
1、《单片机原理与应用》王迎旭等编机械工业出版社
2、《51系列单片机设计实例》楼然苗等编北京航空航天大学出版社
3、《计算机硬件技术基础实验教程》黄勤等编重庆大学出版社
4、《微型计算机接口技术及应用》刘乐善主编华中科技大学出版社
5、《单片微型计算机原理及接口技术》陈光东等编
华中科技大学出版社
2总体方案设计
2.1设计要求
⑴以MCS-51系列单片机为核心器件,组成一个简单的直流数字电压表。
⑵采用1路模拟量输入,能够测量0-5V之间的直流电压值。
⑶电压显示用4位一体的LED数码管显示,至少能够显示两位小数。
⑷尽量使用较少的元器件。
2.2
设计思路
⑴根据设计要求,选择AT89C51单片机为核心控制器件。
⑵A/D转换采用ADC0808实现,与单片机的接口为P1口和P2口的高四位引脚。
⑶电压显示采用4位一体的LED数码管。
⑷LED数码的段码输入,由并行端口P0产生:
位码输入,用并行端口P2低四位产生。
⑸独立键盘:
按键传送输入信息;
由于本次设计有4个按键故直接使用
4个I/O口来对应4个按键。
2.3
设计方案
硬件电路设计由7个部分组成;
A/D转换电路,AT89C51单片机系统,LED显示系统、时钟电路、复位电路、按键控制电路以及测量电压输入电路。
硬件电路设计框图如图2.1所示。
如图2.1
3硬件电路设计
3.1芯片的选择
本次课程设计选用AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含有4KB的可反复擦写的只读程序存储器和128字节的随机存储器。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容,由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,它为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
AT89C51功能性能:
与MCS-51成品指令系统完全兼容;
4KB可编程闪速存储器;
寿命:
1000次写/擦循环;
数据保留时间:
10年;
全静态工作:
0-24MHz;
三级程序存储器锁定;
128*8B内部RAM;
32个可编程I/O口线;
2个16位定时/计数器;
5个中断源;
可编程串行UART通道;
片内震荡器和掉电模式。
外形及引脚排列如图3.1所示。
图3.1AT89C51芯片模型
3.1.2主要功能特性
(1)4K字节可编程闪烁存储器。
(2)32个双向I/O口;
128×
8位内部RAM。
(3)2个16位可编程定时/计数器中断,时钟频率0-24MHz。
(4)可编程串行通道。
(5)5个中断源。
(6)2个读写中断口线。
(7)低功耗的闲置和掉电模式。
(8)片内振荡器和时钟电路。
3.2时钟电路设计
单片机中CPU每执行一条指令,都必须在统一的时钟脉冲的控制下严格按时间节拍进行,而这个时钟脉冲是单片机控制中的时序电路发出的。
CPU执行一条指令的各个微操作所对应时间顺序称为单片机的时序。
MCS-51单片机芯片内部有一个高增益反相放大器,用于构成震荡器,XTAL1为该放大器的输入端,XTAL2为该放大器输出端,但形成时钟电路还需附加其他电路。
本设计系统采用内部时钟方式,利用单片机内部的高增益反相放大器,外部电路简,只需要一个晶振和2个电容即可,如图3.1所示。
图3.2
3.3复位电路设计
本设计系统采用内部时钟方式,利用单片机内部的高增益反相放大器,外部电路简,只需要一个晶振和
2个电容即可,如图3.2所示。
图3.3
3.4按键电路设计
独立键盘:
4个I/O口来对应4个按键,如图3.3所示
图3.4
3.5显示电路设计
在应用系统中,设计要求不同,使用的LED显示器的位数也不同,因此就生产了位数,尺寸,型号不同的LED显示器供选择,在本设计中,选择4位一体的数码型LED显示器,简称“4-LED”。
本系统中前一位显示电压的整数位,即个位,后两位显示电压的小数位。
LED数码管模型如图3-6所示。
3.5.1LED数码管的接口简介
LED的段码端口A~G分别接至AT89C51的P1.0~P1.7口,位选端1~4分别接至P3.5、P3.4、P3.1、P3.0,如图3-7所示。
3.6A/D转换模块设计
ADC0808采用逐次比较的方法完成A/D转换,由单一的+5V电源供电。
片内带有锁存功能的8路选1的模拟开关,由A、B、C的编码来决定所选的通道。
ADC0809完成一次转换需100μs左右,它具有输出TTL三态锁存缓冲器,可直接连接到AT89C51的数据总线上。
通过适当的外接电路,ADC0808可对0~5V的模拟信号进行转换。
转换过程如下:
开始时,寄存器各位清零,转换时,先将最高位置1,把数据送入A/D转换器转换,转换结果与输入的模拟量比较,如果转换的模拟量比输入的模拟量小,则1保留,如果转换的模拟量比输入的模拟量大,则1不保留,然后从第二位依次重复上述过程直至最低位,最后寄存器中的内容就是输入模拟量对应的二进制数字量。
其原理框图如图3.4.1所示。
图3.6.1
3.6.2
ADC0808的外部引脚特征
ADC0808芯片有28条引脚,采用双列直插式封装,其引脚图如图3.6.2所示。
图3.6.2
下面说明各个引脚功能:
IN0-IN7(8条):
8路模拟量输入线,用于输入和控制被转换的模拟电压。
地址输入控制(4条):
ALE:
地址锁存允许输入线,高电平有效,当ALE为高电平时,为地址输入线,用于选择IN0-IN7上那一条模拟电压送给比较器进行A/D转换。
ADDA,ADDB,ADDC:
3位地址输入线,用于选择8路模拟输入中的一路,其对应关系如表3.4.3所示:
ADC0808通道选择表
表3.6.3
START:
START为“启动脉冲”输入法,该线上正脉冲由CPU送来,宽度应大于100ns,上升沿清零SAR,下降沿启动ADC工作。
EOC:
EOC为转换结束输出线,该线上高电平表示A/D转换已结束,数字量已锁入三态输出锁存器。
D1-D8:
数字量输出端,D1为高位。
OE:
OE为输出允许端,高电平能使D1-D8引脚上输出转换后的数字量。
REF+、REF-:
参考电压输入量,给电阻阶梯网络供给标准电压。
Vcc、GND:
Vcc为主电源输入端,GND为接地端,一般REF+与Vcc连接在一起,REF-与GND连接在一起.
CLK:
时钟输入端。
3.7总体电路图
图3.7
4软件设计
多路数字电压表系统软件程序主要有主程序、A/D转换子程序和中断显示程序组成。
4.1主程序
主程序包含初始化部分、调用A/D转换子程序和相应外部0中断显示电压数值程序,初始化部分包含存放通道的缓冲区初始化和显示缓冲区初始化。
另外,对于单路显示和循环显示,系统设置了一个标志位00H控制,初始化时00H位设置为0,默认为循环显示,当它为1时改变为单路显示控制,00H位通过单路、循环按键控制。
流程图如图4.1所示。
4.2A/D转换子程序
A/D转换子程序用于对ADC0808的4路输入模拟电压进行A/D转换,并将转换的数值存入4个相应的存储单元中,A/D转换子程序每隔一定时间调用一次,即隔一段时间对输入电压采样一次,如图4.2所示。
判断是否为0
4.3中断显示程序
当系统设置好后,一旦数据转换完成,便会进入外部中断0,然后在中断中读取转换的数值,处理数据并送数码管显示输出。
LED数码管采用软件译码动态扫描的方式。
在中断程序中包含多路循环显示程序和单路显示程序,多路循环显示程序把4个存储单元的数值依次取出送到4个数码管上显示,每一路显示一秒。
单路显示程序只对当前选中的一路数据进行显示。
每路数据显示时需经过转换变成十进制BCD码,放于4个数码管显示缓冲区中。
单路或多路循环显示通过标志位00H控制。
5电路仿真图
图6.1为4路通道用模拟电压表测得的理论值。
图6.1模拟电压表测量结果
图6.2为进行模拟仿真时的电路图
图6.2仿真时的电路图
6总结
经过两周的努力终于设计成功,LED的显示结果和直接用数字电压表测试模拟量输入所得结果几乎一致,误差完全在合理的范围之内。
由于仪器误差,LED显示最大值只能是4.9V,离标准最大值5.0V已经不远,达到预期目的,设计成功。
本设计参考了教材上第十一章89C51与ADC0809转换的接口连线,设计出电路图的连线,从并中理解了许多基本的知识和接线方法,在程序的设计与电压表调试的过程中中遇到了很多的问题,刚开始时四个数码管根本不显示,后来发现用的是共阳极的数码管,而设计是共阴极的,更换后数码管终于显示,但问题又出现了,单路显示和循环显示的开关不能控制电路的单路显示和循环显示,经过仔细地检查电路和修改程序,采用中断的方法,产生一次外部中断0,程序转移到单路显示,按一次单路显示开关,地址加一,转换的模拟通道相应的加一,如果按下循环按键就返回循环显示的程序,功夫不负有心人,最后终于调试成功。
在此再次向带领我们这次课程设计的李晓秀老师说声:
谢谢!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 AT89C51 数字 电压表 课程设计
![提示](https://static.bdocx.com/images/bang_tan.gif)