⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 key44.asm

📁 aoke51实验板汇编 4*4键盘扫描程序
💻 ASM
字号:
;         |-s6--e--|     |--s7--7--|  |--s8--4--|   |--s9--1--|
;px.0  ---+--------------+------------+-------------+         |
;                  |               |            |             |
;         |-s10-0--|     |--s11-8--|  |--s12-5--|   |--s13-2--|
;px.1 ----+--------------+------------+-------------+         |
;                  |               |            |             |
;         |-s14-f--|     |--s15-9--|  |--s16-6--|   |--s17-3--|
;px.2-----+--------------+------------+-------------+         |
;                  |               |            |             |
;         |-s18-d--|     |--s19-c--|  |--s20-b--|   |--s21-a--|
;px.3-----+--------------+------------+-------------+         |
;                  |               |            |             |
;px.4--------------+               |            |             |
;                                  |            |             |
;px.5------------------------------+            |             |
;                                               |             |
;px.6-------------------------------------------+             |
;                                                             |
;px.7---------------------------------------------------------+
;aoke51 4*4键盘扫描程序
;无按键按下返回0ffh,有键按下返回相应键值
;2008.03.14测试成功 shenjian
  key equ 40h   ;键盘返回键值
  keyp equ p3   ;键盘端口定义
  keytest: mov keyp,#0fh
       mov a,keyp
       cjne a,#0fh,keynx   ;判断是否有键按下
       mov key,#0ffh
       ret
   keynx:acall display   ;延时程序
       mov a,keyp
       cjne a,#0fh,keynx1       ;判断是否误动作
       ret
   keynx1:mov key,#0ffh
          mov keyp,#7fh
          mov a,keyp
          anl a,#0fh
          cjne a,#0fh,key1
          mov keyp,#0bfh
          mov a,keyp
          anl a,#0fh
          cjne a,#0fh,key2
          mov keyp,#0dfh
          mov a,keyp
          anl a,#0fh
          cjne a,#0fh,key3
          mov keyp,#0efh
          mov a,keyp
          anl a,#0fh
          cjne a,#0fh,key4

    keyerr:mov key,#0ffh
          ret
          key1: cjne a,#0eh,kye12
                mov key,#1
                ajmp keysf
            kye12:cjne a,#0dh,key13
                  mov key,#2
                  ajmp keysf
            key13:cjne a,#0bh,key14
                  mov key,#3
                  ajmp keysf
            key14:cjne a,#07h,keyerr
                  mov key,#0ah
                  ajmp keysf
           key2: cjne a,#0eh,kye22
                mov key,#4
                ajmp keysf
            kye22:cjne a,#0dh,key23
                  mov key,#5
                  ajmp keysf
            key23:cjne a,#0bh,key24
                  mov key,#6
                  ajmp keysf
            key24:cjne a,#07h,keyerr
                  mov key,#0bh
                  ajmp keysf
           key3:cjne a,#0eh,kye32
                mov key,#7
                ajmp keysf
            kye32:cjne a,#0dh,key33
                  mov key,#8
                  ajmp keysf
            key33:cjne a,#0bh,key34
                  mov key,#9
                  ajmp keysf
            key34:cjne a,#07h,keyerr
                  mov key,#0ch
                  ajmp keysf
            key4:cjne a,#0eh,kye42
                mov key,#0eh
                ajmp keysf
            kye42:cjne a,#0dh,key43
                  mov key,#0
                  ajmp keysf
            key43:cjne a,#0bh,key44
                  mov key,#0fh
                  ajmp keysf
            key44:cjne a,#07h,keyerr
                  mov key,#0dh
                  ajmp keysf
         keysf:   mov keyp,#0fh
                 mov a,keyp
                 anl a,#0fh
                 cjne a,#0fh,keysfn
                 ret
          keysfn:acall display
                 ajmp keysf

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -