设单片机的机器周期为2us,使用定时器1以方式1产生周期为500us的等宽正方波连续脉冲并由P1.0输出,求解答

设单片机的机器周期为2us,使用定时器1以方式1产生周期为500us的等宽正方波连续脉冲并由P1.0输出,以中断方式完成。

第1个回答  2010-09-18
#include<reg51.h>
void main()
{
TMOD=0x20;//方式2,比方式一更精确
TH1=131;
TL1=131;//写入定时器初值,每250us中断
TR1=1;//启动定时器1
ET1=1;//打开定时器中断
EA=1;//开总中断
P1=1;
while(1)//程序循环
{
}
}

void timer1() interrupt 3//中断函数,每250us中断,t的值加1
{
if(P1==1)
P1=0;
else
P1=1;

}本回答被提问者和网友采纳
第2个回答  2010-09-18
设定一个变量等于250,中断发生一次减一,减为0时,电平改变极性
相似回答