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