您好,欢迎来到九壹网。
搜索
您的当前位置:首页汇编 8键盘(中断)

汇编 8键盘(中断)

来源:九壹网


汇编程序:

;========================================

; 8按键

;端口:P1

;触发方式:中断

;附:电路

;by:海强_HQ

;========================================

ORG 00H

SJMP START

ORG 03H

LJMP KEY_INT0 ;键盘中断

ORG 30H

START:

MOV SP,#60H

MOV P1,#0FFH ;置P1(输入)

SETB EX0 ;允许外部INT0中断

SETB EA ;开总中断

SETB IT0 ;设置INT0边沿触发

SJMP $ ;等待按键中断

;----8按键(INT0)中断----

KEY_INT0:

PUSH ACC ;保护现场

LCALL DELAY_20ms ;按下检测消抖

MOV P1,#0FFH ;置P1(输入)

MOV A,P1 ;读入P1口状态

;各按键入口地址表(跳转范围128字节)

JNB ACC.0,K0

JNB ACC.1,K1

JNB ACC.2,K2

JNB ACC.3,K3

JNB ACC.4,K4

JNB ACC.5,K5

JNB ACC.6,K6

JNB ACC.7,K7

AJMP EXTI ;出错跳转中断出口

;检测按下的按键(跳转范围2K)

K0: AJMP KEY0

K1: AJMP KEY1

K2: AJMP KEY2

K3: AJMP KEY3

K4: AJMP KEY4

K5: AJMP KEY5

K6: AJMP KEY6

K7: AJMP KEY7

;8键盘处理程序

KEY0:

MOV P2,#0FEH

AJMP EXTI ;处理完跳转中断出口

KEY1:

MOV P2,#0FCH

AJMP EXTI ;处理完跳转中断出口

KEY2:

MOV P2,#0F8H

AJMP EXTI ;处理完跳转中断出口

KEY3:

MOV P2,#0F0H

AJMP EXTI ;处理完跳转中断出口

KEY4:

MOV P2,#0E0H

AJMP EXTI ;处理完跳转中断出口

KEY5:

MOV P2,#0C0H

AJMP EXTI ;处理完跳转中断出口

KEY6:

MOV P2,#80H

AJMP EXTI ;处理完跳转中断出口

KEY7:

MOV P2,#00H

EXTI:

POP ACC ;恢复现场

RETI ;中断返回

;----20ms延时子程序----

DELAY_20ms:

MOV R7,#01H

DL1:

MOV R6,#38H

DL0:

MOV R5,#0A3H

DJNZ R5,$

DJNZ R6,DL0

DJNZ R7,DL1

RET

END

仿真电路连接:

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 91gzw.com 版权所有 湘ICP备2023023988号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务