4个按键驱动程序.docx

上传人:b****5 文档编号:6695717 上传时间:2023-01-09 格式:DOCX 页数:17 大小:16.39KB
下载 相关 举报
4个按键驱动程序.docx_第1页
第1页 / 共17页
4个按键驱动程序.docx_第2页
第2页 / 共17页
4个按键驱动程序.docx_第3页
第3页 / 共17页
4个按键驱动程序.docx_第4页
第4页 / 共17页
4个按键驱动程序.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

4个按键驱动程序.docx

《4个按键驱动程序.docx》由会员分享,可在线阅读,更多相关《4个按键驱动程序.docx(17页珍藏版)》请在冰豆网上搜索。

4个按键驱动程序.docx

4个按键驱动程序

;4个按键驱动程序

;4X4按键驱动程序

POUTEQUP2

KPINEQUP1

PDIG1EQUP3.0

VALDATA30H

KIDDATA31H

KTMPDATA32H

;*************************

;按键扫描程序;

;模块应用变量

;硬件连接端口:

KPIN

;返回按键值:

VAL

;按键处理应用功能程序:

KEYPFUN

;

;***********************

;内部使用变量定义:

KID=0,KTMP=0

MOVKID,#0

MOVKTMP,#0

MOVVAL,#0

;**********************

KEYS:

MOVDPTR,#KJMP

MOVA,KID

RLA

JMP@A+DPTR

KJMP:

AJMPKEYEN

AJMPKEYDEL

AJMPKEYSCAN

AJMPKEYUP

AJMPKEYFUN

MOVKID,#0

RET

KS:

MOVKPIN,#0FH

NOP

NOP

MOVA,KPIN

ANLA,#0FH

XRLA,#0FH

RET

KEYEN:

ACALLKS

JZKENEXT

MOVKTMP,#0

INCKID

KENEXT:

RET

KEYDEL:

INCKTMP

MOVA,KTMP

CJNEA,#30,KDEXT

MOVKTMP,#0

INCKID

KDEXT:

RET

KEYUP:

ACALLKS

JNZKUPEXT

INCKID

KUPEXT:

RET

;********************

;KPIN:

00001111=0FH

;KVAL:

00001111=F

;KVAL:

00001110=E

;KVAL:

00001101=D

;KVAL:

00001100=C

;KVAL:

00001011=B

;KVAL:

00001010=A

;KVAL:

00001001=9

;KVAL:

00001000=8

;KVAL:

00000111=7

;KVAL:

00000110=6

;KVAL:

00000101=5

;KVAL:

00000100=4

;KVAL:

00000011=3

;KVAL:

00000010=2

;KVAL:

00000001=1

KEYSCAN:

ACALLKS

JZKSEXT

MOVVAL,A

INCKID

RET

KSEXT:

MOVKID,#0

RET

;*************************;

KEYFUN:

MOVKID,#0

MOVDPTR,#KFUN

MOVA,VAL

RLA

JMP@A+DPTR

KFUN:

AJMPKFUNL

AJMPK1FUN

AJMPK2FUN

AJMPK3FUN

AJMPK4FUN

MOVVAL,#0

RET

KFUNL:

NOP

RET

K1FUN:

RET

K2FUN:

RET

K3FUN:

RET

K4FUN:

RET

;******************************

;********************

;KPIN:

00001111=0FH

;KVAL:

00001000=1

;KVAL:

00000100=2

;KVAL:

00000010=3

;KVAL:

00000001=4

;********************

KEYSCAN:

ACALLKS

JZKSEXT

MOVR4,#4

CLRC

KSLP:

RRCA

JCKVAL

DJNZR4,KSLP

KSEXT:

MOVKID,#0

RET

KVAL:

MOVVAL,R4

INCKID

RET

;***********************

;********************

;KPIN:

00001111=0FH

;KVAL:

00001000=4

;KVAL:

00000100=3

;KVAL:

