2×2行列式鍵盤電路設計并編寫鍵盤掃描子程序實例
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
2020中國電動車質量排名前十名有哪些品牌?

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