单片机电子万年历(含程序)
- 格式:doc
- 大小:409.00 KB
- 文档页数:25
CHANGZHOU INSTITUTE OF TECHNOLOGY
科研实践
项目名称: 电子万年历设计
二级学院:电子信息与电气工程学院
专业:电气工程及其自动化班级: 10 电二
学生姓名:祝学东学号: 10020442
指导教师:庄志红职称:副教
授
起止时间: 2013年12月9日—2013年12月20日
摘要
本设计是电子万年历。具备三个功能:能显示:年、月、日、时、分、秒、星期,并具有可调整日期和时间功能。
该电子万年历使用12MHZ晶振与单片机AT89C52相连接,通过软件编程的方法实现了以24小时为一个周期,同时显示小时、分钟和秒的要求。利用单片机定时器及计数器产生定时效果通过编程形成数字钟效果,再利用数码管动态扫描显示单片机内部处理的数据。同时通过端口读入当前外部控制状态来改变程序的不同状态,实现不同功能。
电子万年历设计与制作可采用数字电路实现,也可以采用单片机来完成。若用数字电路完成,所设计的电路相当复杂,大概需要十几片数字集成块,其功能也主要依赖于数字电路的各功能模块的组合来实现,焊接的过程比较复杂,成本也非常高。若用单片机来设计制作完成,由于其功能的实现主要通过软件编程来完成,这样一来就降低了硬件电路的复杂性,从而使得其成本降低,更适合我们大学生自主研发。
AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。
关键词:单片机数字显示动态扫描时间日期可调
目录
第一章设计论证及要求 1
1.1设计应用意义 1
1.2设计方案论证 1
1.2.1 单片机芯片选择 1
1.2.2显示模块选择 1
1.2.3时钟芯片选择 2
1.3设计流程 2
第二章系统硬件电路设计 3
2.1 CPU时钟 3
2.2 主控芯片AT89C52模块 3
2.3 显示控制电路的设计及原理 4
2.4 按键电路设计 6
第三章系统软件设计 7
3.1 软件主流程 7
3.2初始化程序及宏定义 9
3.3主程序 10
3.4显示子程序 12
3.5 按键子程序 15
3.6 延时子程序 16
第四章系统调试与分析 17
第五章设计总结 20
第六章参考文献 21
附一元件清单 22
附二仿真原理图 23
附三程序清单 24
附四实物图 35
第一章设计论证及要求
1.1设计应用意义
二十一世纪是数字化技术高速发展的时代,而单片机在数字化高速发展的时代扮演着极为重要的角色。电子万年历的开发与研究在信息化时代的今天亦是当务之急,因为它应用在学校、机关、企业、部队等单位礼堂、训练场地、教学室、公共场地等场合,可以说遍及人们生活的每一个角落。所以说单片机的开发是国家之所需,社会之所需,人民之所需。
由于社会对信息交换不断提高的要求及高新技术的逐步发展,促使电子万年历发展并且投入市场得到广泛应用。
1.2设计方案论证
1.2.1 单片机芯片选择
方案一: 采用89C51芯片作为硬件核心,采用Flash ROM,内部具有4KB ROM 存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术, 当在对电路进行调试时,由于程序的
错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。
方案二: 采用AT89C52,片内ROM全都采用Flash ROM;能以3V的超底压工作;同时也与MCS-51系列单片机完全该芯片内部存储器为8KB ROM 存储空间,同样具有89C51的功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。
但由于课程学习是主要以AT89C51为主,因此选择AT89C52。
1.2.2 显示模块选择
方案一:采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以也不用此种作为显示.
方案二:采用LED数码管动态扫描,LED数码管价格适中,对于显示数字最合适,而且采用动态扫描法与单片机连接时,占用的单片机口线少。
所以采用了LED数码管作为显示。
1.2.3 时钟芯片选择
方案一:采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,位的RAM做为数据暂存区,工作电压 2.5V~5.5V范围内,2.5V时耗电小于300nA。此方案虽然时间精度高,但电路复杂,设计成本高,所以不采用。
方案二:直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。采用此种方案减少芯片的使用,节约成本。本次设计采用单片机提供秒信号,用定时器T0的模式二(8位自动重装计数初值的计数值)。1.3设计流程
进行扩展
第二章系统硬件电路设计
2.1 单片机时钟信号
单片机由外部电路提供时钟信号。本实验使用11.0592MHz的晶振、30pF的电容组成单片机的时钟电路。如图2-1所示:
图2-1 时钟电路