51单片机独立按键控制LED灯 这个程序按下k4的时候,在按k1,k2并不能实现左右流水怎么改

51单片机独立按键控制LED灯 这个程序按下k4的时候,在按k1,k2并不能实现左右流水怎么改,第1张

按K1部分加一行

flag=1

led=0xfe//肢汪搭重新赋值

K2部分也加这一行

因按历拿陵册K4后,Ied=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"

typedef unsigned int u16

typedef unsigned char u8

sbit led=P2^0//把所要控制的led灯定模睁义为p2.0这个口

sbit k1=P2^1

sbit k2=P2^2

void delay(u16 i)

{

while(i--)

}//一个延时程序

void main()

{

if(k1==1)

while(1)

{

led=1

delay(50000) //大约延时450ms

led=0

if(k2==1)

break

}

led=0

}

思路很简单,就是用检测旦裂岁的方法去扫描相应的按键是否被触发,源猛然后执行相应的子程序。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存