按键控制led灯的程序

按键控制led灯的程序,第1张

单片机的P1.0-P1.3接四个发光二极管L1-L4的阴极,P1.4-P1.7接四个开关K1-K4

程序:

ORG

00H

START:

MOV

A,P1

ANL

A,#0F0H

RR

A

RR

A

RR

A

RR

A

ORl

A,#0F0H

MOV

P1,A

SJMP

START

可以检测单个按键,也可以同时检测多个按键

过程:开始——读P1口数据到A——A中的数据右移4次——A中的内容和F0H相或——A中的数据送到P1口——回到开始

#include <reg52.h>

sbit led = P1^0

sbit key1 = P2^0

sbit key2 = P2^1

void delay(unsigned int cnt) //简单的延时

{

while(--cnt)

}

/*------------------------------------------------

MAIN C Function

------------------------------------------------*/

void main (void)

{

while (1)

{

if(key1 == 0) /*按键1按下*/

{

led = 0 /*灯亮*/

delay(1000)

while(!key1)/*消抖*/

}

else if(key2 == 0) /*按键2按下*/

{

led = 1 /*灯灭*/

delay(1000)

while(!key2)

}

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11320873.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存