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
}
思路很简单,就是用检测旦裂岁的方法去扫描相应的按键是否被触发,源猛然后执行相应的子程序。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)