找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1577|回復: 5
打印 上一主題 下一主題
收起左側

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

[復制鏈接]
跳轉到指定樓層
樓主
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 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:161164 發(fā)表于 2024-3-8 16:52 | 只看該作者
為啥不用定時器?
回復

使用道具 舉報

板凳
ID:796012 發(fā)表于 2024-3-9 10:53 | 只看該作者
lkc8210 發(fā)表于 2024-3-8 16:52
為啥不用定時器?

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

使用道具 舉報

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

使用道具 舉報

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

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

使用道具 舉報

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

哦。好吧
回復

使用道具 舉報

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

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

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

快速回復 返回頂部 返回列表