单片机按键识别方法之一
[10-10 20:38:44] 来源:http://www.88dzw.com 电子制作 阅读:8758次
文章摘要:(2. 但对程序设计过程中按键识别过程的框图如右图所示:图4.8.3 5. 程序框图 图4.8.4 6. 汇编源程序ORG 0START: MOV R1,#00H ;初始化R7为0,表示从0开始计数MOV A,R1 ;CPL A ;取反指令MOV P1,A ;送出P1端口由发光二极管显示REL: JNB P3.7,REL ;判断SP1是否按下LCALL DELAY10MS ;若按下,则延时10ms左右JNB P3.7,REL ;再判断SP1是否真得按下INC R7 ;若真得按下,则进行按键处理,使MOV A,R7 ;计数内容加1,并送出P1端口由CPL A ;发光二极管显示MOV P1,A
单片机按键识别方法之一,标签:电子小制作,http://www.88dzw.com(2. 但对程序设计过程中按键识别过程的框图如右图所示:

5. 程序框图
图4.8.4
6. 汇编源程序
ORG 0
START: MOV R1,#00H ;初始化R7为0,表示从0开始计数
MOV A,R1 ;
CPL A ;取反指令
MOV P1,A ;送出P1端口由发光二极管显示
REL: JNB P3.7,REL ;判断SP1是否按下
LCALL DELAY10MS ;若按下,则延时10ms左右
JNB P3.7,REL ;再判断SP1是否真得按下
INC R7 ;若真得按下,则进行按键处理,使
MOV A,R7 ;计数内容加1,并送出P1端口由
CPL A ;发光二极管显示
MOV P1,A ;
JNB P3.7,$ ;等待SP1释放
SJMP REL ;继续对K1按键扫描
DELAY10MS: MOV R6,#20 ;延时10ms子程序
L1: MOV R7,#248
DJNZ R7,$
DJNZ R6,L1
RET
END
7. C语言源程序
#include <AT89X51.H>
unsigned char count;
void delay10ms(void)
{
unsigned char i,j;
for(i=20;i>0;i--)
for(j=248;j>0;j--);
}
void main(void)
{
while(1)
{
if(P3_7==0)
{
delay10ms();
if(P3_7==0)
{
count++;
if(count==16)
{
count=0;
}
P1=~count;
while(P3_7==0);
}
}
}
}
Tag:电子制作,电子小制作,维修教程知识 - 电子制作
- 上一篇:数字显示00-99计数器
《单片机按键识别方法之一》相关文章
- › 单片机按键识别方法之一
- 在百度中搜索相关文章:单片机按键识别方法之一
- 在谷歌中搜索相关文章:单片机按键识别方法之一
- 在soso中搜索相关文章:单片机按键识别方法之一
- 在搜狗中搜索相关文章:单片机按键识别方法之一
编辑推荐
最新更新
热门排行