单片机AT89c51电子钟Word文档下载推荐.docx
《单片机AT89c51电子钟Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《单片机AT89c51电子钟Word文档下载推荐.docx(26页珍藏版)》请在冰豆网上搜索。
谢辉
完成时间:
2009年12月28日
摘要…………………………………………………………………...............................1
第一章引言………………………………………………………………......................2
1.1设计目的……………………………………………………………………................2
1.2设计任务……………………………………………………………………………....2
1.3设计思路……………………………………………………………………………....2
第二章方案选择……………………………………………………………….3
2.1单片机型号选择………...……………………………………………………….........3
2.2cpu选择………………………………………………………………4
2.3显示模块选择……………………………………………………………….4
2.4最终方案和系统组成………………………………………………………………………5
第三章主要硬件说明及设计..............................................................................................7
3.1AT89C51的介绍说明………………………………………………………………………7
3.2显示部件的设计…………………………………………………………………9
3.3驱动部件设计…………………………………………………………………9
3.4电源电路…………………………………………………………………9
3.5时钟电路…………………………………………………………………9
3.6复位电路…………………………………………………………………9
第四章软件系统的设计................................................................................................7
4.1电子钟的主程序………………………………………………………………………7
4.2电子钟的显示子程序…………………………………………………………………9
4.3参考程序与解释…………………………………………………………………9
第五章系统调试...............................................................................................7
5.1软件调试………………………………………………………………………7
5.2硬件调试………………………………………………………………9
第六章设计心得总结...........................................................................................7
第五章附录.......................................................................................................................13
附录1硬件电路原理图和连接图………………………………………………………....13
附录2电子钟程序清单……………………………………………………………………14
附录3元器件清单…………………………………………………………………………17
附录4实训产品照片………………………………………………………………………....18
参考文献..................................................................................................................................18
摘要
本次实训是基于AT89C51单片机电子钟的设计,对时、分、秒的显示的控制,时、分、秒用六位数码管显示LED数码管时钟电路采用24小时计时方式。
该电路采用AT89C51单片机,使用5V电池供电,只使用一个按键进行复位状态的控制以及正常显示等状态。
LED显示采用静态扫描方式实现,采用6M晶振。
最常见的电子钟通常使用单片机模块控制,一种用单片机原理实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有硬件成本低、计时准确、更长的使用寿命特点,因此得到了广泛的使用。
本次设计通过用单片机为主控制,通过电路仿真而实现。
首先使用ProteusProfessional软件进行绘制硬件电路图,用keil软件进行编程与调试,最终生成hex文件,传入单片机内部,从而实现仿真效果。
关键词:
电子钟、仿真、单片机
第一章引言
1.1设计目的
1、掌握单片机的结构、指令系统、单片机扩展方法和接口技术;
2、提高综合运用所学的理论知识独立分析和解决实际问题的能力;
3、掌握汇编语言程序设计及调试方法;
4、掌握单片机应用系统的设计思想。
二、课程设计内容
1.2设计任务
以AT89C51单片机控制的时钟,在LCD显示器上显示当前时间。
要求:
1)使用文字型LCD显示器显示当前时间。
2)显示格式为“时时:
分分:
秒秒”。
3)用4个功能键操作来设置当前的时间。
(1)K1——进入设置现在的时间。
(2)K2——设置小时。
(3)K3——设置分钟。
(4)K4——确认完成设置。
4)程序执行后工作指示灯LED闪动,表示程序开始执行,LCD显示“00:
00:
00”,然后开始计时。
1.3设计思路
电子钟的计时器的硬件电路如图所示,采用AT89C51单片机,最小化应用设计;
此次设计,我们采用静态显示的方案来完成电子钟的设计。
采用共阳八段LED显示器,用74LS164来驱动LED数码管,采用6M晶振,有利于提高计时的精确性。
主要功能:
设计一个时钟系统,时钟时间在六位数码管上进行显示,从左到右依次为“时:
分:
秒”。
一上电,数码管显示起始时间为0时0分0秒,即数码管显示00.00.00,以后每秒钟时钟系统加1,最大显示值为23.59.59。
本次设计中,我们只用到了一个按键,此按键是用来控制电路复位的,我们将设计好的复位电路直接接在单片机的复位引脚(RST)上,这样程序在运行过程中就会自动查询该引脚上的电平,当该引脚电平为高电平时,则电路恢复初始状态,反之,则程序正常运行。
电子钟的硬件电路框图如下:
第二章方案选择
2.1单片机型号选择
通过对多种单片机性能的分析,最终认为89C51是最理想的电子时钟开发芯片。
89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器,而且它与MCS-51兼容,且具有4K字节可编程闪烁存储器和1000写/擦循环,数据保留时间为10年等特点,是最好的选择。
2.2cpu的型号选择
单片机芯片作为控制系统的核心部件,它除了具备微机CPU的数值计算功能外,还具有灵活强大的控制功能,以便实时检测系统的输入量、控制系统的输出量,实现自动控制。
在本次设计中采用单片机技术来实现数字钟的功能。
方案的设计可以从以下几个方面来确定。
微处理器的选择,AT89S51、52是2003年ATMEL推出的新型品种,除了完全兼容8051外,还多了ISP编程和看门狗功能。
虽然AT89S52的存储器容量比AT89S51的大。
但在本次设计中采用AT89S51单片机因为AT89C51足以满足我们设计的需要;
显示电路的设计,随着科技的发展,液晶显示的使用越来越方便,已被普遍的使用。
但由于液晶显示比较昂贵,另外其驱动也集成在一起,因此使用起来很方便。
在这里采用数码管显示;
校时电路的设计;
实时控制电路是时钟电路的一个重要组成部分,采用的是一个时钟芯片,单片机从中读取数据送到显示器上显示,从而实现数字钟的功能;
还有一些其他控制电路如复位电路、时钟电路等。
通过这些控制电路的连接构成了完整的电路。
2.3显示模块选择
采用LCD,电路比较简单,且在软件设计上也相对简单,具有低功耗功能,能够满足设计最优的要求。
因此,在设计中我采用的显示模块是LCD显示。
2.3最终方案和系统组成
①对此次数字时钟的方案选定为:
采用AT89C52作为主控制系统;
并由其定时计数器提供时钟;
LCD作为显示电路,来实现功能。
②系统由AT89C51、LED数码管、按键、74LS245等部分构成,能实现时间的调整、定时时间的设定,输出等功能。
系统的按键有K1、K2、K3,K1对秒校对,K2对分校对,K3对时校对。
3.1AT89C51介绍说明
AT89C51是美国Intel公司生产的低电压,高性能CHMOS8位单片机,片内含4kbytes的可反复擦写的只读程序存储器(PEROM)和蔼可亲128bytes的随机存取数据存储器(RAM),器件采用Intel公司的高密度、非易失性存储技术生产,片内置通用4位中央处理器(CPU)和Flash存储单元,功能强大AT89C51单片机适合于许多较为复杂控制应用场合。
AT89C51引脚图
3.1.1引脚功能
Vcc(40):
电源电压GND(20):
接地
P3.0RXD(串行输入口)P3.1TXD(串行输出口)
RST(9):
复位信号输入端。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;
当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1(18):
振荡器反相放大器的及内部时钟发生器的输入端。
XTAL2(19):
振荡器反相放大器的输出端。
通过XTAL1、XTAL2外接晶振后,即可构成自激振荡器,驱动内部时钟发生器向主机提供时钟信号。
3.2显示部件设计
如图所示由8个共阴极的数码管组成时、分、秒和分隔符的显示。
P0口的8条数据线P0.0至P0.7分别与74LS245的A口对应相接,增大AT89C51的带负载能力;
P3口对应接八个数码管的公共端,通过程序控制数码管的亮与灭,这
样通过P0口送出一个存储单元的高位、低位BCD显示代码,通过P3口送出扫描选通代码轮流点亮LED1至LED8,就会将要显示的数据在数码管中显示出来。
从P0口输出的代码是BCD码,从P3口输出的就是位选码。
这是扫描显示原理。
3.3驱动部件设计
本设计的驱动电路采用74LS164,74LS164是最常见的移位寄存器,移位寄存器是暂时记忆数据的“寄存器”,其特征是具有将数据向左或向右移动的功能。
移位寄存器有各种形式。
按存数据的位数有4位、8位等,按“输入/输出数据”形式有“串