独立按键控制LED灯的状态
一、独立按键模块介绍
开发板上四个独立按键共阴极,当按键不按时对各自对应的IO口输出高电平1,按键按下时输出低电平0;结合对独立按键IO口输出信号的判断对其进行编程则可以控制LED灯的亮灭。
二、独立按键控制LED灯光
1、独立按键控制LED灯的亮灭
使用if{ }else{ }语句对第一个独立按键对应的IO口信号的判断,按下按键保持不动持续输出低电平,第一个LED灯亮,松手,按键回弹输出高电平,则LED灯灭。
#include void main()
{while(1){if(P3_1==0){P2_0=0;}else{P2_0=1;}}
}
2、独立按键控制LED灯的状态

由于按键按下会跟洞开瞬间会伴随一连串的抖动,再按键按下时和松开时加入延时函数,等输出信号稳定之后再进行判断。
#include void Delay(unsigned int xms)
{unsigned char i, j;while(xms){i = 2;j = 199;do{while (--j);} while (--i);xms--;}
}void main()
{while(1){if(P3_1==0) //如果K1按下{Delay(20); //延时20ms进行消抖while(P3_1==0) //松手检测,按键保持按下的状态会进入死循环Delay(20); //延时20ms进行消抖P2_0=~P2_0; //对第一个LED灯的状态取反}}
}
3、独立按键控制LED灯移位
#include unsigned char LEDNum;void Delay(unsigned int xms)
{while(xms){unsigned char i, j;i = 2;j = 199;do{while (--j);} while (--i);xms--;}
}void main()
{ P2_0=0; //上电第一个LED灯点亮while(1){ if(P3_1==0) /按下K1{Delay(20); //延时消抖while(P3_1==0); //松手检测Delay(20); //延时消抖LEDNum++; //每次按下K1,LEDNum自增一次if(LEDNum>=8) //越界清零,LEDNum超过8数据清零LEDNum=0;P2=~(0x01<
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

