阅读程序题2:设51单片机系统的晶振频率fosc=12MHZ,编程实现P2口从低位到高位(P2.7←P2.0)循环点亮的流水灯,各位间隔50ms,50ms时间用定时器T1来实现。 #include unsigned char deng[]=(__); //定义数组 unsigned char m=0; //定义一个变量m, //m用来记录流水灯的状态 void main() { TMOD=0x10; //设置TMOD(T1,计数8次) TH1=(65536-50000)/256; //给T1赋初值 TL1=(__); EA=1; //开中断 (__); TR1=1; //启动T1 while(1);//原地等待 } void time1( ) interrupt (__) //T1的中断函数 { TH1=(65536-50000)/256; //给T1赋初值 TL1=同上面第二个空,不用填; P2=deng[m]; //从P2口输出流水灯 m++; (__); //如果8个状态完,m清0 }