基于单片机的数字时钟设计

2016-12-19 07:24李琳
数码世界 2016年11期
关键词:数码管子程序闹钟

李琳

渤海大学

基于单片机的数字时钟设计

李琳

渤海大学

本文基于单片机进行的数字时钟设计,论文中论述了系统的总结构设计、数字时钟的设计原理、分别对硬件设计中的部分模块和软件设计进行了详细介绍。系统实现了时钟、分钟、秒钟、年、月、日的显示,还可以对时钟设置闹钟,在人们生活中有着重要的应用。

数字时钟 单片机 时钟芯片

1 引言

随着社会的发展,传统的时钟也已经无法满足人们生活的需要,数字时钟应运而生。相比较于传统意义上的机械式的钟表,数字时钟在性能方面得到很大地提高,比如数字时钟在时间显示方面更加精确,在外形方面更加美观,在时间显示方面更加一目了然,且使用的周期寿命比较长。因此数字时钟在现实生活中的很多领域都得到了很大的应用。

2 数字时钟的设计的特点

对于数字时钟的设计一般主要有两种实现方式,分别是基于数字电路和基于单片机,基于数字电路设计的数字时钟相比较于基于单片机的数字时钟在设计过程中所需要的元件比较少,数字集成块需要很多,而且在资金投入方面的成本也比较高。若采用基于单片机的数字时钟设计,因为系统中利用软件进行编程,所以在硬件电路方面的要求会降低要求,同时也会减少在硬件方面的资金成本的投入。考虑都这些因素,本文选择基于单片机的数字时钟设计。

3 系统总体设计方案

本文中基于单片机的数字时钟的总体设计模块中主要包括了时钟模块,键盘控制模块,数码显示电路,主程序电路以及显示模块等。系统总体结构图如图1所示。

图1 系统总体结构图

图2 系统总体电路图

4 系统硬件设计

系统的总体电路图如图2所示。

4.1 数码管显示电路

数码管显示电路的实现采用 动态显示方式。数码管是三位共阴管,二极管的公共端是把数码管的几个阴极共同连接在同一个地方,二极管的阳极独立接出。当将阳极和高电平进行连接时,对应的数码管指示灯就会亮,显示器中的显示数字取决于指示灯的亮与灭。当将这三个共阴的同名端都连接在一起时,数码管中显示的数据内容相同。

4.2 时钟显示模块

时钟模块选择的芯片型号是DS1302,通过时钟芯片可以显示出时间的时分秒以及年月日等基本信息,在时钟显示模块中的引脚X1和X2之间会加入一个晶体振荡器,频率是32.67kHz,这个晶体振荡器的加入是为了保证确定时钟的基准,其中加入的电池电压是3.6V,当电池快没电的时候可以通过电路中时钟芯片的充电接寄存器进行充电,可以进行断电保护保存设置的时间相关信息。

4.3 报警系统模块

报警模块主要是发生在设置闹钟时,当系统中时间到达提前设置的闹钟时间时,系统就会通过蜂鸣器按时发出嘀嘀嘀的声音,以此来提示用户时间到点,另外除了设置闹钟到点后蜂鸣器会发出响声之外,如果电网的电压不够或者是电压超过额定的电压的时候,蜂鸣器也会发出警报声。当用户按下停止按键 后,闹钟的声音就会停止,警报状态也就解除。

5 软件设计

主程序流程图如3所示。

图3 主程序流程图

5.1 T0定时中断服务子程序

在中断设计模块中,时间的中断间隔设置为50毫秒,当时间中断次数累计到20时,秒钟时间就会增加1,当秒钟时间累计到60时就会进行进位,即分钟时间会增加1,此时秒钟时间自动清零变为0。同理,当分钟时间是60时,分钟就会向时进行进位,分钟时间会自动变为0,时的时间会增加1,当时的时间累计到24的时候,日的时间会增加1,月份的计算也是如此。

T0定时中断服务子程序流程图如图4所示。

5.2 LCD1602显示程序部分

LCD1602显示程序部分是显示时间的基本信息以及液晶显示模块中包含的子程序,主要功能包括对LCD程序进行初始化,可以对相关的子程序进行写操作,比如命令程序或者数据子程序等。

图4 T0定时中断服务子程序流程图

6 系统仿真与实物显示结果

本文选择的仿真平台是Protues软件,界面中观察结果可以发现LCD显示器上显示的时钟分钟秒钟,以及年月日的基本时间信息,而且还可以通过按键实现闹钟的设置,到固定的时间后,就会报警。系统仿真图如图5所示。

图5 系统仿真结果图

7 结语

本文主要介绍了基于单片机的数字时钟设计,选择的时钟芯片是DS1302,液晶显示器选择的型号是LCD1602。基于单片机的数字时钟设计相比较于传统的机械钟在性能方面以及实用性方面都有大大的优势。系统实现了时钟分钟秒钟年月日的显示还可以对时钟设置闹钟。

[1]戴佳,戴卫恒,刘博文编著.51单片机C语言应用程序设计实例精讲.2版.电子工业出版社,2008,12

[2]吕思忠.数子电路实验与课程设计[M].哈尔滨:哈尔滨工业大学出社,2001

[3]需思孝,冯育氏.单片机系统设计及上程应用[M].陕西:西安电子科技大学出版社,2005

[4]何业军,李超.基于单片机控制的高精度定时打铃器的设计,电子技术,2001,7

猜你喜欢
数码管子程序闹钟
多彩创意闹钟
物理项目教学设计,用单片机控制四位数码管显示
基于51单片机的分数计数器设计
天然闹钟
Arduino编程
MC9S08FL16单片机数码管静态显示分析
小闹钟的提醒
能帮我设个闹钟不等四则
浅谈子程序在数控车编程中的应用
子程序在数控车加工槽中的应用探索