单片机AT89C51数字电压表课程设计文档格式.docx

上传人:b****1 文档编号:13520244 上传时间:2022-10-11 格式:DOCX 页数:25 大小:280.43KB
下载 相关 举报
单片机AT89C51数字电压表课程设计文档格式.docx_第1页
第1页 / 共25页
单片机AT89C51数字电压表课程设计文档格式.docx_第2页
第2页 / 共25页
单片机AT89C51数字电压表课程设计文档格式.docx_第3页
第3页 / 共25页
单片机AT89C51数字电压表课程设计文档格式.docx_第4页
第4页 / 共25页
单片机AT89C51数字电压表课程设计文档格式.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

单片机AT89C51数字电压表课程设计文档格式.docx

《单片机AT89C51数字电压表课程设计文档格式.docx》由会员分享,可在线阅读,更多相关《单片机AT89C51数字电压表课程设计文档格式.docx(25页珍藏版)》请在冰豆网上搜索。

单片机AT89C51数字电压表课程设计文档格式.docx

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,程序转移到单路显示,按一次单路显示开关,地址加一,转换的模拟通道相应的加一,如果按下循环按键就返回循环显示的程序,功夫不负有心人,最后终于调试成功。

在此再次向带领我们这次课程设计的李晓秀老师说声:

谢谢!

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

当前位置:首页 > 考试认证 > 从业资格考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1