新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > PIC單片機鍵盤掃描匯編程序

        PIC單片機鍵盤掃描匯編程序

        作者: 時間:2012-12-11 來源:網絡 收藏

        ;**********鍵盤去抖子程序(約8ms的延時)** ***************
        KEYDELAY
        MOVLW 0X0A
        MOVWF DEYH
        AGAIN2 MOVLW 0XFF
        MOVWF DEYL
        AGAIN1 DECFSZ DEYL,1
        GOTO AGAIN1
        DECFSZ DEYH,1
        GOTO AGAIN2
        RETURN
        ;***************鍵服務子程序****************
        ;確定鍵值的子程序
        KEYSERVE
        JIANZHI BCF PORTB,1
        BCF PORTA,3
        MOVLW 0X03
        MOVWF PORTE ;K1,K2置低電平,K3,K4置高電平
        NOP
        NOP ;使引腳電平穩定
        BTFSS PORTB,4
        GOTO K1K2 ;RB4為0,表示按鍵為K1,K2中的一個
        GOTO K3K4 ;RB4為1,表示按鍵為K3,K4中的一個

        K1K2 BCF PORTB,1
        BSF PORTA,3 ;K1置低電平,K2置高電平
        NOP
        NOP ;使引腳電平穩定
        BTFSS PORTB,4
        GOTO K1 ;RB4為0,表示按鍵為K1
        GOTO K2 ;RB4為1,表示按鍵為K2

        K3K4 BCF PORTE,0
        BSF PORTE,1 ;K3置低電平,K4置高電平
        NOP
        NOP ;使引腳電平穩定
        BTFSS PORTB,4
        GOTO K3 ;RB4為0,表示按鍵為K3
        GOTO K4 ;RB4為1,表示按鍵為K4

        K1 MOVLW 0X03
        MOVWF JIANR
        GOTO JIANW
        K2 MOVLW 0X05
        MOVWF JIANR
        BCF PORTA,3
        GOTO JIANW
        K3 MOVLW 0X07
        MOVWF JIANR
        GOTO JIANW
        K4 MOVLW 0X09
        MOVWF JIANR ;以上根據按下的鍵把相應的值送給JIANR
        BCF PORTE,1
        JIANW BTFSS PORTB,4
        GOTO JIANW ;為了防止一次按鍵多次識別,等鍵松開才返回
        RETURN
        ;****************************************
        MAIN NOP
        CALL INITIAL ;調用初始化子程序
        LOOP
        CALL KEYSCAN ;查鍵
        BTFSC FLAG,F0
        CALL KEYDELAY ;若檢測到有鍵按下,則調用軟件延時子程序去抖動
        BTFSC FLAG,F0
        CALL KEYSCAN ;若第一次掃描到有鍵按下,則經過前面的延時去抖后
        ;再次進行鍵掃描
        BTFSC FLAG,F0
        CALL KEYSERVE ;若確認有鍵按下,則需要調用鍵服務程序
        BTFSS FLAG,F0
        GOTO LOOP ;如果無鍵按下,則反復進行鍵掃描
        MOVF JIANR,W
        CALL CONVERT ;把按鍵對應的數字轉換成待顯示的段碼
        CALL DISPLAY ;調用顯示子程序
        GOTO LOOP
        END

        單片機相關文章:單片機教程


        單片機相關文章:單片機視頻教程


        單片機相關文章:單片機工作原理



        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 哈尔滨市| 深州市| 西乌| 刚察县| 卢氏县| 佳木斯市| 南部县| 湖口县| 阿尔山市| 潮州市| 天峨县| 铜山县| 延吉市| 兴仁县| 望城县| 白银市| 吕梁市| 温州市| 原阳县| 古田县| 玉山县| 盐边县| 乡城县| 祁东县| 浙江省| 庄河市| 通城县| 肥城市| 沛县| 大竹县| 偃师市| 枣阳市| 盐山县| 景洪市| 土默特左旗| 高安市| 呼和浩特市| 石阡县| 会宁县| 湘西| 齐齐哈尔市|