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

上传人:M****1 文档编号:548928950 上传时间:2023-08-31 格式:DOC 页数:39 大小:951.50KB
返回 下载 相关 举报
单片机电子万年历(含程序).doc_第1页
第1页 / 共39页
单片机电子万年历(含程序).doc_第2页
第2页 / 共39页
单片机电子万年历(含程序).doc_第3页
第3页 / 共39页
单片机电子万年历(含程序).doc_第4页
第4页 / 共39页
单片机电子万年历(含程序).doc_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《单片机电子万年历(含程序).doc》由会员分享,可在线阅读,更多相关《单片机电子万年历(含程序).doc(39页珍藏版)》请在金锄头文库上搜索。

1、CHANGZHOU INSTITUTE OF TECHNOLOGY科 研 实 践项目名称: 电子万年历设计 二级学院: 电子信息与电气工程学院 专业: 电气工程及其自动化 班级: 10 电二 学生姓名: 祝学东 学号: 10020442指导教师: 庄志红 职称: 副教授 起止时间: 2013年12月9日2013年12月20日 摘 要本设计是电子万年历。具备三个功能:能显示:年、月、日、时、分、秒、星期,并具有可调整日期和时间功能。 该电子万年历使用12MHZ晶振与单片机AT89C52相连接,通过软件编程的方法实现了以24小时为一个周期,同时显示小时、分钟和秒的要求。利用单片机定时器及计数器产生

2、定时效果通过编程形成数字钟效果,再利用数码管动态扫描显示单片机内部处理的数据。同时通过端口读入当前外部控制状态来改变程序的不同状态,实现不同功能。电子万年历设计与制作可采用数字电路实现,也可以采用单片机来完成。若用数字电路完成,所设计的电路相当复杂,大概需要十几片数字集成块,其功能也主要依赖于数字电路的各功能模块的组合来实现,焊接的过程比较复杂,成本也非常高。若用单片机来设计制作完成,由于其功能的实现主要通过软件编程来完成,这样一来就降低了硬件电路的复杂性,从而使得其成本降低,更适合我们大学生自主研发。AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的

3、Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。关键词:单片机 数字显示 动态扫描 时间日期可调 目 录第一章 设计论证及要求11.1设计应用意义11.2设计方案论证11.2.1 单片机芯片选择11.2.2显示模块选择11.2.3时钟芯片选择21.3设计流程2第二章 系统硬件电路设计32.1 CPU时钟32.2 主控芯片AT89C52模块32.3 显示控制电路的设计及原理42.4 按键电路设

4、计6第三章 系统软件设计73.1 软件主流程73.2初始化程序及宏定义93.3主程序103.4显示子程序123.5 按键子程序153.6 延时子程序16第四章 系统调试与分析17第五章 设计总结20第六章 参考文献21附一 元件清单22附二 仿真原理图23附三 程序清单24附四 实物图35III科研实践说明书第一章 设计论证及要求1.1设计应用意义 二十一世纪是数字化技术高速发展的时代,而单片机在数字化高速发展的时代扮演着极为重要的角色。电子万年历的开发与研究在信息化时代的今天亦是当务之急,因为它应用在学校、机关、企业、部队等单位礼堂、训练场地、教学室、公共场地等场合,可以说遍及人们生活的每一

5、个角落。所以说单片机的开发是国家之所需,社会之所需,人民之所需。 由于社会对信息交换不断提高的要求及高新技术的逐步发展,促使电子万年历发展并且投入市场得到广泛应用。1.2设计方案论证1.2.1 单片机芯片选择方案一: 采用89C51芯片作为硬件核心,采用Flash ROM,内部具有4KB ROM 存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术, 当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。方案二: 采用AT89C52,片内ROM全都采用Flash RO

6、M;能以3V的超底压工作;同时也与MCS-51系列单片机完全该芯片内部存储器为8KB ROM 存储空间,同样具有89C51的功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。但由于课程学习是主要以AT89C51为主,因此选择AT89C52。 1.2.2 显示模块选择方案一:采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以也不用此种作为显示.方案二:采用LED数码管动态扫描,LED数码管价格适中,对于显示数字

