51单片机汇编语言编程独立按键

51单片机汇编语言编程独立按键,第1张

四个按键,定义如下数耐:

KEY1 BIT P3.0

KEY2 BIT P3.1

KEY3 BIT P3.2

KEY4 BIT P3.3

按键处理程轿简序:薯帆春

-----------------------------------

READ_KEY:

JBKEY1, K2

CALL DELAY

JBKEY1, K2

JNB KEY1, $

PUSH ACC

INC 75H

MOV A, 75H

CJNE A, #10, ZINT01

MOV 75H, #0

ZINT01:

POP ACC

JMP K_EXIT

---------------

K2: JBKEY2, K3

CALL DELAY

JBKEY2, K3

JNB KEY2, $

PUSH ACC

INC 76H

MOV A, 76H

CJNE A, #10, ZINT01

MOV 76H, #0

ZINT01:

POP ACC

JMP K_EXIT

---------------

K3: JBKEY3, K4

CALL DELAY

JBKEY3, K4

JNB KEY3, $

PUSH ACC

DEC 75H

MOV A, 75H

CJNE A, #255, ZINT03

MOV 75H, #9

ZINT03:

POP ACC

JMP K_EXIT

---------------

K4: JBKEY4, K_EXIT

CALL DELAY

JBKEY4, K_EXIT

JNB KEY4, $

PUSH ACC

DEC 76H

MOV A, 76H

CJNE A, #255, ZINT04

MOV 76H, #9

ZINT04:

POP ACC

K_EXIT:

RET

---------------

DELAY:

DJNZ R7, $

DJNZ R7, $

RET

-----------------------------------

以下腊饥为一个按键控制一个灯的程序坦裤!让局简!!

ORG 0000H

SETB P1.0

START:

JB P1.0,NEXT ;设按键为低电平有效。

JNB P1.0,$

CPL P3.0

NEXT:

SJMP START

END

编程时,要把整个程序,分解成一个一个模块

一个模块,只包喊租括一个功能。

那么,KEY 模块:

 读出按键郑橡兆、消除抖动、读取键值,返回键值。

 键值包括:00H、08H... 20H,FFH(无键)。

这个 KEY 模块,到这就完了。

按键如何如首处理,则是另外的模块。

楼主流程图,包罗万象,好像是个主程序。不好弄。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存