STC89C51单片机数字时钟的设计+程序(2)

1.总体设计思路 1.1计时设计 利用单片机的内部定时、计数即振荡器产生的分频信号进行中断定时,再结合对软件定时的设计,就可以使秒单元到60进位到分


1.总体设计思路

1.1计时设计

利用单片机的内部定时、计数即振荡器产生的分频信号进行中断定时,再结合对软件定时的设计,就可以使秒单元到60进位到分钟单元,当分钟数到60后进位到小时单元,当小时到24后所有时间从新开始计时,严格通过软件及硬件的结合准确计时及显示,如计时出现误差系统可以实时校准。

1.2按键及控制设计

本数字时钟主要用5个按键来实现对时间的输入及闹铃秒表节能模块的调整,并且通过动态扫描显示在6位数码管显示屏上,通过每个按键的功能对时间及闹铃秒表节能模块准确做出调整。系统上电以后,系统自动通过LED显示屏对时间显示,时间开始从00:00:00开始,系统刚开始可以对当前时间的设定。在计时过程中可以通过各个按键的分工进入对时间的时分秒闹钟的调整,并等待按键对当前时间的调整。也可以根据需要通过按键对时间的时、分、秒进行设定,时间设定后系统开始从设置的时间开始计时并且在显示屏上显示。

1.3闹铃设计

通过软件的设计及硬件相结合本数字时钟还具有闹铃功能,数字时钟在计时过程中,可以通过按键进行设定,当按下键盘上sw5键即进入闹铃时间设置,开始闹铃时间默认为00:00:00,根据自己对时间的需要通过sw3、sw4对时间的时、分、进行设定,设定后系统启动闹铃功能,并恢复时间显示,当设定时间到了之后蜂鸣器就会响铃,直到按下sw5键蜂鸣器停止响铃,并取消闹铃的设置。

1.4秒表及节能模块设计

通过软件的编程及硬件的相结合,本论文设计还增加了秒表及节能模块。在需要使用秒表时可以通过按键sw6进去秒表模式,然后通过sw4对秒表的启动停止进行操作,如果需要清零可以通过sw5进行清零,最后通过sw6可以退出秒表模式,进而进入时间显示。在时间显示过程中可以通过sw4进入节能模式即进入省电模式。

1.5总体设计

下图1为数字时钟系统框图,该设计通过单片机作为主控制电路,并通过上拉电阻对LED显示屏的连接,通过按键的按下传递给单片机,单片机做出相应作用后经过单片机接口电路传递给LED显示屏,并显示出对应的时间。

其中每个按键有如下功能:

Sw1键复位按键。

Sw2键时间设置按键

Sw3、sw4键进入相应模式对相应数值加减按键

Sw4键省电模式切换键

Sw5键闹钟模式按键

Sw6键秒表模式按键

图1数字时钟系统框图

2.硬件电路设计

2.1数字时钟主要器件

数字时钟主要有单片机、上拉电阻、输入按键、6位LED显示屏及蜂鸣器闹铃组成。

2.1.1单片机

单片机即相当于一个小型的计算机,是非常经典的微型控制的器件,通常用MCU来表示单片机,我们又把单片机称为微型处理器。

STC89C51单片机被用作本论文的核心硬件,其主要属于51系列,其中STC89C51主要有CPU、内部存储、及I/O接口、定时中断等部分[1]。CPU系统有1个8位微型处理器、内部时钟电路、总线控制。用户程序存储空间ROM有4k、512B数据存储RAM及128B特殊功能寄存器SFR。I/O接口及中断定时主要有4个8位可编程并行I/O接口、5个中断源控制系统以及2个16位定时计数器,即可以进行定时又可以对外部计数[2]。有下图2可以知道STC89C51有40个引脚。

电源(VCC)引脚2个

外接晶体引脚2个:

XTAL1外接晶振输入端

XTAL2外接晶振输入端

并行输入输出引脚32个:

P0.0-P0.7通用I/O引脚及数据低八位地址总线复位引脚。

P1.0-P1.7通用I/O引脚

P2.0-P2.7通用I/O引脚及数据高八位地址总线复位引脚。

P3.0-P3.7通用I/O引脚或第二引脚功能

其中4个RST引脚被用作控制复位引脚,Vpd被用为备用电源的引脚。