3-1独立按键控制LED亮灭
本段代码主要使用了if...else...语句实现按下按下灯亮,松开按键时灯灭
#include void main() { while(1) { if(P3_1==0&&P3_0==0) { P2_0=0; } else { P2_0=1; } } } 3-2独立按键控制LED状态 首先使用较为灵活的延时函数生成代码,进行修改后如下 void Delay(unsigned int xms) { unsigned char i, j; while(xms) { i = 2; j = 239; do { while (--j); } while (--i); xms--; } } 按键代码: void main() { while(1) { if(P3_1==0) { Delay(20); while(P3_1==0); //{} Delay(20); P2_0=~P2_0; } } } 实现效果: 3-2独立按键控制LED状态 3-3独立按键控制LED显示二进制 显示二进制的延时函数与上述一致,但是按键部分稍有变化 if(P3_1==0) { Delay(20); while(P3_1==0); Delay(20); LEDNum++; P2=~LEDNum; } 注意:要对按键进行消抖,判断按键是否仍然继续按下,在此之前定义一个局部变量记录变化,最后让其取反赋值给P2 unsigned char LEDNum=0; 实现效果: 3-3独立按键控制LED显示二进制 3-4独立按键控制LED移位 3-4设置两个按键控制LED灯的移位,延时部分一致,与3-3比较可以定义一个全局变量 unsigned char LEDNum; P3_1控制LED右移,P3_0控制LED左移 if(P3_1==0) { Delay(20); while(P3_1==0); Delay(20); LEDNum++; if(LEDNum>=8) LEDNum=0; P2=~(0x01< if(P3_0==0) { Delay(20); while(P3_0==0); Delay(20); if(LEDNum==0) LEDNum=7; else LEDNum--; P2=~(0x01< 一开始D1是不亮的,所以可在代码前添加以下代码,表示将其状态取反后赋值给P2 P2=~0x01; 实现效果:
上一篇:51单片机点亮LED灯、流水灯
下一篇:解决keil5中的中文乱码问题
推荐阅读最新更新时间:2024-11-17 04:42
设计资源 培训 开发板 精华推荐
- #第八届立创电赛#桌面电子时钟
- XRP7714EVB-DEMO-2P,四通道数字 PWM 演示板
- 松下PAN9026:短距离全方位解决方案
- C8051F360DK,用于 C8051F365 8051 微控制器的开发套件
- TWR-VF65GS10-KIT,基于 ARM Cortex-A5 和 Cortex-M4 处理器和 ARM DS-5 工具链的混合控制器解决方案嵌入式系统
- 【训练营】智能开关
- DebugCenter
- AM2G-1209DH30Z ±9V 2 瓦 DC-DC 转换器的典型应用
- ZHT431 大电流并联稳压器的典型应用
- AM1S-0324SH30Z 1W DC-DC转换器典型应用