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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2004|回復: 0
打印 上一主題 下一主題
收起左側

該單片機匯編程序如何改成線反轉法掃描鍵盤

[復制鏈接]
跳轉到指定樓層
樓主
ID:708783 發表于 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
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表