|
void main()
{
P0M0=0x00;P0M1=0x00;
P1M0=0x00;P1M1=0x00;
P2M0=0x00;P2M1=0x00;
P3M0=0x00;P3M1=0x00;
P4M0=0x00;P4M1=0x00;
P5M0=0x00;P5M1=0x00;
P6M0=0x00;P6M1=0x00;
P7M0=0x00;P7M1=0x00;
AUXR &= 0x7F; //定時(shí)器時(shí)鐘12T模式
TMOD &= 0xF0; //設(shè)置定時(shí)器模式
TL0=0xB0; //設(shè)置定時(shí)初始值,50毫秒@12.000MHz
TH0=0x3C; //設(shè)置定時(shí)初始值,50毫秒@12.000MHz
TF0=0; //清除TF0標(biāo)志
TR0=1; //定時(shí)器0開始計(jì)時(shí)
ET0=1; //使能定時(shí)器0中斷
AUXR |= 0x04; //定時(shí)器2為1T模式
AUXR |= 0x08; //T2_C/T=1, T2(P3.1)引腳為時(shí)鐘源
T2H=T2L=0xff; //初始化計(jì)時(shí)值
AUXR |= 0x10; //定時(shí)器2開始計(jì)時(shí)
IE2 |= 0x04; //開定時(shí)器2中斷
EA=1;
while (1);
}
void tm0_isr() interrupt 1
{
static unsigned char count,counts;
if(count++==20) //50ms*20 → 1s
{
//1秒定時(shí)
}
}
void t2int() interrupt 12 //中斷入口
{
//計(jì)數(shù)器
}
|
|