//---------------------------包含所需头文件-----------------------------
#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';
}
}
}
}
}
}