时钟模块.C

//---------------------------包含所需头文件-----------------------------
#include <ioM16v.h>

/*------------------------------------------------------------------------
void init_devices(void)
{
 CLI(); //-------------------禁止所有中断
 timer0_init();
 SEI();//--------------------开全局中断
}
----------------------------------------------------------------------*/

uchar count=0;//-------------(时间)中断次数计数器
uchar time[]="00:00";
//---------------------------定时器T0初始化------------------------------
void timer0_init(void)
{
 TCNT0  = 0x06;//------------初始值--定时8ms
 TIMSK |= 0x01;//------------中断允许
 TCCR0  = 0x04;//------------启动定时器
}
//---------------------------T0溢出中断服务程序-------------------------
#pragma interrupt_handler timer0_ovf_isr:10
void timer0_ovf_isr(void)
{
   TCNT0 = 0x06;//------------初始值--定时8ms
   count++;
  if(count==125)//--------------------计时1秒钟 
  {
    count=0;
   time[4]++;
    if(time[4]>'9')//-------------计时10秒钟                
      {
      time[4]='0';
      time[3]++;
      if(time[3]>'5')//---------计时1分钟            
      {
        time[3]='0';              
     time[1]++;
     if (time[1]>'9')//----计时10分钟
     {
       time[1]='0';
       time[0]++;
        if (time[0]>'5')//计时一小时
        {
          time[0]='0';
      }       
     }      
    }  
   }
  }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值