萌芽MENGYA 发表于 2024-3-8 13:24:55

DS1302时钟冒号按秒亮灭办法

//不用定时器,不用延时函数,可同时检测DS1302是否走秒。每分钟60次亮灭不多不少
void md()/*秒点*/
{
        unsigned int d,s,i;
        i=1500;/*亮点时长,晶振不同,数值不同*/
if(TIME%2==1)/*单秒*/
        {
                d++;
                if(d<i)
                {
   COM2_DC_L=dm]+0x80;
                }
                else
                {
               COM2_DC_L=dm];
                }
        }
        if(TIME%2==0)/*双秒*/
        {
    d=0;
          s++;
          if(s<i)
          {
   COM2_DC_L=dm]+0x80;
          }
          else
                {
               COM2_DC_L=dm];
                }       
        }
          if(TIME%2==1)/*单秒*/
        {
                s=0;/*因为时序问题,清零需要放在自加后面*/
        }
}

页: [1]
查看完整版本: DS1302时钟冒号按秒亮灭办法