最近买了块板子在学习单片机,有一些细节不明白,望高人指点迷津!<br /><br />其中<br />static unsigned char t; // 请各位大虾看看,此时t的初值是多少?小弟不明白为什么是0,还是其他的值。<br /><br /><br />程序如下:<br /><br />#include <reg52.h> <br /><br />sbit P00 = P0^0; <br />sbit P01 = P0^1; <br />sbit P02 = P0^2; <br />sbit P03 = P0^3; <br />sbit P04 = P0^4;<br />sbit P05 = P0^5;<br />sbit P06 = P0^6;<br />sbit P07 = P0^7;<br /><br />bit ldelay=0;<br /><br />void main(void) // 主程序<br />{<br />unsigned char code ledp[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};<br />unsigned char ledi; <br />RCAP2H =0x10; <br />RCAP2L =0x00; <br />TR2=1; <br />ET2=1; <br />EA=1; <br /> while(1) //主程序循环<br /> { <br /> if(ldelay) <br /> {<br /> ldelay=0; <br /> P0=ledp[ledi]; <br /> ledi++; <br /> if(ledi==9)ledi=0; <br /> }<br /> }<br />}<br /><br />timer2() interrupt 5 <br />{<br />static unsigned char t; // 请各位大虾看看,此时t的初值是多少?小弟不明白为什么是0<br /><br />TF2=0; <br />t++; <br /> {<br /> t=0; <br /> ldelay=1;<br /> }<br />} |
|