欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 該單片機匯編程序如何改成線反轉法掃描鍵盤 [打印本頁]

作者: BSq    時間: 2020-4-5 19:58
標題: 該單片機匯編程序如何改成線反轉法掃描鍵盤
start:
MOV R0, #0        ; 清零R0-第一個鍵是key0
; 掃描 row0
SETB P0.3        ; 置1 row3
CLR P0.0                ; 清0 row0
CALL colScan                ; 調用 column掃描子程序
JB F0, finish                ; | 如果置1了F0,則跳到程序末尾
        ; | (因為找到了按下的鍵,其編號存儲在R0)
; 掃描 row1
SETB P0.0        ; 置1 row0
CLR P0.1                ; 清0 row1
CALL colScan                ; 調用 column掃描子程序
JB F0, finish                ; | 如果置1了F0,則跳到程序末尾
        ; | (因為找到了按下的鍵,其編號存儲在R0)
; 掃描 row2
SETB P0.1        ; 置1 row1
CLR P0.2                ; 清0 row2
CALL colScan                ; 調用 column掃描子程序
JB F0, finish                ; | 如果置1了F0,則跳到程序末尾
        ; | (因為找到了按下的鍵,其編號存儲在R0)
; 掃描 row3
SETB P0.2        ; 置1 row2
CLR P0.3                ; 清0 row3
CALL colScan                ; 調用 column掃描子程序
JB F0, finish                ; | 如果置1了F0,則跳到程序末尾
        ; | (因為找到了按下的鍵,其編號存儲在R0)

JMP start                ; | 返回掃描row0
        ; | (這就是為什么在程序開始時置1row3,當程序跳回開始時,row3剛剛被掃描)
finish:
JMP $        ; 找到按鍵時程序執行到此處-不執行任何操作

; column掃描子程序
colScan:
JNB P0.4, gotKey                ; 如果col0被清0-找到按鍵
INC R0        ; 否則移到下一個按鍵
JNB P0.5, gotKey                ; 如果col1被清0-找到按鍵
INC R0        ; 否則移到下一個按鍵
JNB P0.6, gotKey                ; 如果col2被清0-找到按鍵
INC R0        ; 否則移到下一個按鍵
RET        ; 子程序返回-未找到按鍵
gotKey:
SETB F0        ; 找到按鍵-置1F0
RET        ; 子程序返回
        END





歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1