基于51单片机实现数字时钟

2018-05-28 11:10叶飞
电脑知识与技术 2018年9期
关键词:按键时钟单片机

叶飞

摘要:该文设计了一款多功能的电子数字时钟,其核心主要是硬件设计和软件编程两个大方面。硬件设计主要以单片机STC89C51为核心,结合相关的外围电路如时钟芯片DS1302电路、温度测量芯片DS18B20电路、显示液晶1602电路、独立按键电路。电路实现了显示时间、调整时间、测量并显示温度等功能,实际测试该系统达到了设计的要求和目的。

关键词:单片机;数字时钟

中图分类号:TP3 文献标识码:A 文章编号:1009-3044(2018)09-0285-02

单片机技术是从事嵌入式开发的基本技术,是各高校嵌入式与物联网相关专业的专业核心课程。同时,单片机又是一门实用技术,学习它本质不是为了应付考试,而是切实掌握一项开发工具,为以后从事项目开发提供帮助。基于此,设计各种符合实际需求的项目,可以为学生学习提供更直观的视角,而数字时钟无疑是一个经典应用场景。

1 系统设计

1.1 需求分析

本次设计中根据实际需要,结合STC89C51单片机的特点,完成电子时钟的系统设计。在设计中,除了基本的走时(包括时间、日期、星期)、板载的按键校对时间功能外,还提供温度测量功能。本系统由单片机最小系统、LCD显示模块、DS1302时钟模块、按键模块、温度传感器模块等相关模块构成,由STC89C51单片机为控制核心,时钟电路由DS1302提供,温度的采集由DS18B20芯片完成,通过主控模块实时读取时钟芯片和温度芯片发送的数据并将读取到的数据进行处理显示到LCD屏幕上,当用户按下了按键则会触发中断系统,根据判断用户按下的哪个按键进行对应的响应完成调时以及其他功能的控制与校准。

1.2 系统设计方案

需求分析和硬件模块规划已经确定,就需要进行系统设计,软件部分需要分层,一层是底层驱动,一层是上层应用,底层驱动使相应的模块正常工作,上层应用控制底层模块具体工作方式,例如从时钟存储模块读取时间信息,温度检测模块读取温度信息,按键输入模块校准新的时间。其具体工作方式如图1。

2 硬件电路设计

本系统中硬件系统包括STC89C51最小系统设计、LCD显示模块、温度检测模块、时钟存储模块。采用模块化设计的思想对以上模块进行设计。

2.1 单片机最小系统

单片机最小系统三要素:电源电路、复位电路、和晶振电路。电源电路给单片机提供+5V的工作电压,复位电路可以为单片机提供复位信号,晶振电路为单片机提供工作用的时钟信号,STC89C51系列单片机时钟信号采用11.0592MHz的时钟频率。

2.2 LCD显示电路

LCD采用传统的1602型液晶,其16管脚的管脚信号说明如下表1。

按表1将LCD1602与STC89C51连接。

2.3 时钟存储电路

时钟存储电路选用实时时钟芯片DS1302,其是DALLAS(达拉斯)公司推出的一款涓流充電时钟芯片,可以提供秒、分、小时、日期、月、年等信息,并且有软件自动调整能力,可以通过配置AM/PM来决定是采用24小时格式还是12小时格式。

其与STC89C51的连接方式如图2,DS1302的CE引脚与单片机的P3^7连接,数据I/O引脚与单片机的P3^6连接,通信时钟引脚和单片机的P3^5连接:

2.4 温度传感器

温度传感器选择DS18B20,其管脚如图3。

DS18B20是美信公司的一款温度传感器,单片机可以通过1-wire协议与DS18B20进行通信,最终将温度读出。1-wire总线的硬件接口很简单,只需要把DS18B20的数据引脚和单片机的一个IO口接上就可以了。

2.5 按键设计

设计三个按键,一个调整模式,两个校准时间,其与单片机STC89C51的连接方式如图4。

3 软件设计

3.1 软件流程图

主程序开始后,先对LCD1602进行清屏,之后对DS1302时钟芯片进行初始化,初始化后对时钟芯片DS1302的时钟信息进行读写,读写后将其打印到LCD1602上,同时,通过按键扫描中断判断是否有时间校准键按下,如果按下,进入时间调整模式,通过按键的键值来调整时间并显示出来,主程序流程图如图5所示。

3.2 DS1302时钟芯片工作流程

首先对DS1302时钟芯片上电,之后对DS1302的寄存器进行读取,读操作利用时间数据所在寄存器地址相邻的特点,对年、星期、月、日、时、分等时间信息依次读出,读取方式类似SPI总线。

4 综合调试

使用proteus仿真工具进行硬件搭配和软件编译,结果如下:

5 结论

自此,一个涉及单片机与其他芯片通信、控制、显示的具体实践项目完成。而多进行类似项目的开发,对在校大学生真正理解和掌握STC89C51单片机,乃至进一步掌握类似ARM、FPGA等嵌入式控制器有着重要的意义。

参考文献:

[1] 张伟.Protel DXP 高级应用[M].北京:人民邮电出版社,2002.

[2] 谭浩强.C程序设计[M].北京:清华大学出版社,2004.

[3] 宋雪松.手把手教你学51单片机[M].北京:清华大学出版社,2014.

猜你喜欢
按键时钟单片机
别样的“时钟”
基于有限状态机的按键检测程序设计
古代的时钟
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
基于单片机的便捷式LCF测量仪
一种多方向导光按键结构设计
时钟会开“花”
Microchip推出两个全新PIC单片机系列
按键的多种状态检测及消抖处理方法