代码如下:<br />/********<br />2009-1-23<br />采用中断方式<br />Chow<br />********/<br />#include<reg52.h><br />#define uchar unsigned char;<br /><br />uchar code tab_lcd[]={<br />0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,<br />0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,<br />0x86,0x8e,0x89,0xc1,0xf1,0xc8,0x7f,<br />};//共阳LCD 数字表:0--f<br /><br />uchar code tab_dx[8]={<br />0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe<br />};//LCD段选开关<br />unsigned int i,j;<br />sbit d1 = P1^1;<br /><br />void delay(unsigned int z)<br />{<br /> for(i=0; i<z; i++);<br />}<br /><br />void exter0() interrupt 0//中断0<br />{<br /> d1 = 0; <br />} <br /><br />int main()<br />{<br /> EA = 1;<br /> EX0 = 1;<br /> while(1){<br /> for(j=0; j<16; j++){<br /> P2 = tab_dx[j%8];<br /> P0 = tab_lcd[j];<br /> delay(50000);<br /> d1 = 1;<br /> }<br /> }<br /> return 0;<br />}<br />程序启动后,<br />我将P3.2口即int0 于 Gnd 用杜邦线连接,lcd并没有中断停止,而是比原来显示速度慢了许多,拔去后恢复正常。<br /><br />请问lcd为何没有停止,而是变慢了? |