swtich语句的控制P0口8位LED的点亮状态
单片机源程序如下:
- //实例20:用swtich语句的控制P1口8位LED的点亮状态
- #include<reg51.h> //包含单片机寄存器的头文件
- sbit K5=P3^2; //将K5位定义为P1.4
- /*****************************
- 函数功能:延时一段时间
- *****************************/
- void delay(void)
- {
- unsigned int n;
- for(n=0;n<20000;n++)
- ;
- }
- /*****************************
- 函数功能:主函数
- *****************************/
- //download by http://www.codefans.net
- void main(void)
- {
- unsigned char i;
- i=0; //将i初始化为0
- while(1)
- {
- if(K5==0) //如果S1键按下
- {
- delay(); //延时一段时间 按键消抖
- if(K5==0) //如果再次检测到S1键按下
- i++; //i自增1
- if(i==9) //如果i=9,重新将其置为1
- i=1;
-
- }
- switch(i) //使用多分支选择语句
- {
- case 1: P1=0xfe; //第一个LED亮
- break;
- case 2: P1=0xfd; //第二个LED亮
- break;
- case 3:P1=0xfb; //第三个LED亮
- break;
- case 4:P1=0xf7; //第四个LED亮
- break;
- case 5:P1=0xef; //第五个LED亮
- break;
- case 6:P1=0xdf; //第六个LED亮
- break;
- case 7:P1=0xbf; //第七个LED亮
- break;
- case 8:P1=0x7f; //第八个LED亮
- break;
- default: //缺省值,关闭所有LED
- P1=0xff;
- }
- }
- }
复制代码
所有资料51hei提供下载:
swtich语句的控制P0口8位LED的点亮状态.zip
(9.22 KB, 下载次数: 36)
|