这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » DS1302显示

共2条 1/1 1 跳转至

DS1302显示

菜鸟
2013-11-27 12:51:59     打赏
我的那个开发板配套的用数码管显示时间程序,最后几句是这样的

main()

{

    ds1302_init();

    while(1)

      {

         read_time();

         display();

      }

一开始我不明白为什么要用while死循环,所以我尝试把while程序改成这样

for(i=0;i<200;i++)

{

   read_time();

   display();

}

结果,数码管上秒钟从0变到1,又立即变回0,又变到1,又变到0,如此循环;当我把i<200改成i<300,数码管显示又正常了。这是什么原因呢,怎么解释??好像要有个最小起振时间似的。

另外,我的6位数码管是连接了两个HC573锁存器,程序则是采取轮流打开位选,段选的方式。

菜鸟
2013-11-28 10:23:03     打赏
2楼
确实,果然是高手!那这样的话如果 i 增加到255后,这个for循环会怎么执行呢??因为此时 i 的值已经到它的最大值了,i 会变成多少??

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]