基于AT89C51的日历时钟.docx
- 文档编号:17301276
- 上传时间:2023-07-23
- 格式:DOCX
- 页数:11
- 大小:183.09KB
基于AT89C51的日历时钟.docx
《基于AT89C51的日历时钟.docx》由会员分享,可在线阅读,更多相关《基于AT89C51的日历时钟.docx(11页珍藏版)》请在冰点文库上搜索。
基于AT89C51的日历时钟
基于AT89C51的日历时钟
摘要:
本文首先描述系统硬件工作原理,并附以系统构造框图加以说明,着重介绍了本系统所应用的各硬件接口技术和各个接口模块的功能及工作过程,其次,详细阐述了程序的各个模块和实现过程。
本设计以数字集成电路技术为根底,单片机技术为核心。
本文编写的主导思想是软硬件相结合,以硬件为根底,来进展各功能模块的编写。
关键词AT89C51LCD1602闹铃
现今,高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟,石英表,石英钟都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时,分,秒显示时间的功能,还可以进展时和分的校对,片选的灵活性好。
本文利用单片机实现数字时钟计时功能的主要内容,其中AT89C51是核心元件同时采用数码管动态显示“时〞,“分〞,“秒〞的现代计时装置。
与传统机械表相比,它具有走时准确,显示直观等特点。
它的计时周期为24小时,显满刻度为“23时59分59秒〞,另外具有校时功能,断电后有记忆功能,恢复供电时可实现计时同步等特点。
本系统以单片机的汇编语言进展软件设计,软件的设计采用模块化构造,使程序设计的逻辑关系更加简洁明了。
系统通过点阵式液晶为载体显示数据,所以具有人性化的操作和美观的页面效果。
可以显示时间、公农历日期、星期,并有闹铃功能。
1.设计功能要求
普通万年历设计的功能要求是用51单片机〔AT89C51〕和液晶显示LCD1602通过程序控制来实现显示公历年月日期、星期、时间、,并有闹铃功能。
2.设计思路
设计思路是根据万年历的功能要求,把万年历分为两个局部考虑:
年月日期、星期、时间的显示和闹铃局部。
3.系统的硬件构成
系统以AT89C51单片机作为核心控制器件,外围主要有液晶显示LCD1602和喇叭,均为串行通信器件,使得系统线路简单可靠性高。
系统构造框图1所示。
图1系统构造框图
3.1单片机主控模块
AT89C51单片机与MCS_51系列单片机产品兼容,美国ATMEL公司生产的一种低功耗,高性能的片内含有4K的Flash存储器构造,可编程/擦除只读存储器〔FPEROM—FlashProgrammableandErasableReadOnlyMemory〕的8位S微控制器,使用高密度,非易失存储技术制造,并且与80C51引脚和指令系统完全兼容。
AT89C51将具有多种功能的8位CPU与FPEROM结合在一个芯片上,为很多嵌入式控制应用提供了非常灵活而又廉价的方案。
这种工艺的存储器用户可以用电的方式瞬间擦除和改写,可以在线下载程序,易于日后的升级。
它主要负责各个模块的初始化工作;设置定时器、存放器的初值;读取并处理时间、闹铃中断等信息;处理按键响应;控制液晶实时显示等。
AT89C51的管脚排布如图2所示:
图2AT89C51管脚图
〔1〕VCC:
电源电压
〔2〕GND:
接地
〔3〕RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
〔4〕/EA/VPP:
当/EA保持低电平时,那么在此期间外部程序存储器〔0000H-FFFFH〕,不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源〔VPP〕。
〔5〕XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
〔6〕XTAL2:
来自反向振荡器的输出。
〔7〕P0口:
P0口为一个8位漏级开路双向I/O口,也即地址/数据总线复用口。
作为输出口用时,每脚可吸收8TTL门电流。
当P0口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进展校验时,P0输出原码,此时P0外部必须被拉高。
〔8〕P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能吸收或输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
〔9〕P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可吸收或输出4个TTL门电流,当P2口被写“1〞时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进展存取时,P2口输出地址的高八位。
在给出地址“1〞时,它利用内部上拉优势,当对外部八位地址数据存储器进展读写时,P2口输出其特殊功能存放器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
〔10〕P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可吸收或输出4个TTL门电流。
当P3口写入“1〞后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流〔ILL〕这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表1所示:
口管脚
备选功能
P3.0RXD
串行输入口
P3.1TXD
串行输出口
P3.2/INT0
外部中断0
P3.3/INT1
外部中断1
P3.4T0
记时器0外部输入
P3.5T1
记时器1外部输入
P3.6/WR
外部数据存储器写选通
P3.7/RD
外部数据存储器读选通
表1P3特殊功能口
P3口同时为闪烁编程和编程校验接收一些控制信号。
〔11〕ALE//PROG:
当外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想制止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE制止,置位无效。
〔12〕/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在外部数据存储器时,这两次有效的/PSEN信号将不出现。
在本设计中所用到的引脚有VCC,GND,RST,/EA/VPP,XTAL1,XTAL2,P0口,P2口。
硬件电路连接如图3所示。
系统采用12M晶振;P0口为单片机与液晶显示器通信的数据端口,其中P0口有8个1K的上拉电阻;AT89C51单片机的复位靠外部电路来实现,信号由RESET〔RST〕引脚输入,高电平有效,在振荡器工作时,只要保持RESET〔RST〕引脚高电平两个机器周期,单片机即可以复位,系统既有上电复位电路又可以手动复位K3;P2.0~P2.2为液晶显示器的控制信号端口:
P3.7为闹铃的控制端口;P1.4~P1.5为按键模块的接口。
图3单片机主控电路
3.2闹铃模块
系统采用小喇叭作为闹铃输出。
闹铃电路连接如图4所示。
图4闹铃电路
电路中采用NPN管2N5088来做为信号功率放大来驱动喇叭闹铃,由图可以看出NPN管2N5088的集电极接电源正5伏;当设定的定时时间到了从AT89C51的P3.7脚输出频率约为200HZ的方波信号使喇叭闹铃。
3.3液晶显示模块
系统中采用LCD1602作为显示器件输出信息。
与传统的LED数码管显示器件相比,液晶显示模块具有体积小、功耗低、显示内容丰富等优点,而且不需要外加驱动电路,现在液晶显示模块已经是单片机应用设计中最常用的显示器件了。
LCD1602可以显示2行16个字符,具有8位数据总线D0-D7,和RS、R/W、E三个控制端口,工作电压为5V,并且带有字符比照度调节和背光设置。
管脚功能简介:
VL:
LCD比照度调节端,电压调节X围为0-5V。
接正电源时比照度最弱,接地电源时比照度最高,可以用一个5K的电位器来调整比照度;
RS:
数据或者指令选择端。
处理器写入指令时,RS为低电平,写入数据时,RS为高电平
R/W:
读写控制端。
R/W为高电平时,读取数据;R/W为低电平时,写入数据
E:
LCD模块使能信号控制端。
写数据时,需要下降沿触发模块
D0-D7:
8位数据总线,三态双向
BLA:
LED背光正极。
需要背光时,BLA串接一个限流电阻接VCC
BLK:
LED背光负极
LCD1602的管脚功能排布如图5所示:
图5LCD1602管脚图
4系统的软件设计
根据设计任务的要求确定系统程序的完整构造,尽可能采用模块化程序设计方法,将任务划分为相对独立的功能模块,明确个模块的功能、时间顺序和相互关系,系统的软件设计可以分为几个局部,首先是各个模块的底层驱动程序编写,而后是系统联机调试,编写上层系统程序。
建议在编写和调试一个大的工程软件程序时,先编写各个子模块的驱动程序,保证每个模块都可以正常工作,做好备份工作,之后再来编写整机程序。
本系统软件程序主要包括:
液晶LCD1602的底层驱动模块、定时器0定时检查系统变量模块、定时器1按键扫描模块等。
鉴于篇幅,这里不作一一介绍了。
系统的软件主流程图如图6,闹铃中断程序如图7。
否
是
图6主程序MAIN流程框图
程序开场进展标识位初始化,对时钟闹铃单元进展初始化,开场读取时间信息,通过读取程序,液晶显示器显示时间,当有按键按下时进展键值的处理,没有按键按下时那么程序重新读取时间信息。
是
图7闹铃子程序
当时间到达设定闹铃的时间时,闹铃开场响。
5完毕语
本次用单片机设计的日历时钟至此已全部完成,此次实训无论是资料的采集、零件选购、软件设计、还是硬件焊接、外观设计、论文编写都是经过规划设计完成的,通过本次实训,使我对书本的知识又有了更深层次的认识,特别是认识到理论与实际异同。
理论需要实际的验证,实际需要理论为根底和指导。
在这里我们很感谢教师对于我的指导。
6参考文献
[1].黄庆华,X勇格主编.单片机开发技术与实训.:
电子工业.2006
[2].陈权昌,李兴富主编.单片机原理及运用.XX:
:
华南理工大学.2006
[3].王幸之,钟爱琴主编.AT89系列单片机与接口技术.:
航空航天大学.2004
[4].胡学海主编.单片机原理及应用系统设计.:
电子工业.2005
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 AT89C51 日历 时钟