单片机电子万年历(含程序)

  • 格式:doc
  • 大小:409.00 KB
  • 文档页数:25

下载文档原格式

  / 25
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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 时钟电路