一种基于AT89C51控制的高倒计时系统-设计应用_第1页
一种基于AT89C51控制的高倒计时系统-设计应用_第2页
一种基于AT89C51控制的高倒计时系统-设计应用_第3页
一种基于AT89C51控制的高倒计时系统-设计应用_第4页
一种基于AT89C51控制的高倒计时系统-设计应用_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精品文档-下载后可编辑一种基于AT89C51控制的高倒计时系统-设计应用1引言

倒计时系统的任务,就是对某一设定日期进行倒数,并在显示屏显示当前至设定日期的时间,以增强人们的关注度和紧迫感。开发实践表明:以时钟芯片DS12C887为时钟模块、单片机AT89C51为控制模块的高精度倒计时系统具有精度高、能够长时间连续稳定地工作、使用方便的特点,可较好满足实际需要。系统的硬件设计和软件设计如下。

2系统的硬件设计

系统的控制模块由AT89C51单片机构成,用于完成对串行口控制器的初始化和数据读写,并对接收的各种数据进行识别、转储及显示。时钟芯片DS12C887提供高精度的年、月、日、时、分、秒时间,校准后直接与单片机相连。倒计时显示模块由LED数码管,74HC595芯片和74LS245芯片组成。

系统总体框图如图1所示。

图1系统总体结构图

2.1时钟模块及其与单片机的连接

时钟模块用于对时、分、秒、年、月、日和星期的计时,由美国DALLAS公司生产的时钟日历芯片DS12C887构成,该芯片集成度高,可提供年、月、日、时、分、秒,设定每一时刻产生中断,并且其外围电路设计简单,性能好,计时准确性高。DS12C887带有128字节RAM,其中有11字节RAM用来存储时间信息,4字节RAM用来存储DS12C887的控制信息,为控制寄存器。用户可以在任何时候对其进行访问以对DS12C887进行控制操作,有113字节的通用RAM供用户使用。用户还可对DS12C887进行编程以实现多种方波的输出,并对内部的三路中断通过软件进行控制。DS12C887为双列直插式封装,与单片机的连接为:AD0~AD7双向地址/数据复用线与单片机的P0口相联,用于向单片机交换数据;AS地址选通输入脚与单片机的ALE相联用于对地址锁存,实现地址数据的复用;CS片选线与单片机的P2.6相联,用于选通时钟芯片;DS数据选通读输入引脚与单片机的读选通引脚相联,用于实现对芯片数据的读控制;R/W读/写输入与单片机的写选通引脚相联,用于实现对时钟芯片的写控制;MOT直接接地,选用INTEL时序;IRQ引脚与单片机的INT1相连,用于为时间的采集提供时间基准。

2.2显示模块的设计

单片机将读入的DS12C887时间信息经过程序处理,输出显示信号到P1口,显示信息包括倒计时信息(当前距离设定时间的天数)和当前时间的星期、时、分、秒信息。显示电路主要由9个LED数码管,9片74HC595芯片和一片74LS245芯片组成。

设计采用动态显示方式,即将所有位的段选线并联在一起由一个8位I/O口控制。74HC595是硅结构的高速CMOS器件,内置8位移位寄存器和一个存储器,具有三态输出功能,当使能端OE为低电平时,将存储寄存器的数据输出到总线。利用74HC595并行输出端具有的输出锁存功能,采用74HC595芯片的串入并出方式控制数码管的显示,具体的连接方式为:芯片的Q7引脚和SER引脚级联,通过三个I/O口与单片机连接。74HC595的14脚(SER)为串行输入端,12脚(RCLR)为移位时钟端,时钟上升沿将14脚数据移入寄存器;11脚(SRCLR)为锁存时钟端,时钟上升沿锁存数据;8脚(E)为3态输出控制端,接低电平时输出数据。输出数据和移位时钟均由单片机输出:单片机P1.0口输出数据,在移位脉冲上升沿到来时数据移出进入74HC595;P1.1口输出移位脉冲;P1.2口输出锁存脉冲。出现在并行输出端上的数据经74LS245驱动数码管显示,由于数据已被锁存,在传送下一组数据时,前一组数据的内容不变,以此方式进行数据的传送和显示,故在显示模块软件中将P1.0、P1.1、P1.2均定义为模拟串行口。调整键盘的接口有4个键:1个设定/确认键、1个修改+1键、1个修改-1键、1个移位键。对应秒、分、时、倒计时、星期,有5个LED。LED亮,表示对应的秒或分或星期或倒计时数据可按修改键修改。在设定时间状态,首先移位为秒位,对应秒移位LED亮,按下移位键,移位LED灯按秒→分→时→倒计时→星期逐次循环;按下修改+1键或修改-1键可对相应位的数据进行+1或-1操作。

3系统的软件设计

系统的主程序包括:对单片机串行口的设置以及初始化→读取DS12C887时钟芯片→判断是否计算倒计时→显示。初始化12887为24小时制,BCD码,不允许中断,分配12887的始地址为B000H,A寄存器的地址为B00AH,B寄存器的地址为B00BH,C寄存器的地址为B00CH,D寄存器的地址为B00DH,DS12887的内部分配如表1所示。

表1DS12887的内部分配。

显示子程序首先通过模拟串行口读取DS12C887的数据,然后利用74HC595对数据进行显示。具体步骤为:显示子程序将P1.0置位将P1.0送入段码将P1.1送入移位脉冲将P1.2送入锁存脉冲返回主程序。倒计时子程序首先由单片机读DSl2C887的时间单元,并将其存放在以69H为起始的单元中,操作时先读取月份,然后利用查表方法计算其下月份到预定时间的天数,再利用查表方式判断其月份是31天、30天,28天或29天,将查表得到的天数减去读取日期,将二个天数相加就可得到实际天数。进行时、分、秒计算时,可以直接利用预定时、分、秒减去读取的时、分、秒得到相差的时、分、秒,完成后返回主程序。

4结束语

综上,所设计的倒计时系统由DS12C887构成时钟模块,单片机AT89C51对系统进行控制,设定从模拟串行口读取DS

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论