您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 基于AT89C51的日历时钟
1基于AT89C51的日历时钟摘要:本文首先描述系统硬件工作原理,并附以系统结构框图加以说明,着重介绍了本系统所应用的各硬件接口技术和各个接口模块的功能及工作过程,其次,详细阐述了程序的各个模块和实现过程。本设计以数字集成电路技术为基础,单片机技术为核心。本文编写的主导思想是软硬件相结合,以硬件为基础,来进行各功能模块的编写。关键词AT89C51LCD1602闹铃现今,高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟,石英表,石英钟都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时,分,秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。本文利用单片机实现数字时钟计时功能的主要内容,其中AT89C51是核心元件同时采用数码管动态显示“时”,“分”,“秒”的现代计时装置。与传统机械表相比,它具有走时精确,显示直观等特点。它的计时周期为24小时,显满刻度为“23时59分59秒”,另外具有校时功能,断电后有记忆功能,恢复供电时可实现计时同步等特点。本系统以单片机的汇编语言进行软件设计,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了。系统通过点阵式液晶为载体显示数据,所以具有人性化的操作和美观的页面效果。可以显示时间、公农历日期、星期,并有闹铃功能。1.设计功能要求普通万年历设计的功能要求是用51单片机(AT89C51)和液晶显示LCD1602通过程序控制来实现显示公历年月日期、星期、时间、,并有闹铃功能。22.设计思路设计思路是根据万年历的功能要求,把万年历分为两个部分考虑:年月日期、星期、时间的显示和闹铃部分。3.系统的硬件构成系统以AT89C51单片机作为核心控制器件,外围主要有液晶显示LCD1602和喇叭,均为串行通信器件,使得系统线路简单可靠性高。系统结构框图1所示。图1系统结构框图3.1单片机主控模块AT89C51单片机与MCS_51系列单片机产品兼容,美国ATMEL公司生产的一种低功耗,高性能的片内含有4K的Flash存储器结构,可编程/擦除只读存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的8位COMS微控制器,使用高密度,非易失存储技术制造,并且与80C51引脚和指令系统完全兼容。AT89C51将具有多种功能的8位CPU与FPEROM结合在一个芯片上,为很多嵌入式控制应用提供了非常灵活而又便宜的方案。这种工艺的存储器用户可以用电的方式瞬间擦除和改写,可以在线下载程序,易于日后的升级。它主要负责各个模块的初始化工作;设置定时器、寄存器的初值;读取并处理时间、闹铃中断等信息;处理按键响应;控制液晶实时显示等。AT89C51的管脚排布如图2所示:单片机主控键盘输入闹铃输出液晶显示3图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口作为第八位地址接收。4(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外部中断0P3.3/INT1外部中断1P3.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为按键模块的接口。5图3单片机主控电路3.2闹铃模块系统采用小喇叭作为闹铃输出。闹铃电路连接如图4所示。图4闹铃电路电路中采用NPN管2N5088来做为信号功率放大来驱动喇叭闹铃,由图可以看出NPN管2N5088的集电极接电源正5伏;当设定的定时时间到了从6AT89C51的P3.7脚输出频率约为200HZ的方波信号使喇叭闹铃。3.3液晶显示模块系统中采用LCD1602作为显示器件输出信息。与传统的LED数码管显示器件相比,液晶显示模块具有体积小、功耗低、显示内容丰富等优点,而且不需要外加驱动电路,现在液晶显示模块已经是单片机应用设计中最常用的显示器件了。LCD1602可以显示2行16个字符,具有8位数据总线D0-D7,和RS、R/W、E三个控制端口,工作电压为5V,并且带有字符对比度调节和背光设置。管脚功能简介:VL:LCD对比度调节端,电压调节范围为0-5V。接正电源时对比度最弱,接地电源时对比度最高,可以用一个5K的电位器来调整对比度;RS:数据或者指令选择端。处理器写入指令时,RS为低电平,写入数据时,RS为高电平R/W:读写控制端。R/W为高电平时,读取数据;R/W为低电平时,写入数据E:LCD模块使能信号控制端。写数据时,需要下降沿触发模块D0-D7:8位数据总线,三态双向BLA:LED背光正极。需要背光时,BLA串接一个限流电阻接VCCBLK:LED背光负极LCD1602的管脚功能排布如图5所示:7图5LCD1602管脚图4系统的软件设计根据设计任务的要求确定系统程序的完整结构,尽可能采用模块化程序设计方法,将任务划分为相对独立的功能模块,明确个模块的功能、时间顺序和相互关系,系统的软件设计可以分为几个部分,首先是各个模块的底层驱动程序编写,而后是系统联机调试,编写上层系统程序。建议在编写和调试一个大的项目软件程序时,先编写各个子模块的驱动程序,保证每个模块都可以正常工作,做好备份工作,之后再来编写整机程序。本系统软件程序主要包括:液晶LCD1602的底层驱动模块、定时器0定时检查系统变量模块、定时器1按键扫描模块等。鉴于篇幅,这里不作一一介绍了。系统的软件主流程图如图6,闹铃中断程序如图7。8否是图6主程序MAIN流程框图程序开始进行标识位初始化,对时钟闹铃单元进行初始化,开始读取时间信息,通过读取程序,液晶显示器显示时间,当有按键按下时进行键值的处理,没有按键按下时则程序重新读取时间信息。标识位初始化时钟、闹铃单元初始化定时器、中断初始化开始读取时间信息液晶时间显示有按键吗?键值处理9是图7闹铃子程序当时间到达设定闹铃的时间时,闹铃开始响。5结束语本次用单片机设计的日历时钟至此已全部完成,此次实训无论是资料的采集、零件选购、软件设计、还是硬件焊接、外观设计、论文编写都是经过规划设计完成的,通过本次实训,使我对书本的知识又有了更深层次的认识,特别是认识到理论与实际异同。理论需要实际的验证,实际需要理论为基础和指导。在这里我们很感谢老师对于我的指导。6参考文献[1].黄庆华,张勇格主编.单片机开发技术与实训.北京:电子工业出版社.2006[2].陈权昌,李兴富主编.单片机原理及运用.广州::华南理工大学出版社.2006[3].王幸之,钟爱琴主编.AT89系列单片机与接口技术.北京:航空航天大学出版社.2004[4].胡学海主编.单片机原理及应用系统设计.北京:电子工业出版社.2005开始设置定时器有中断?闹铃闹铃结束中断返回
本文标题:基于AT89C51的日历时钟
链接地址:https://www.777doc.com/doc-2568474 .html