1、 for(a=0;at;a+) for(b=0;b120;b+);void main() while(1) P2=P2; delay(1000); /延时1s /* 实验题目要求:P23- P26口做输出口,接发光二极管,编写并调试跑马灯程序。 */void delay(unsigned int t) /延时1ms左右 unsigned char i=0,m=0; for(i=0;i4;i+) /向左移动 P2=(0x08 /*设计一个二进制减1计数器,按一次键,减1,并用4个LED显示计数结果,减至0时,重新从15开始计数。*/sbit key1=P20;sbit LED0=P26; /单片
2、机板子最右边的led灯sbit LED1=P25; /右边数第二个灯sbit LED2=P24; /右边数第三个灯sbit LED3=P23; /右边数第四个灯char number=15;unsigned char num4;void key() /通过按键对NUMBER的数值进行减计数 static unsigned char m=0; if(key1=0) m+; if(m=30) number-; if(number0) number=15; m=0; void number_change() /将十进制转换为二进制 unsigned int n=0; unsigned char j=
3、0; n=number; for(j=0;j=3) mode=0;void mode_1() /模式一 根据开发板,LED循环右移,时间间隔1s左右 unsigned char i=0,c=0; for(i=0;i+) P2|=0xf8; c=(0x08 P2&=c;void mode_2() /模式二 根据开发板,LED一闪一灭,时间间隔1s左右 led0=0; led1=0; led2=0; led3=0; delay(1000); led0=1; led1=1; led2=1; led3=1;void mode_3() /模式三 , 先循环右移,再循环左移,时间间隔1s左右 unsigned char i=0,n=0,c=0;=(0x08 switch(mode) case 0 : mode_1();break; case 1 : mode_2(); case 2 : mode_3(); /*/*采用外部中断的方式实现用1个按键控制LED的显示,要求显示3种以上的不同模式。*/sbit led1=P24;sbit led2=P25;sbit led3=P26;unsigned char mode=0; l