基于1302数码管显示可调时钟c程序设计

基于1302数码管显示可调时钟c程序设计

ID:15764587

大小:370.00 KB

页数:13页

时间:2018-08-05

基于1302数码管显示可调时钟c程序设计_第1页
基于1302数码管显示可调时钟c程序设计_第2页
基于1302数码管显示可调时钟c程序设计_第3页
基于1302数码管显示可调时钟c程序设计_第4页
基于1302数码管显示可调时钟c程序设计_第5页
资源描述:

《基于1302数码管显示可调时钟c程序设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基于1302数字可调时钟的设计--文/振勇 这是我最近完善的1302数字可调时钟,经过20多个小时的走时实验,走时相当准确,与电脑时间完全一致,最起码肉眼看不出误差,1302的另一个突出优点是可以接备用电源,用纽扣电池供电,在外部系统电力中断的情况下,仍能保持内部时钟正常走时,经多次故意掉电实验,走时正常。 基于1302数字可调时钟的设计--文/振勇 这是我最近完善的1302数字可调时钟,经过20多个小时的走时实验,走时相当准确,与电脑时间完全一致,最起码肉眼看不出误差,1302的另一个突出优点是可以接备用电源,用纽扣电池供电,在外部系统电力中断的情

2、况下,仍能保持内部时钟正常走时,经多次故意掉电实验,走时正常。  本次的完善主要在软件。一个系统能够实现功能并不一定意味着成功,关键要让这个系统如何稳定的工作,提高其可靠性,是现代电子行业努力追求的目标。本项目完全由本人在目前比较简陋的“振勇电子实验室”完成,介于条件简陋,设备简单,导致硬件系统尚不完善。在软件编程方面,用先进的ASP下载取代了我一贯使用的串口下载,其好处是不用冷启动(个人认为除此之外没别的好处,而且下载效率没有串口的高,成功率保持在50%就很不错了)。单片机用ATMEL公司的AT89S52取代了我以前用的STC系列单片机,STC是国

3、产单片机,虽然我们提倡支持国产,但是很多时候国产真的太不争气了。    另一个比较大的改动在软件调时方面,按键抖动是一个很让人头疼的问题,就连我一直很佩服的郭天祥老师在这一块也曾犯过错误,而且错误还著书出版了,单片机的扫描是很快的,那么怎么才能有效地去除按键抖动呢?下面我介绍的这种方法是我自己纯脑力劳动的结晶,实验证明运行效果良好。    if(key==0)    {        con++;        if(con==20)        {            con==0;            qita();        }   

4、 }一般人都能理解这个用法,也能想到,但关键这个程序不完整,比方说con没加到20,加到10就松开了,那么请问con还能被清0吗?显然不能。那么你下一次再按的时候就有可能按一下加两下,这种不稳定性在编程中是不能存在的,最起码一个合格的产品不能有这样的毛病。所以在这个函数里面应该加上下面这句:elseif(key==1){    if(con!=0)    {        con=0;    }}这个函数很简单,关键是它的位置,一定要与上面的的那个函数在同一位置。 该数字时钟另一个有技术含量的地方就是在调节时间的时候会在对应的位置闪烁,原理也很简单,

5、就是在显示之前加一个门卡,比方说占空比50%的闪烁,那我就定义一个son,让son++;加满是60,那加到30以后让数码管不显示,就行了。程序如下: elseif(num2==0)  {   son++;   if(son>30)   {    aa=bb=10;    if(son==60)    {     son=0;    }   }aa和bb是对应的两位共阳数码管。等于10就是除了小数点以外都不亮,也可以直接等于0.这个函数也是我没有参考任何程序纯自主研发的。编程这一块锻炼的是思维方式,同一个问题,我能用不同的方法来实现,关键是哪一种更合理

6、。编程没有标准答案,只有更好没有最好。有的人会评价别人的程序思路偏或者怎么怎么样,实际上是自己的思路出了问题,咱们的思路不一样,你又不愿意承认自己有问题,你当然会说别人有问题了。呵呵,那么谁才能检验真理呢?邓小平说过一句话:实践是检验真理的唯一标准。  下面是我的1302显示的完整的程序:#include#include#defineucharunsignedchar#defineuintunsignedintucharmiao,fen,shi,aa,bb,cc,dd,ee,ff,gg,num1,num2,nu

7、m3,con,son;ucharcodetable[]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09,0xff};sbitDATA=P2^1;sbitRST=P2^2;sbitSCLK=P2^0;sbitwela=P3^0;sbitdula=P3^1;sbitd1=P1^0;sbitkey1=P1^4;sbitkey2=P1^3;sbitkey3=P1^2;sbitkey4=P1^1;voiddelaynus(ucharn){ uchari; for(i=0;i

8、ite1302(uchardat){ uchari; SCLK=0; delaynus(2); for(i=

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。