实例8: 数字电子钟 - 单片机开发技术实例(一)
详细内容
实例名称:数字电子钟。
实例所需主要资源: AT89C51 、数码管、74HC164 、DS1302 、按键。
实例目标: 利用AT89C51 单片机普通I/0 模拟串行方式控制数码管,读取DS1302 的时间数据,显示时、分、秒。
实例目的:了解DS1302 时钟芯片的工作原理和使用方法,熟悉单片机与外国芯片的接口(包括硬件连接与软件通信)设计方法,熟悉多位数码管的应用方法。
1 设计要求
数字电子钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。本例的数字时钟采用实时时钟芯片DS1302 获取时间数据,采用AT8 9C51 单片机来实现系统的
控制,时间显示通过六位数码管串行实现,分别显示时、分、秒,此种显示方式设计方案思想比较简单、可行。数字电子钟在生活中应用很广泛,感兴趣的读者可以进行深入的研究,使之实现更多功能。
2 硬件设计
5 总体电路
本实例中采用AT89C51 单片机控制,采用DS1302 时钟芯片来产生时间。由6 位数码管采用串行静态显示方式,其中数码管DS1 和DS2 用于显示小时数据,采用24h 制;数码管DS3和DS4 用于显示分钟数据:数码管DS5和DS6用于显示秒数据。在本实例中,通过四个按键实现对时、分、秒位数据的调节,真中按键S1是用来设置要调节的位,按一次则秒位数据闪烁,对秒位进行操作,按两次则分位数据闪烁,对分位进行操作,按三次则小时数据闪烁,则对小时数据进行操作;按键S2是用于对要调节的数据位进行加1 操作;按键S3是用于对要调节的数据位进行减1操作;当按键S4 被按下时,则将跳出调整模式,返回默认显示。总体电路如图所示。
3 软件设计
3.1 主函数软件流程图
主函数软件流程如图所示。