potel et chabot:中断中的if语句怎么好像没有用?

来源:百度文库 编辑:中科新闻网 时间:2024/05/05 16:52:19
我编的程序是这样的:
#include<reg51.h>
sbit P1_0=P1^0;

unsigned char count1=0;
void timer0(void)interrupt 1 using 1
{
TH0=(65536-307)/256;
TL0=(65536-307)%256;
if(++count1==1){P1_0=0;}
else if(count1>=4){P1_0=!P1_0;}
else if(count1==120)
{
count=0;
P1_0=0;
}

main()
{
TMOD=0x01;
TH0=(65536-307)/256;
TL0=(65536-307)%256;
EA=1;
ET0=1;
TR0=1;
ET1=1;
TR1=1;
do{}
while(1);
}
主要是输出一个000101010101010。。。。1010无限循环这样的一个波形。
小弟急得不行了,总也出不来想要的波形。哪位大师能给我解释一下出了什么原因了。怎么有的地方同时出现高电平和低电平。不知什么原因。