基于At89C系列的电子万年历毕业论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于At89C系列的电子万年历毕业论文
目录
摘要 (2)
关键字 (2)
第一章概述 (4)
1.1 课题的背景研究意义 (4)
1.2 本课题实现的功能及要求 (4)
1.3 方案论证 (4)
1.4 章节安排 (4)
第二章系统硬件设计
2.1 硬件电路设计总框图 (5)
2.2 主控制器AT89C52的介绍 (5)
2.3 其余应用电路的介绍 (8)
第三章软件设计
3.1 软件设计总述 (13)
3.2 程序模块介绍 (13)
第四章调试和总结
4.1 硬件调试 (20)
4.2 软件调试 (20)
4.3 联调 (21)
第五章心得体会 (22)
参考文献
附录一汇编源程序 (23)
附录二仿真电路图 (35)
附录三参考文献 (36)
第一章概述
1.1 课题的背景、研究意义
随着电子技术的迅速发展,时间的流逝,从观察太阳、摆钟到现在的电子钟, 人类不断研究、不断创新。现市场的电子钟具有低功耗的实时时钟电路,它们可以对年、月、日、周日、时、分、秒进行计时,还具有润年补偿等功能,且使用寿命长、误差小、使用方便。电子万年历的出现给人们的生活带来的诸多方便。目前,国际上的电子万年历正从模拟式向数字式、由集成化向智能化的方向飞速发展。
综上所述此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。
1.2实现的功能及要求
(1)基本要求
①具有年、月、日、星期、时、分、秒等功能;
②具备年、月、日、星期、时、分、秒校准功能。
③校准时具有闪烁功能。
( 2 ) 创新要求
①具有上、下课响铃功能;
1.3 方案论证
显示模块选择方案和论证:
方案一:采用LED数码管动态扫描,LED数码管价格适中,对于显示数字最合适,而且采用动态扫描法与单片机连接时,占用的单片机口线少。但这里显示位数多,所要求的数码管多,成本更高。
方案二:采用LCD液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见,虽价格昂贵,但接口线多,所以在此设计中采用LCD液晶显示屏。
时钟芯片的选择方案和论证:
方案一:采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,结构简单。所以采用DS1302时钟芯片。方案二:直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。且算法复杂,所以不采用此方案。
经论证本次设计采用采用AT89S52作为主控制系统; DS1302提供时钟; 采用LCD液晶作为显示。
1.4章节安排
第一章概述
第二章系统硬件设计
第三章系统软件设计
第四章调试
第五章心得体会
第二章系统硬件设计
2.1硬件的设计总框图
本次设计的基于单片机控制的电子万年历,其具有年、月、日、星期、时、分、秒的显示等功能;具有时间与阴、阳历能够自动关联;可以设置闹铃的功能。其具体实现过程就是由主控制发送信息给DS1302时钟芯片再由时钟芯片反馈给单片机,再由主控制器传送给LCD显示信息。并且可以在键盘设置模块输入修改时间,设置闹铃等信息,当键盘设置时间、日期时,单片机主控制根据输入信息,通过串口通信传送给DS1302时钟芯片,DS1302芯片读取当前新信息产生反馈传送给单片机,然后单片机根据控制最后输送显示信息到LCD模块上显示。
2.2主控制器AT89C52介绍
1.AT89C52功能介绍
AT89C52是8字节FLASH闪速存储器,256字竹部RAM , 32个I/O口线,3个16 位定时/计数器,一个6向量两级中断结构,一个全双工串行通信口,片振荡器及时钟电路。同时,AT89c52可降至OHz的静态逻辑操作,并支持两种软件可选的节电上作模式。空闲方式停止CPU 的工作,但允许RAM,定时/计数器.串行通信口及中断系统继续工作。掉电方式保存RAM 中的容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位.
2.功能引脚说明:
Vcc:电源电压
GND:地
P0:P0口是一组8位漏极开路型双向1/O 口,也即地址/数据总线复用口。作为输出口用时.每位能吸收电流的方式驱动8个TTL 逻辑门电路,对端口P0 写“1”时,可作为高阻抗输入端用。
在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活部上拉电阻。
在FLASH由编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。
P1口:PI 是一个带部上拉电阻的8位双向I/O口,Pl的输出缓冲级可驱动(吸收或输出电流4个TTL逻辑门电路。对端口写“1”,通过部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为部存在上拉电阻某个引脚被外部信号拉低时会输出一个电流IIL
与AT89C51不同之处是,Pl.0 和P1.1还可分别作为定时/计数器2 的外部计数输入(Pl.0/T2 )和输入(P1.1/T2EX) ,
FLASH编程和程序校验期间,Pl接收低8位地址。
PI.O 和PI.l 的第二功能:
P2 是一个带有部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑电路。对端口P2写“l",通过部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(llt )。在访问外部程序存储器或16位地址的外部数据存储器,P2送出高8 位地址数据。在访问8位地址的外部数据存储器、如执行MOVXRI指令)时,P2口输出P2锁存器的容。
FLASH编程或校验时,P2亦接收高位地址和一些控制信号。
P3口:P3口是一组带有部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3口将用上拉电阻输出电流(IIL) .
P3口除了作为一般的I/0口线外,更重要的用途是它的第二功能,如下表所示:
P3.0 RXD(串行输入口〕
P3.1 TXD(串行输出口〕
P3.2 INTO(外中断0〕
P3.3 INTO(外中断l)
P3.4 TO (定时/计数器0 )
P3.5 Tl (定时/计数器l )
P3.6 WR(外部数据存储器写选通)
P3.7 RD(外部数据存储器读选通)
此外,P3口还接收一些用于FLASH闪速存储器编程和程序校验的控制信号。
RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。
ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节.一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位.可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活,此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。
PSEN:程序储存允许PSEN输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次PSEN信号。
EA/VPP:外部访问允许。欲使CPU 仅访问外部程序存储器(地址为0000H-FFFFH ) , EA端必须保持低电平(接地).需注怠的是:如果加密位LBI被编程,复位时部会锁存EA端状态。
3.最小系统
单片机最小系统包括时钟电路、电源和复位电路等,是单片机工作的基本要求。单片机控制整个系统的工作,一方面读取日历时钟芯片中的日期等数据,检测是否需要设置,并处理相应的按键。另一方面,控制显示器的工作,将各种数据送到液晶显示器去显示。