单片机编程当k1按下时四个灯亮,松开则四个灯不亮

如题所述

虽然你没有说是哪种单片机,下面给出C51单片机的代码,以K1连着单片机的PA0,以PA0为低电平时为按下按键,LED1~4分别连着PA1~4为例:
/***************绝对原创,望能帮助到你,希望在帮助你的同时,给我个最佳答案,也不枉我打了这么详细的代码了,谢谢,(*^__^*) *************************/
//先定义对应的IO
#define K1 PA^0
#define LED1 PA^1
#define LED2 PA^2
#define LED3 PA^3
#define LED4 PA^4
void main(void) //主函数
{
while(1) //死循环扫描

{
if(K1 == 0) //如果K1按键被按下

delay_ms(20); //防抖,20ms的延时

if(K1== 0) //如果K1按键被按下
{
LED1 = 1; //点亮4个LED灯

LED2 = 1;

LED3 = 1;

LED4 = 1;

while(K1==0) //等待K1键被抬起

{
;

}
}

LED1 = 1; //平时没按下K1按键时,熄灭4个LED灯

LED2 = 1;

LED3 = 1;

LED4 = 1;
}
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-10-21
单片机io扫描按键电平,控制四个灯的io电平高低变化即可
第2个回答  2015-10-20
你什么单片机啊

单片机编程当k1按下时四个灯亮,松开则四个灯不亮
if(K1 == 0) \/\/如果K1按键被按下 delay_ms(20); \/\/防抖,20ms的延时 if(K1== 0) \/\/如果K1按键被按下 { LED1 = 1; \/\/点亮4个LED灯 LED2 = 1;LED3 = 1;LED4 = 1;while(K1==0) \/\/等待K1键被抬起 { ;} } LED1 = 1; \/\/平时没按下K1按键时,熄灭...

51单片机按键控制按下K1四个led灯循环亮,再按一下全灭,c程序怎么写
在四个灯循环点亮的状态下,每点亮一个灯需要延时,如果调用延时子程序,按键就显示不灵敏了,所以,采用定时器中断的方式控制延时,就不影响按键了。include<reg51.h> include<intrins.h> 仿真图效果。

c语言编程由开关k1控制四盏灯的亮灭
按一下key1全亮,再按一下key1全灭...往复循环 2.分别控制每盏亮灭 include<reg51.h> sbit key1 = P1^0;sbit led1 = P0^0;sbit led2 = P0^1;sbit led3 = P0^2;sbit led4 = P0^3;unsigned int count;void delay(unsigned int cnt){ while(--cnt);} main(){ count=...

求解读51单片机用四个按键独立控制四个led的c程序
include<reg51.h>\/\/k2~k4 分别控制le1~le4 void delay(unsigned int x) \/\/延时函数{ while(x--); \/\/延时数减一} void key_event (unsigned char d) \/\/根据扫描到的键值,亮相应的LED { switch(d) { case 14: P1^=(1<<0); break; \/\/k1 键按下了 case 13: P1^=...

单片机编程题:开关控制四盏灯
呵呵,今天晚上上线晚了,明天上班抽时间给你写吧,一会儿就搞定了,要不要留个邮箱啊,电路图也给你吧 还有,一定要按这个顺序吗?如果我乱按会出现什么情况,直接无效??算了,直接贴上来吧 include "reg52.h"define uint unsigned int define uchar unsigned char sbit LED_R = P2^0;sbit ...

单片机按键控制LED灯亮灭程序怎么做到的?
按键按下就打控制灯的io取反就可以了。如:if(key1==1){while(key1==1); \/\/ 等待按键放开led1=~led1;} 使用四个独立按键控制四个LED灯亮灭的汇编程序怎么弄?单片机的P1.0-P1.3接四个发光二极管L1-L4的阴极,P1.4-P1.7接四个开关K1-K4程序:ORG 00HSTART: MOV A,P1ANL A,#0F0H...

单片机用c语言,按钮控制一个LED灯,要求按下松开,LED亮,按下松开,LED...
1、首先打开桌面上的keil软件,在进行对51单片机进行编程时最常用的就是keil软件。2、编写相应的代码:#include<reg52.h> \/\/定义单片机的头文件sbit led=P2^0; \/\/定义单片机的管脚,void main(void) \/\/主函数{ while(1) \/\/无限循环 {led=0x1f; \/\/点亮前面三个灯。这里...

微机原理用四个开关控制四个灯怎么编程序
步骤如下:1、开始—读P1口数据到A。2、A中的数据右移4次—A中的内容和F0H相或。3、A中的数据送到P1口—回到开始。4、单片机的P1.0-P1.3接四个发光二极管L1-L4的阴极,P1.4-P1.7接四个开关K1-K4。5、程序:ORG00HSTART:MOVA,P1ANLA,#0F0HRRARRARRARRAORlA,#0F0HMOV,SJMP...

单片机k1到k4按下时发出频率不同的声音
2. K1到K4按键与声音频率的关联:当K1到K4这四个按键被按下时,单片机通过内部的程序识别到不同的按键输入。每个按键对应一个特定的频率,这些频率是预先设定好的。3. 编程实现细节:通过编程,单片机能够识别不同的按键信号。当某个按键被按下时,单片机内部的程序会激活相应的声音生成模块,这个模块...

51单片机按住键盘,数码管会变亮,松开时变成正常显示亮度
while(!k1) setdisplay(hour,minute,second,year,month,date);switch(num) { case 1: flag=1; break;\/\/year case 2: flag=1; break;\/\/month case 3: flag=1; break;\/\/day case 4: flag=1; break;\/\/hour case 5: flag=1; break;\/\/minute case 6: flag=1; break;\/\/second cas...

相似回答