2×2行列式鍵盤電路設計并編寫鍵盤掃描子程序實例

作者:中國電子網 日期:2021-01-12 22:11:33 人氣: 欄目:單片機

1)2×2行列式鍵盤電路如圖所示

 

圖片1

(2)鍵盤掃描子程序:

KEY1: ACALL KS1 ;調用判斷有無鍵按下子程序

JNZ LK1 ;有鍵按下,轉LK1

AJMP KEY1 ;無鍵按下,返回

LK1: ACALL T12MS ;調延時12ms子程序

ACALL KS1 ;查有無鍵按下

JNZ LK2 ;若有,則為鍵確實按下,轉逐列掃描

AJMP KEY1 ;無鍵按下,返回

LK2: MOV R4,#00H ;首列號 R4

MOV R2,#FEH ;首列掃描字 R2

LK4: MOV A,R2 ;列掃描字 P1口

MOV P1,A ;使第一列線為0

MOV A,P1 ;讀入行狀態

JB ACC.0,LONE;第0行無鍵按下,轉查第一行

MOV A,#00H ;第0行有鍵按下,該行首鍵號#00H A

AJMP LKP ;轉求鍵號

LONE: JB ACC.1,NEXT ;第一行無鍵按下,轉查下一列

MOV A,#02 ;第一行有鍵按下,該行首鍵號#02 A

LKP: ADD A,R4 ;鍵號=首行號+列號

PUSH ACC ;鍵號進棧保護

LK3: ACALL KS1 ;等待鍵釋放

JNZ LK3 ;未釋放,等待

POP AC ;鍵釋放,鍵號 A

RET ;鍵掃描結束

NEXT: INC R4 ;列號加1,指向下一列

MOV A,R2 ;列掃描字 A

JNB ACC.1,KND ;判斷2列全掃描完?掃描完,轉KND

RL A ;沒掃描完,掃描字左移一位,形成下一列掃描字

MOV R2,A ;掃描字 R2

AJMP LK4 ;掃描下一列

AJMP KEY1 ;全掃描完,返回

MOV A,#FCH ;全掃描字11111100B A

MOV P1,A ;全掃描字 所有行

MOV A,P1 ;讀取列值

CPL A ;取正邏輯,高電平表示有鍵按下

ANL A,#0C0H ;屏蔽低6位,取高2位

RET ;出口狀態(A)!=0,有鍵按下

本文標簽: 行列式鍵盤鍵盤掃描

以上電工吧小編收集整理的 2×2行列式鍵盤電路設計并編寫鍵盤掃描子程序實例 部分內容來自網絡,如有侵權請聯系刪除
本文地址:http://www.bloggersfromdownunder.com/tool/20047.html

end
今日推薦
2020中國電動車質量排名前十名有哪些品牌?
2020中國電動車質量排名前十名有哪些品牌?

 2020隨著電動車越來越受年輕上班族的喜愛,而騎電動車也成為了一種時尚,電動車作為短距離代步工具,具有環保、經濟、不塞車等諸多優勢,越來越多的人選擇這種低碳環保的出行方式。那么電動車十大排名,都有哪些品牌全面領先行業呢?  第一名:雅迪電動車 ...[詳細]

獨家專欄
精彩推薦
熱門排行
最好的2018视频在线观看免费_最近中文字幕2019高清视频_男女爱爱小视频_波多野结衣A片视频中文字幕