您现在的位置: 主页 > 嵌入式开发入门到精通 > 单片机技术进阶 > 51 单片机:按键控制灯亮灭和闪烁 -
本文所属标签:
为本文创立个标签吧:

51 单片机:按键控制灯亮灭和闪烁 -

来源: 网络用户发布,如有版权联系网管删除 2018-09-08 

[导读]
要求:上电灯不亮,按一下按键灯亮,再按一下灯闪烁,再按一下灯闪烁更快,再按一下灯灭...。如此循环。为此,编程如下。//----------------------------------------------#includeunsigned char n =

要求:

本文引用地址: http://www.21ic.com/app/mcu/201806/764385.htm


上电灯不亮,按一下按键灯亮,再按一下灯闪烁,再按一下灯闪烁更快,

再按一下灯灭...。

如此循环。


为此,编程如下。


//----------------------------------------------


#include51.h>


unsigned char n = 0;


sbit key = P3^4;

sbit led = P0^0;


void delay()

{

unsigned int i, j;

for(i = 0; i < 100; i++) for(j = 0; j < 500; j++);

}


void readkey(void)

{

unsigned char i, j;

if(!key) {

for(i = 0; i < 10; i++)

for(j = 0; j < 120; j++); //延时消抖

if(!key) {

while(!key); //等待按键释放

n++;

n %= 4; //n = 0~3

}

}

}


main()

{

while(1) {

switch(n) {

case 0: led = 1; readkey(); break; //熄灭

case 1: led = 0; readkey(); break; //长亮

case 2: delay(); readkey(); //慢速闪烁

case 3: delay(); readkey(); led = ~led; //快速闪烁

}

}

}


//----------------------------------------------


本程序经过了实践验证,可以满足题目的要求。




              查看评论 回复



嵌入式交流网主页 > 嵌入式开发入门到精通 > 单片机技术进阶 > 51 单片机:按键控制灯亮灭和闪烁 -
 

"51 单片机:按键控制灯亮灭和闪烁 -"的相关文章

网站地图

围观()