00000010=2

;KVAL:

00000001=1

KEYSCAN:

ACALLKS

JZKSEXT

MOVR4,#0

CLRC

KSLP:

RRCA

JCKVAL

INCR4

CJNER4,#4,KSLP

KSEXT:

MOVKID,#0

RET

KVAL:

INCR4

MOVVAL,R4

INCKID

RET

;************************

;可用于拔码盘

;********************

;KPIN:

00001111=0FH

;KVAL:

00001111=F

;KVAL:

00001110=E

;KVAL:

00001101=D

;KVAL:

00001100=C

;KVAL:

00001011=B

;KVAL:

00001010=A

;KVAL:

00001001=9

;KVAL:

00001000=8

;KVAL:

00000111=7

;KVAL:

00000110=6

;KVAL:

00000101=5

;KVAL:

00000100=4

;KVAL:

00000011=3

;KVAL:

00000010=2

;KVAL:

00000001=1

KEYSCAN:

ACALLKS

JZKSEXT

MOVVAL,A

INCKID

RET

KSEXT:

MOVKID,#0

RET

;*************************

;***************************

;*************************

;KPIN:

D7-D0=0FEH

;D7D6D5D4

;D00123

;D14567

;D289AB

;D3CDEF

KEYSCAN:

ACALLKS

JZKSCEXT

MOVR2,#0FEH

MOVR3,#0

KS1:

MOVKPIN,R2

NOP

NOP

MOVA,KPIN

MOVR4,#4

SETBC

KS2:

RLCA

JNCKVAL

INCR3

DJNZR4,KS2

MOVA,R2

JNBACC.3,KSCEXT

RLA

MOVR2,A

SJMPKS1

KVAL:

MOVVAL,R3

INCKID

RET

KSCEXT:

MOVKID,#0

RET

;************************

;*****************************

;KPIN:

D7-D0=0EFH

;D7D6D5D4

;D0C840

;D1D951

;D2EA62

;D3FB73

KEYSCAN:

ACALLKS

JZKSCEXT

MOVR2,#0EFH

MOVR3,#0

KS1:

MOVKPIN,R2

NOP

NOP

MOVA,KPIN

MOVR4,#4

SETBC

KS2:

RRCA

JNCKVAL

INCR3

DJNZR4,KS2

MOVA,R2

JNBACC.7,KSCEXT

RLA

MOVR2,A

SJMPKS1

KVAL:

MOVVAL,R3

INCKID

RET

KSCEXT:

MOVKID,#0

RET

;************************

;**************************

;KPIN:

D7-D0=0EFH

;D7D6D5D4

;D0FB73

;D1EA62

;D2D951

;D3C840

KEYSCAN:

ACALLKS

JZKSCEXT

MOVR2,#0EFH

MOVR3,#0

KS1:

MOVKPIN,R2

NOP

NOP

MOVA,KPIN

ANLA,#0FH

XRLA,#0FH

JZKS3

MOVR4,#4

SETBC

KS2:

RRCA

JCKVAL

DJNZR4,KS2

KSCEXT:

MOVKID,#0

RET

KS3:

MOVA,R2

JNBACC.7,KSCEXT

RLA

INCR3

MOVR2,A

SJMPKS1

KVAL:

MOVA,R3

RLA

RLA

DECA

ADDA,R4

MOVVAL,A

INCKID

RET

;*************************

;************************

;KPIN:

D7-D0=0EFH

;D7D6D5D4

;D0C840

;D1D951

;D2EA62

;D3FB73

KEYSCAN:

ACALLKS

JZKSCEXT

MOVR2,#0EFH

MOVR3,#0

KS1:

MOVKPIN,R2

NOP

NOP

MOVA,KPIN

ANLA,#0FH

XRLA,#0FH

JZKS3

MOVR4,#0

SETBC

KS2:

RRCA

JCKVAL

INCR4

CJNER4,#4,KS2

