欢迎来到天天文库
浏览记录
ID:5241857
大小:27.00 KB
页数:5页
时间:2017-12-06
《基于at89c51单片机数字时钟设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、基于AT89C51单片机数字时钟设计 摘要本文介绍一款由AT89C51单片机、DS1302时钟芯片、LCD1602字符液晶显示器构成的数字时钟的设计。通过单片机对DS1302的读写操作,具有LCD1602液晶显示年月日、星期和时分秒的功能,并且具有调节年月日、星期和时分秒的功能。关键词数字时钟;AT89C51单片机;DS1302时钟芯片中图分类号TP368.1文献标识码A文章编号1674-6708(2013)95-0220-020引言数字时钟是一种利用集成电路技术实现对时、分、秒等进行数字显示的计时装置,广泛用于各种计时场合。钟表的数字化给人们的生产生活带来了极大
2、的便利,已成为人们日常生活不可或缺的必需品。与传统钟表相比数字时钟具有良好的实时性和方便的扩展性。经过一定的软硬件扩展可以实现诸如定时自动报警、市政路灯自动起闭控制、定时打铃等的功能。因此,研究数字时钟的设计及其应用的扩展,有着非常现实的意义。1系统总体设计方案本文所设计的数字时钟由主控芯片、时钟模块、显示模块和键盘控制模块共4个功能模块组成,如图1所示。5主控芯片选用Atmel公司生产的AT89C51单片机,完成对其他三个功能模块的协调与控制,是系统的核心部分。时钟模块采用美国DALLAS公司推出的高性能低功耗的实时时钟芯片DS1302,可以提供秒、分、时、日、月
3、和年等信息,具有月末日期自动调节和闰年校正功能;提供主电源和备用电源双电源引脚,可以对后备电源进行涓流充电。显示模块选用液晶显示器LCD1602,型号为OCM2X16A,为字符点阵式液晶模块,可以显示两行,每行十六个字符。键盘控制模块由三个按键组成,用于时间的设定与调整。2硬件电路设计整个系统的组成如图2所示。2.1时钟与复位电路单片机AT89C51和相关的外围元件组成时钟复位电路,其中18、19间外接12M晶振构成时钟电路,提供整机工作的时间基准;9脚为复位脚,具有上电复位及手动复位功能。2.2时钟模块5时钟模块电路采用DS1302,可以提供数字时钟中的秒、分、时
4、、日、月和年等信息。X1和X2引脚之间连接一个32.768kHz的晶振,提供实时时钟的工作基准。BT为3.6V的充电电池,编程DS1302充电控制寄存器可对电池的慢速充电,用于时钟/日历数据和静态RAM掉电保护,实现时间信息的长期保存与临时断电情况下时钟的正常工作。对小时寄存器进行编程可以在12/24小时显示模式间进行切换。2.3显示模块显示采用小型的液晶显示器LCD1602,分两行显示年月日、时分秒和星期。由于LCD1602不能显示汉字,对于日期的显示可以采用数字显示的方法,星期一至星期日分别显示为“1~7”的数字。LCD驱动电压VL端接可调电阻,可以调节液晶显示
5、的对比度。BLA端接可调电阻,可以实现液晶显示亮度的调节。2.4键盘控制模块键盘控制模块共有三个按键组成。S1功能键:在24小时显示模式下,该键第一次按下后进入秒调整状态,液晶显示器上的时间停止走动,等待S2键被按下后秒显示部分加“1”。再次按下后进入调分模式,跟着依次是调时、调年、调月、调日和调周模式,当该键第八次被按下后退出时间调整模式。S2调整键:在调整模式下,该键每按一次,相应被调对象加1。S3确定键:在调整模式下,该键被按下后,退出调整模式,并将调整后的时间、日期写入DS1302。3软件设计5本系统的软件设计主要包括时钟芯片DS1302、液晶显示芯片LCD
6、1602和定时器T0的初始化;时钟的时间设定与读取、液晶的显示与键盘处理等。系统主程序框图如图3所示。系统首先对LCD1602、DS1302和定时器T0初始化,之后循环地调用按键处理子程序,检测是否需要调节时间。程序在定时器T0中断服务程序中,定时读取DS1302的日期和时间送到液晶显示器进行显示,实现刷新时间。3.1LCD1602显示程序部分本部分主要是液晶显示所需的子程序、显示时间信息等。具体有:初始化LCD子程序;写命令子程序;写数据子程序;显示第一行数据程序;显示第二行数据程序;显示星期。3.2DS1302程序部分本部分主要是实时时钟的字节读、字节写、读对应
7、地址数据、向对应地址写数据和初始化等。具体有:DS1302初始化子程序;写一个字节;读一个字节;写数据;读数据。3.3按键处理子程序按键处理子程序主要是检测S1是不是被按下,检测S1被按下后再检测S2,从而实现对时间信息的调整,并在检测到S3被按下后将设置的结果写入DS1302。程序流程图如图4所示。3.4定时器T0程序部分5本部分包括T0的初始化子程序和T0的中断服务子程序。初始化子程序完成对T0工作方式的设置、初值的设置、中断使能和启动的处理。中断服务子程序则完成对DS1302实时时钟数据的读取,并送LCD1602进行显示。4结论本文介绍了一款应用单片机控制
此文档下载收益归作者所有