找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1669|回復(fù): 5
收起左側(cè)

解決了DS1302時鐘點按秒閃爍的問題,不用定時器也不用延時函數(shù),只需函數(shù)內(nèi)計數(shù)

[復(fù)制鏈接]
ID:796012 發(fā)表于 2024-3-8 13:19 | 顯示全部樓層 |閱讀模式
void md()/*秒點準確無誤,不多不少,剛好亮滅60次*/
{
        unsigned int d,s,i;
        i=1500;/*亮點時長,晶振不同,數(shù)值不同*/
  if(TIME[0]%2==1)/*單秒*/
        {
                d++;
                if(d<i)
                {
     COM2_DC_L=dm[disp[9]]+0x80;
                }
                else
                {
                 COM2_DC_L=dm[disp[9]];
                }
        }
        if(TIME[0]%2==0)/*雙秒*/
        {
    d=0;
          s++;
          if(s<i)
          {
     COM2_DC_L=dm[disp[9]]+0x80;
          }
          else
                {
                 COM2_DC_L=dm[disp[9]];
                }        
        }
          if(TIME[0]%2==1)/*單秒*/
        {
                s=0;/*因為時序問題,清零需要放在自加后面*/
        }
}

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復(fù)

使用道具 舉報

ID:161164 發(fā)表于 2024-3-8 16:52 | 顯示全部樓層
為啥不用定時器?
回復(fù)

使用道具 舉報

ID:796012 發(fā)表于 2024-3-9 10:53 | 顯示全部樓層
lkc8210 發(fā)表于 2024-3-8 16:52
為啥不用定時器?

這是在函數(shù)內(nèi)計數(shù)了。只是不用另外設(shè)置定時器
回復(fù)

使用道具 舉報

ID:401564 發(fā)表于 2024-3-9 22:42 | 顯示全部樓層
用處不大
定時器作為單片機常用功能之一,你肯定得學會用
一旦你會用了,封裝成一個函數(shù),后期的代碼復(fù)制就行了
而對于時鐘秒閃這種東西,0.8秒一次和1秒一次,其實區(qū)別不大,給人感覺都是"1秒"閃一次,差不多就行
而你這個方法,也沒感覺比定時器好到哪里去,反而是增加了代碼的邏輯,讓代碼更復(fù)雜而已
回復(fù)

使用道具 舉報

ID:213173 發(fā)表于 2024-3-10 06:41 | 顯示全部樓層
玉萌業(yè)余發(fā)展 發(fā)表于 2024-3-9 10:53
這是在函數(shù)內(nèi)計數(shù)了。只是不用另外設(shè)置定時器

用定時器設(shè)定一個時長,通常0.5s。當TIME[0]發(fā)生變化即觸發(fā)閃秒。
回復(fù)

使用道具 舉報

ID:796012 發(fā)表于 2024-3-10 11:26 | 顯示全部樓層
Y_G_G 發(fā)表于 2024-3-9 22:42
用處不大
定時器作為單片機常用功能之一,你肯定得學會用
一旦你會用了,封裝成一個函數(shù),后期的代碼復(fù)制就 ...

哦。好吧
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表