7、最合适,而且采用动态扫描法与单片机连接时,占用的单片机口线少。所以采用了LED数码管作为显示。1.2.3 时钟芯片选择方案一:采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,位的RAM做为数据暂存区,工作电压2.5V5.5V范围内,2.5V时耗电小于300nA。此方案虽然时间精度高,但电路复杂,设计成本高,所以不采用。方案二:直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。采用此种方案减少芯片的使用,节约成本。本次设计采用单片机提供秒信号,用定时器T0的模式二(8

8、位自动重装计数初值的计数值)。1.3设计流程熟悉硬件 了解各引脚功能分块设计各部分电路将分块的电路组合认真学习单片机汇编语言完成整体电路图确定变成结构和思路综合各程序完成整体程序编辑各个程序模块用Proteus画出电路图调试程序,进行修改对仿真问题进行改正画出仿真图进行仿真准备器件、搭接电路仿真成功软硬件结合,完成任务书要求验证硬件电路成功进行扩展 第二章 系统硬件电路设计2.1 单片机时钟信号单片机由外部电路提供时钟信号。本实验使用11.0592MHz的晶振、30pF的电容组成单片机的时钟电路。如图2-1所示:图2-1 时钟电路2.2 主控芯片AT89C52模块 AT89C52是一个低电压,

9、高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。图2-2 AT89C52管脚图AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口。3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Fl

10、ash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。2.3 显示电路的设计及原理 就时钟而言,通常可采用液晶显示或数码管显示。由于一般的段式液晶屏,需要专门的驱动电路,而且液晶显示作为一种被动显示,可视性相对较差;对于具有驱动电路和微处理器接口的液晶显示模块(字符或点阵),一般多采用并行接口,对微处理器的接口要求较高,占用资源多。另外,89C52本身无专门的液晶驱动接口,因此,本设计采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合。初始化时,由软件编写的指令就集中在显示功能的设置上。数码管引脚如图2-3所示。图2-3 数码管引脚定

11、义本设计采用动态扫描法,单片机P1.7控制第一只数码管,P1.6控制第二位,P1.5控制第三位,P1.4控制第四位,P1.3控制第五位,P1.2控制第六位, P0口控制八位数据,轮流选题六只数码管,先开通一只数码管,其余关闭,让P0显示数据,延秒一定时间后关闭数码管。设计如图2-4所示。图2-4 显示电路设计实物选用六位八段数码管LG3661AH,其管脚排列如图2-5所示。图2-5 6位共阴数码管管脚图2.4 按键电路设计由于我设计的是电子万年历,需要实现多种功能的显示,并要能够切换显示和调节年月日,因此,在设计过程中按键的设计就显得尤为重要。在设计过程中,按键选择P2口的前4位,一共采用了4

12、个按键,尽量在小的空间里实现最多的功能。其中MODE键是年月日与时间显示切换键,按下一次就能够更换一次显示位。在调整显示环境下年/时、月/分、日/秒键是显示调整位的的加1键,每按一次显示数字加1。设计如图2-5所示。图2-5 按键电路其中P2.0为年/时键,P2.1为月/分键,P2.2为日/秒/星期键,P2.3为模式键。第三章 软件设计3.1软件主流程开始时=24?秒=0;分+1月份=13?秒+1分=0;时+1分=60?秒=60?时=0;日+1日本月天数?日=1,;月份+1有T0中断?年=9999?月份=1;年+1年=00根据平润年及大小月查出本月天数YYYYYYNNNNNNN初始化启动定时器

13、T0,设置工作模式,装入计数初值允许T0中断调键盘扫描N调用显示子程序返回调用延时子程序返回3.2初始化程序及宏定义#include#include#define uchar unsigned char#define uint unsigned intsbit P1_2=P12;sbit P1_3=P13;sbit P1_4=P14;sbit P1_5=P15;sbit P1_6=P16;sbit P1_7=P17;sbit key_y_h=P20;sbit key_m_m=P21;sbit key_d_s=P22;sbit key_set=P23;uint tcnt;uint yearh=2

14、0;uchar flag,flag1,sec;uint week=1;uint min=30;uint hour=15;uint day=16;uint month=12; unint flag2=0;uint year=13;uchar sec_l,sec_h,min_l,min_h,hour_l,hour_h;uchar day_l,day_h,month_l,month_h,year_l,year_h;uchar code tab= 0x3F,/*0*/ 0x06,/*1*/ 0x5B,/*2*/ 0x4F,/*3*/ 0x66,/*4*/ 0x6D,/*5*/ 0x7D,/*6*/ 0x07,/*7*/ 0x7F,/*8*/ 0x6F,/*9*/ ;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号