天堂草原最受欢迎的角色,天堂动漫,天堂在线,色天堂下载,天堂中文在线资源,亚洲男人天堂

技術(shù)熱線: 4007-888-234
設(shè)計開發(fā)

專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命

開發(fā)工具

提供開發(fā)工具、應(yīng)用測試 完善的開發(fā)代碼案例庫分享

技術(shù)支持

從全面的產(chǎn)品導(dǎo)入到強(qiáng)大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無限潛能!

新品推廣

提供新的芯片及解決方案,提升客戶產(chǎn)品競爭力

新聞中心

提供最新的單片機(jī)資訊,行業(yè)消息以及公司新聞動態(tài)

PIC單片機(jī)的4*4鍵盤子程序

更新時間: 2019-03-22
閱讀量:2468

單片機(jī)開發(fā)商深圳英銳恩分享PIC單片機(jī)的4*4鍵盤子程序。

;-------4*4鍵盤程序的使用--------
PC       EQU    2
STATUS   EQU    3
RA       EQU    5
RB       EQU    6
RC       EQU    7
BIJIAO   EQU    0F
JIANZHI  EQU    8
BUFFER   EQU    9
BUFFER1  EQU    0AH
BUFFER2  EQU    0BH
COUNTER  EQU    0CH
CON1     EQU    0DH
CON2     EQU    0EH
PIC57    EQU    7FFH
Z        EQU    2
;-----------------------------
         ORG    PIC57
         GOTO   MAIN
;-----------------------------
         ORG    0
;-----------------------------

 延時子程序
;----------------------------
DELAY    MOVLW  D'100'
         MOVWF  CON1
L1       MOVLW  D'200'
         MOVWF  CON2
L2       DECFSZ CON2,1
         GOTO   L2
         DECFSZ CON1,1
         GOTO   L1
         RETLW  0        
;-----------------------------
;        4*4鍵盤掃描判斷子程序
;-----------------------------
SCANKEY
         MOVLW  B'11101111'
         MOVWF  RB
         MOVF   RB,W
         ANDLW  B'00001111'
         MOVWF  BUFFER
         MOVLW  B'00001111'

  XORWF  BUFFER,W
         SKPNZ
         GOTO   XYB1
         MOVWF  BUFFER1
         MOVLW  1
         MOVWF  JIANZHI
         MOVF   RB,W
         MOVWF  BIJIAO
         GOTO   QJZ

XYB1     MOVLW  B'11011111'
         MOVWF  RB
         MOVF   RB,W
         ANDLW  B'00001111'
         MOVWF  BUFFER
         MOVLW  B'00001111'
         XORWF  BUFFER,W
         SKPNZ
         GOTO   XYB2
         MOVWF  BUFFER1
         MOVLW  5
         MOVWF  JIANZHI
         GOTO   QJZ

XYB2     MOVLW  B'10111111'
         MOVWF  RB
         MOVF   RB,W
         ANDLW  B'00001111'
         MOVWF  BUFFER
         MOVLW  B'00001111'
         XORWF  BUFFER,W
         SKPNZ
         GOTO   XYB3
         MOVWF  BUFFER1
         MOVLW  9
         MOVWF  JIANZHI
         MOVF   RB,W
         MOVWF  BIJIAO
         GOTO   QJZ

XYB3     MOVLW  B'01111111'
         MOVWF  RB
         MOVF   RB,W
         ANDLW  B'00001111'

  MOVWF  BUFFER
         MOVLW  B'00001111'
         XORWF  BUFFER,W
         SKPNZ
         RETLW  0
         MOVWF  BUFFER1
         MOVLW  0DH
         MOVWF  JIANZHI
         MOVF   RB,W
         MOVWF  BIJIAO

QJZ      MOVLW  1
         MOVWF  BUFFER2
         MOVLW  4
         MOVWF  COUNTER

QJZ1     MOVF   BUFFER1,W
         SUBWF  BUFFER2,W

SKPNZ
         RETLW  1
         RLF    BUFFER2,1
         INCF   JIANZHI,1
         DECFSZ COUNTER,1
         GOTO   QJZ1
         RETLW  0
;-------------------------------
;    測試程序(注意用法,鍵值放在JIANZHI里)
;-------------------------------
MAIN
         MOVLW  0
         TRIS   RC
         CLRF   RC
         MOVLW  B'00001111'     ;用RB口作4*4鍵盤
         TRIS   RB
LOOP     CLRF   RC
         CALL   SCANKEY
         ANDLW  0FH
         SKPNZ                  ;根據(jù)返回值不為零,判斷有無鍵按下

GOTO   LOOP
         MOVLW  0FH
         ANDWF  JIANZHI,W
         MOVWF  RC
         CALL   DELAY

LOOP1    MOVF   BUFFER1,W
         ANDWF  RB,W
         XORWF  BIJIAO,W
         SKPNZ
         GOTO   LOOP1
         GOTO   LOOP
;--------------
;-------------------------------
         END

联系我们: 嘉兴市| 景德镇市| 仁怀市| 高邮市| 巴楚县| 北辰区| 南康市| 南通市| 静乐县| 江安县| 栾川县| 辉县市| 分宜县| 那坡县| 珠海市| 乐安县| 湘乡市| 丰都县| 依安县| 台南县| 乌兰察布市| 汽车| 苍南县| 肥城市| 马边| 大田县| 平谷区| 大安市| 巴彦淖尔市| 东台市| 文成县| 武平县| 苏尼特右旗| 米脂县| 个旧市| 德格县| 孟村| 栾川县| 花莲县| 自贡市| 浑源县|