
我定时器按照这个题目做了一份
基本上到达要求
#include
#define u8 unsigned char
#define s8 char
#define u16 unsigned int
#define s16 int
sbit led1=P0^0;
sbit led8=P0^7;
void cls_buzz(void)
{
P2 = (P2&0x1F|0xA0);
P0 = 0x00;
P2 &= 0x1F;
}
void htc573()
{
P2 = ( P2&0x1f)|0x80;
}
//=====================
void InitTimer0()
{
TMOD =0X01;//¸³Öµ¶¨Ê±Æ÷
TH0=(65535 - 50000)/256;
TL0=(65535 - 50000)%256;
ET0=1;EA=1;TR0=1;
}
u8 count=0;
u8 count1=0;
void zhongduanTimer0() interrupt 1
{
TH0=(65535-50000)/256;
TL0=(65535-50000)%256;
count++;
count1++;
if(count == 10)
{
led1 = ~led1;
count = 0;
}
if(count1 == 500)
{
led8 = ~led8;
count1 = 0;
}
}
//=====================
void main()
{
cls_buzz();
htc573();
InitTimer0();
while(1)
{
}
}
