Way1,
1 #include2 sbit LED0=P1^0; 3 void delay(float t) 4 { 5 unsigned int j,i; 6 j=t*100; 7 while(j--) // 150400-1 8 { 9 for(i=1505;i;i--); //1505-1=1504 1504-1=1503 10 }11 }12 void main()13 {14 while(1)15 {16 LED0=0;17 delay(0.5);18 LED0=1;19 delay(0.5);20 }21 }
Way2,
1 #include2 sbit LED0=P1^0; 3 sbit LED1=P1^1; 4 sbit LED2=P1^2; 5 sbit LED3=P1^3; 6 sbit LED4=P1^4; 7 sbit LED5=P1^5; 8 sbit LED6=P1^6; 9 sbit LED7=P1^7;10 11 void delay(float t)12 {13 unsigned int j,i;14 j=t*100;15 while(j--) // 150400-1 16 {17 for(i=1505;i;i--); //1505-1=1504 1504-1=1503 18 }19 }20 void main()21 {22 while(1)23 {24 LED0=0;25 delay(0.5);26 LED0=1;27 delay(0.5);28 29 LED1=0;30 delay(0.5);31 LED1=1;32 delay(0.5);33 34 LED2=0;35 delay(0.5);36 LED2=1;37 delay(0.5);38 39 LED3=0;40 delay(0.5);41 LED3=1;42 delay(0.5);43 44 LED4=0;45 delay(0.5);46 LED4=1;47 delay(0.5);48 49 LED5=0;50 delay(0.5);51 LED5=1;52 delay(0.5);53 54 LED6=0;55 delay(0.5);56 LED6=1;57 delay(0.5);58 59 LED7=0;60 delay(0.5);61 LED7=1;62 delay(0.5);63 }64 }
Way 3,
1 #include2 void delay(unsigned int t) //0-65535 3 { 4 while(--t); 5 } 6 void main() 7 { 8 unsigned char q;//0-255 9 P1=0xfe;//1111 1110 1111 1101 1111 101110 while(1)11 {12 for(q=0;q<8;q++)13 {14 delay(50000);15 P1<<=1;16 P1=P1|0X01; //0000 000117 } 18 }19 }
Way 4
1 #include//包含头文件,一般情况不需要改动, 2 //头文件包含特殊功能寄存器的定义 3 /*-------------------------IO口定义----------------------------*/ 4 sbit P20 = P2^0;//这是为了关闭开发板上的数码管实际应用去掉 5 sbit P21 = P2^1;//这是为了关闭开发板上的数码管实际应用去掉 6 sbit CS88 = P2^2;//这是为了关闭开发板上的点阵实际应用去掉 7 8 /*------------------------------------------------ 9 花样表格10 ------------------------------------------------*/11 unsigned char code seg[]={ 0x7f,0xbf,0xdf,0xef,12 0xf7,0xfb,0xfd,0xfe,13 0xff,0xff,0x00,0x00,14 0x55,0x55,0xaa,0xaa15 };//rom允许情况可以无限添加16 17 void Delay(unsigned int t); //函数声明18 /*------------------------------------------------19 主函数20 ------------------------------------------------*/21 main()22 {23 unsigned char i; //定义一个无符号字符型24 //局部变量 i 取值范围 0~25525 P1=0x00;//这是为了关闭开发板上的数码管实际应用去掉26 P20=0; //这是为了关闭开发板上的数码管实际应用去掉27 P21=0; //这是为了关闭开发板上的数码管实际应用去掉28 CS88=0; //这是为了关闭开发板上的点阵实际应用去掉29 P1=0xFF;//P1口置130 while(1)31 {32 P1=0xFE; //第1个LED亮33 for(i=0;i<8;i++)34 {35 Delay(20000);36 P1 <<=1;37 }38 39 P1=0x7F; //第8个LED亮40 for(i=0;i<8;i++)41 {42 Delay(20000);43 P1 >>=1;44 }45 46 P1=0xFE; //第1个LED亮47 for(i=0;i<8;i++)48 {49 Delay(20000);50 P1 <<=1;51 P1 |=0x01;52 }53 54 P1=0x7F; //第8个LED亮55 for(i=0;i<8;i++)56 {57 Delay(20000);58 P1 >>=1;59 P1 |=0x80;60 }61 //下面通过查表方法获得花样参数62 for(i=0;i<16;i++)//查表可以简单的显示各种花样 实用性更强63 {64 Delay(20000);65 P1=seg[i];66 }67 }68 69 }70 71 /*------------------------------------------------72 延时函数,含有输入参数 unsigned int t,无返回值73 unsigned int 是定义无符号整形变量,其值的范围是74 0~6553575 ------------------------------------------------*/76 void Delay(unsigned int t)77 {78 while(--t);79 }
先写自己目前进度,稍后补。。。