51单片机学习笔记———4.两个按键控制LED小灯
2022-06-09 来源:eefocus
两个按键的控制LED的程序:
/*
* @Author: 王云龙
* @Date: 2020-02-23 12:48:51
* @Last Modified by: 王云龙
* @Last Modified time: 2020-02-23 15:37:24
*/
#include #define LED P0;//设置LED引脚 sbit KEY1 = P3^4;//设置按键1引脚 sbit KEY2 = P3^5;//设置按键2引脚 void LightLed1();//点亮方式1 void LightLed2();//点亮方式2 void delay(unsigned int n);//n的取值范围是0~65535 unsigned char table1[15] = {0x7E,0xBD,0xE7,0x00,0xFF,0xDB,0xBD,0x7E,0x00,0xFF,0x00,0xFF}; unsigned char table2[] = {0xFE,0xFD,0xE7,0xEF,0xDF,0xBF,0x7E,0xFF,0x00,0xFF,0x7F,0xBF,0xDF,0xDF,,0xEF,0xF7,0xFB,0xFD,0xFE,0xFF,0x01}; void main()//两个按键 { while(1) { if(KEY1==0)//按键1,按下检测 { delay(5);//延时5ms if(KEY1==0) { LightLed1(); } while(!KEY1)//松开检测 } if(KEY2==0)//按键2 { delay(5); if(KEY==0) { LightLed2(); } while(!KEY2); } } } void delay(unsigned int n)//n的取值范围是0~65535 { unsigned char i; unsigned int j; for(i = 0;i<183;i++) { for(j = 0;j ; } } } void LightLed1()//没有标识符的点亮方式,for()循环 { unsigned char i; for(i = 0;i<15;i++) { LED = table1[i]; delay(1000); } } void LightLed2()//有标识符的点亮方式,while()循环 { unsigned char i = 0; while(table2[i]!=0x01) { LED = table2[i]; delay(1000); i++; } } 方式1跟方式2是两种不同的思路: 方式1:for()循环:通过数组中的元素个数停止 方式2:while()循环,通过数组中的标识符停止
- 六大全新产品系列推出,MCX A微控制器家族迎来创新
- 意法半导体全新STM32C5系列,重新定义入门级微控制器性能与价值,赋能万千智能设备
- 从控制到系统:TI利用边缘AI重塑嵌入式MCU的边界
- 模组复用与整机重测在SRRC、CCC、CTA/NAL认证中的实践操作指南
- 有源晶振与无源晶振的六大区别详解
- 英飞凌持续巩固全球微控制器市场领导地位
- 使用 Keil Studio for Visual Studio Code开发 STM32 设备
- 蓝牙信道探测技术原理与开发套件实践
- LoRa、LoRaWAN、NB-IoT与4G DTU技术对比及工业无线方案选型分析
- Microchip 推出生产就绪型全栈边缘 AI 解决方案,赋能MCU和MPU实现 智能实时决策




