这是一段控制流水灯的粗糙的程序,用外中断1控制流水灯的关停,用编辑器(KELL)编译没报错,把程序拷到板上,能正常启动,再按下中断想让它停止时每次都跑飞,超级初学者,一直搞头不清,祈求点评<br />#include<reg51.h><br />#include<intrins.h><br />sbit P2_3=P2^3;<br />void delayms(unsigned int ms) <br />{ <br /> unsigned char i;<br /> while(ms--)<br /> {<br /> for(i=0; i < 120; i++);<br /> }<br />}<br />void main(void)<br />{<br /> unsigned char LED,a,b;<br /> P2_3=1;<br /> LED=0xfe;<br /> P1=LED;<br /> EA=1;<br /> EX1=1;<br /> IT1=1;<br /> do{}while(P2_3==1);<br /> while(P2_3==0)<br /> {<br /> a=7;<br /> b=7;<br /> while(a--)<br /> {<br /> delayms(500);<br /> LED = _crol_(LED,1); <br /> P1 = LED;<br /> <br /> }<br /> while(b--)<br /> {<br /> delayms(500);<br /> LED=_cror_(LED,1);<br /> P1=LED;<br /> } <br /> }<br />}<br />void interrupt1() interrupt 2 using 1<br />{<br /> P2_3=!P2_3;<br />}<br /> |
|