键盘扫描汇编程序

[11-20 17:13:40]   来源:http://www.88dzw.com  嵌入式系统   阅读:8996

文章摘要: SUBLW 0F0H BTFSS STATUS,Z GOTO SFANG;键未释放 CALL DELAY10MS; 已释放,延时 CALL DELAY10MS CALL DELAY10MS MOVLW 0F0H;再判断一次 ANDWF PORTD,W SUBLW 0F0H BTFSS STATUS,Z GOTO SFANG;刚才为虚假释放,等待进一步判断 RETURN以上为所有程序代码另外一个汇编语言源代码:我的键盘扫描程序: key equ p2disp equ p0;7--+--+--+--+;6--+--+--+--+;5--+--+--

键盘扫描汇编程序,标签:嵌入式系统开发,嵌入式开发,http://www.88dzw.com
   SUBLW 0F0H
   BTFSS STATUS,Z
   GOTO SFANG;键未释放
   CALL DELAY10MS; 已释放,延时
   CALL DELAY10MS
   CALL DELAY10MS
   MOVLW 0F0H;再判断一次
   ANDWF PORTD,W
   SUBLW 0F0H
   BTFSS STATUS,Z
   GOTO SFANG;刚才为虚假释放,等待进一步判断
   RETURN

以上为所有程序代码

另外一个汇编语言源代码:

我的键盘扫描程序:


 

key equ p2
disp equ p0



;7------+--+--+--+
;6------+--+--+--+
;5------+--+--+--+
;4------+--+--+--+
;3______|  |  |  |
;2_________|  |  |
;1____________|  |
;0_______________|


      
       org 0000h
       ajmp start
       org 0100h
start: mov disp,#0
       mov dptr,#tab
loopscan:acall keyin
       acall keyoff
       mov a,r0
       movc a,@a+dptr
       mov disp,a
       ajmp loopscan

keyin:  mov key,#0fh
        mov a,key
        cjne a,#0fh,select
        sjmp keyin
select: mov a,key  
        cjne a,#0eh,next1
        ajmp row1
next1:  cjne a,#0dh,next2
        ajmp row2
next2:  cjne a,#0bh,next3
        ajmp row3
next3:  ajmp row4


row1:   mov key,#0feh
        mov a,key
        cjne a,#0feh,row1scan
        ajmp row2
row1scan:cjne a,#0eeh,row11
         mov r0,#12
         acall delay20ms
         ajmp scanend
row11:   cjne a,#0deh,row12
         mov r0,#13
         acall delay20ms
         ajmp scanend       
row12:   cjne a,#0beh,row13
         mov r0,#14
         acall delay20ms
         ajmp scanend
row13:   mov r0,#15
         acall delay20ms
         ajmp scanend
        


row2:   mov key,#0fdh
        mov a,key
        cjne a,#0fdh,row2scan
        ajmp row3
row2scan:cjne a,#0edh,row21
         acall delay20ms

上一页  [1] [2] [3] [4]  下一页


Tag:嵌入式系统嵌入式系统开发,嵌入式开发嵌入式系统

《键盘扫描汇编程序》相关文章