单片机原理及应用——基于Proteus和Keil C林立版课后习题答案

次为400us,在中断计数为1和2(或任意两次计数之间)时,对P1.0求反即可。 #include

sbit P1_0=P1^0; //输出周期引脚

unsigned char cnt=0; //中断次数计数器,初值为0 void main(){ P1_0=0; //输出初值为0 TMOD=0x02; //T0方式2定时

TH0=256-40; //计40次,计数初值为模256减40 TL0=TH0;

IE=0x82; //允许CPU响应中断,允许T0发中断请求 TR0=1; //启动T0

for(;;){} //无限循环等待中断 }

void timer0()interrupt 1 using 1{ cnt++;//中断次数加1

if(cnt==1||cnt==2) P1_0=!P1_0; //中断次数为1或2时对输出引脚求反 if(cnt==10)cnt=0; //中断次数达到10时复位为0 }

联系客服:779662525#qq.com(#替换为@)