KSCEXT:

MOVKID,#0

RET

KS3:

MOVA,R2

JNBACC.7,KSCEXT

RLA

INCR3

MOVR2,A

SJMPKS1

KVAL:

MOVA,R3

RLA

RLA

ADDA,R4

MOVVAL,A

INCKID

RET

;*************************

;*************************

;KPIN:

D7-D0=0FEH

;D7D6D5D4

;D00123

;D14567

;D289AB

;D3CDEF

KEYSCAN:

ACALLKS

JZKSCEXT

MOVR2,#0FEH

MOVR3,#0

KS1:

MOVKPIN,R2

NOP

NOP

MOVA,KPIN

ANLA,#0F0H

XRLA,#0F0H

JZKS3

MOVR4,#0

SETBC

KS2:

RLCA

JCKVAL

INCR4

CJNER4,#4,KS2

KSCEXT:

MOVKID,#0

RET

KS3:

MOVA,R2

JNBACC.3,KSCEXT

RLA

INCR3

MOVR2,A

SJMPKS1

KVAL:

MOVA,R3

RLA

RLA

ADDA,R4

MOVVAL,A

INCKID

RET

;********************

;*******************************

;KPIN:

D7-D0=0EFH

;D7D6D5D4

;D03210

;D17654

;D2BA98

;D3FEDC

KEYSCAN:

ACALLKS

JZKSCEXT

MOVR2,#0FEH

MOVR3,#0

KS1:

MOVKPIN,R2

NOP

NOP

MOVA,KPIN

ANLA,#0F0H

XRLA,#0F0H

JZKS3

MOVR4,#4

SETBC

KS2:

RLCA

JCKVAL

DJNZR4,KS2

KSCEXT:

MOVKID,#0

RET

KS3:

MOVA,R2

JNBACC.3,KSCEXT

RLA

INCR3

MOVR2,A

SJMPKS1

KVAL:

MOVA,R3

RLA

RLA

ADDA,R4

DECA

MOVVAL,A

INCKID

RET

;*********************

;************************

;KPIN:

D7-D0=0EFH

;D7D6D5D4

;D0C840

;D1D951

;D2EA62

;D3FB73

KEYSCAN:

ACALLKS

JZKSCEXT

MOVR2,#0FEH

MOVR3,#0

KS1:

MOVKPIN,R2

NOP

NOP

JBKPIN.4,KSL1

MOVA,#0

SJMPKVAL

KSL1:

JBKPIN.5,KSL2

MOVA,#4

SJMPKVAL

KSL2:

JBKPIN.6,KSL3

MOVA,#8

SJMPKVAL

KSL3:

JBKPIN.7,KS2

MOVA,#12

KVAL:

ADDA,R3

MOVVAL,A

INCKID

RET

KSCEXT:

MOVKID,#0

RET

KS2:

MOVA,R2

JNBACC.3,KSCEXT

RLA

INCR3

MOVR2,A

SJMPKS1

;****************************

;**************************

;KPIN:

D7-D0=0FEH

;D7D6D5D4

;D03210

;D17654

;D2BA98

;D3FEDC

KEYSCAN:

ACALLKS

JZKSCEXT

MOVR2,#0EFH

MOVR3,#0

KS1:

MOVKPIN,R2

NOP

NOP

JBKPIN.0,KSL1

MOVA,#0

SJMPKVAL

KSL1:

JBKPIN.1,KSL2

MOVA,#4

SJMPKVAL

KSL2:

JBKPIN.2,KSL3

MOVA,#8

SJMPKVAL

KSL3:

JBKPIN.3,KS2

MOVA,#12

KVAL:

ADDA,R3

MOVVAL,A

INCKID

RET

KSCEXT:

MOVKID,#0

RET

KS2:

MOVA,R2

JNBACC.7,KSCEXT

RLA

INCR3

MOVR2,A

SJMPKS1

;************************

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1