/***************/
sbit led = P2^0; //管脚定义
unsigned char count="0"; //定义变量
/**********************************/
void time0(void) interrupt 1 using 1 //产生50MS定时
{
TH0=(65536-50000)/256; //重新设置定时器 初值
TL0=(65536-50000)%256;
count++; //50ms太短,闪烁频率太快
if(count==10) //用变量 count 延长到500ms
{
count=0; //计数器清零
led=!led; //取反
}
}
/***************/
void main(void)
{
TMOD="0x01"; //T0 工作在方式1 16位计数器
TH0=(65536-10000)/256; // 预先 设定定时器 初值
TL0=(65536-10000)%256;
EA="1"; //开启 总中断
ET0=1; //开启定时器 0
TR0=1; //定时器 0 的运行标志位
while(1) //死循环
{ //程序是在 定时器中断中完成的!
}
}
文章评论(0条评论)
登录后参与讨论