| 多谢!改好了! |
|
1.定时器设置错误 2.P1_0大小写混用 #include<reg51.h> sbit P1_0=P1^0;//通过P1.0口产生方波,定义一个特殊位 void main() { TMOD= 0x10; //设置定时器T1的方式1 TH1 = 0xfc; //设置定时初值 TL1 = 0x18; //设置定时初值 TF1 = 0; //清除TF1标志 TR1 = 1; //定时器1开始计时 // TMOD=0x50;//选用T1的方式1 // TH1=0xfc;//高位设定初值 // TL1=0x17;//低位设定初值 // TR1=1;//启动定时器T1 // p1_0=1;//P1.0口为高电平 P1_0=1;//P1.0口为高电平 while(1) { if(TF1)//如果计满,TF1就是1 { TH1=0xfc;//重新装入 TL1=0x18;//重新装入 P1_0=~P1_0;//P1.0口电位定时取反 TF1=0;//将中断标志位清零 } } } |