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

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

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

開(kāi)發(fā)工具

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

技術(shù)支持

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

新品推廣

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

新聞中心

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

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

更新時(shí)間: 2019-03-22
閱讀量:2469

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

;-------4*4鍵盤(pán)程序的使用--------
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
;-----------------------------

 延時(shí)子程序
;----------------------------
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鍵盤(pán)掃描判斷子程序
;-----------------------------
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
;-------------------------------
;    測(cè)試程序(注意用法,鍵值放在JIANZHI里)
;-------------------------------
MAIN
         MOVLW  0
         TRIS   RC
         CLRF   RC
         MOVLW  B'00001111'     ;用RB口作4*4鍵盤(pán)
         TRIS   RB
LOOP     CLRF   RC
         CALL   SCANKEY
         ANDLW  0FH
         SKPNZ                  ;根據(jù)返回值不為零,判斷有無(wú)鍵按下

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

联系我们: 定安县| 湛江市| 徐州市| 磴口县| 松原市| 富宁县| 达日县| 无极县| 连州市| 津南区| 香格里拉县| 偏关县| 花垣县| 叶城县| 宜都市| 萍乡市| 淅川县| 钟祥市| 新巴尔虎左旗| 大港区| 什邡市| 大庆市| 阜南县| 乐业县| 岢岚县| 麻阳| 西畴县| 克什克腾旗| 高淳县| 乌苏市| 海原县| 普兰店市| 武城县| 台中市| 万宁市| 宁城县| 吉木萨尔县| 库伦旗| 康乐县| 泰安市| 正阳县|