香港腕表价格交流群

【实例分享】数字电子时钟设计

2020-11-09 12:49:05

提示:请点击上方↑↑↑单片机精讲吴鉴鹰一键免费关注!

微信第一单片机技术分享公众号

单片机精讲吴鉴鹰

推荐关注单片机精讲吴鉴鹰微信号:wujianying_danpianji,点击长按复制。

以单片机为核心的电子产品行业,是一个瞬息万变的领域,不时时关注行业动态,不了解行业大势所向,不善于把握大势,如何能够抢抓机遇,顺势而为,请关注【微信号】wujianying_danpianji,实时了解信息,抓住机遇时不我待。

扫一扫二维码或者长按图片识别二维码关注

导读

数字电子时钟是许多初学者在学习单片机之初觉得很神奇的东西,也都有跃跃欲试想独立制作的想法,但是由于硬件知识,焊接功夫,软件使用,程序设计等多方面因素没能将电子时钟制作的想法进行到底。今天鉴鹰就陪大家一起设计一个简单的电子时钟,这个内容结合了数码管以及定时器的相关知识,同时进一步加深程序的设计的思想,在学习中体会流程图是如何设计的。若有疑问欢迎咨询,吴鉴鹰单片机精讲。


1.硬件电路设计

如下图是电子时钟的电路设计,按键的作用:其中K1将小时加1K2将小时减1K3用于将分钟加1K4用于将分钟减1;数码管用于显示数字时间关于电路说明如下:

1:按键:四个独立按键占用单片机p1.4p1.5p1.6p1.7引脚,并且每个引脚上加上拉电阻,保证按键释放后引脚上为可靠的高电平,以区分按键的按下和释放状态。

2:显示电路采用四位一体的数码管两个,采用动态显示方式,P0口送显示段码决定数码管显示什么数字,P2口送位选码决定哪个数码管显示,P0口上接0.47K的电阻为限流电阻,调节数码管的亮度,10K电阻为P0口上拉电阻。


2:软件设计思想

首先分析一下,完成数字电子时钟应该让程序完成哪些任务,然后再把任务合理的组合起来,最后形成清晰的流程图,数字电子时钟应该具备一下几个基本的功能。

第一:要求每隔一秒钟位加一,且在到60秒时位清零,同时分钟位加1,如果分钟位到60那么小时位要加1,同时分钟位清零,而且时位到了24要将时位清零,这部分由定时器T0中断服务子程序TIMER0完成。

第二:由于在本设计中采用的是动态显示方式,因此单片机在能够完成第一中的任务的情况下,要“经常”去执行一个显示程序,保证数码管不熄灭,看上去一直显示当前的时间信息,这部分由显示子程序DESPLAY完成。

第三:定时调用一个按键子程序,完成对按键是否按下的判定,如果有按键按下,则根据按下的按键做相应处理,如果没有按键就继续执行其他程序,如显示子程序,按键程序有KEY完成。

第四:要对最新的当前时间进行数据进行处理,如当前时间为“12-11-06“,要实现这个数据在数码管上显示,需要将时,分,秒三个数码管分别拆成十位和各位两个数字,如秒位位06需要拆成06两个数字,这部分由PROCESS程序完成,实现的原理是分别用时,分,秒这三个数据除以10,将得到的十位和各位分别存在两个单独的存储器里,这样就实现了将数据分开的目的。

第五:除了上述主要程序以外,当然还要有初始化子程序,这部分主要是为上面的程序做准备工作,这部分有START开始到MAIN结束的这段代码。

上述的五部分内容在程序中是这样安排的,首先执行初始化子程序,将一切准备工作做好后,进入到一个无限循环执行的程序,其中主程序包括按键子程序,数据处理子程序和显示子程序,还有就是定时1秒进行秒,分,时的进位问题,这部分交给定时器完成。


喜欢本文的亲们,欢迎转载点赞


| 单 | 片| 机 | 精 | 讲 | 吴| 鉴 | 鹰 |

微信第一单片机分享 最受欢迎图文公号

微信号:wujianying_danpianji

《2015.4.17》● 技术源于积累,成功来自执着——单片机精讲吴鉴鹰

欢迎转载,但是请保持以上内容的完整性!来源:单片机精讲吴鉴鹰

友情链接

Copyright © 2023 All Rights Reserved 版权所有 香港腕表价格交流群