/*程序名:P1口1S闪烁灯*/
/*程序功能:用软件计数和定时器中断实现1S定时,使P1口实现1S闪烁*/
/*作者:POLO*/
#include<reg51.h>
unsigned char count="0";//定义外部变量用于计数
void time0_int(void) interrupt 1//定时器T0中断服务子程序
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
count++;//计数值加1
if(count>=20)//判断计数值到20否
{
P1=~P1;
count="0";//计数值清零
}
}
int main(void)//主函数
{
P1=0xff;
TMOD="0x01";//定时器T0为定时方式1
EA="1";
ET0=1;//开中断
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;//装定时器初值
TR0=1;//启动定时器
for(;;);//等待中断
}
文章评论(0条评论)
登录后参与讨论