新聞中心

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

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

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

        ;本程序用于外接鍵盤的識別,通過,使按下K1鍵時第一個數碼管顯示1,按下K2鍵時第一
        ;個數碼管上顯示2,按下K3鍵時第一個數碼管上顯示3,按下K4鍵時第一個數碼管上顯示4,
        ;對鍵盤的掃描采用查詢方式

        LIST P=18F458
        INCLUDE "P18F458.INC"

        ;所用的寄存器
        JIANR EQU 0X20
        FLAG EQU JIANR+1 ;標志寄存器
        DEYH EQU JIANR+2
        DEYL EQU JIANR+3
        F0 EQU 0 ;FLAG的第0位定義為F0
        ORG 0X00
        GOTO MAIN
        ORG 0X30
        ;*************以下為鍵盤碼值轉換表******************
        CONVERT ADDWF PCL,1
        RETLW 0XC0 ;0,顯示段碼與具體的硬件連接有關
        RETLW 0XF9 ;1
        RETLW 0XA4 ;2
        RETLW 0XB0 ;3
        RETLW 0X99 ;4
        RETLW 0X92 ;5
        RETLW 0X82 ;6
        RETLW 0XD8 ;7
        RETLW 0X80 ;8
        RETLW 0X90 ;9
        RETLW 0X88 ;A
        RETLW 0X83 ;B
        RETLW 0XC6 ;C
        RETLW 0XA1 ;D
        RETLW 0X86 ;E
        RETLW 0X8E ;F
        RETLW 0X7F ;"."
        RETLW 0XBF ;"-"
        RETLW 0X89 ;H
        RETLW 0XFF ;DARK
        RETURN
        ;***************初始化子程序*****************
        INITIAL
        BCF TRISA,5 ;置RA5為輸出方式,以輸出鎖存信號
        BCF TRISB,1
        BCF TRISA,3
        BCF TRISE,0
        BCF TRISE,1
        BSF TRISB,4 ;設置與鍵盤有關的各口的輸入輸出方式
        BCF TRISC,5
        BCF TRISC,3 ;設置SCK與SDO為輸出方式
        BCF INTCON,GIE ;關閉所有中斷
        MOVLW 0XC0
        MOVWF SSPSTAT ;設置SSPSTAT寄存器
        MOVLW 0X30
        MOVWF SSPCON1 ;設置SPI的控制方式,允許SSP方式,并且時鐘下降
        ;沿發送數據,與"74HC595當其SCLK從低到高電平
        ;跳變時,串行輸入數據(DI)移入寄存器"的特點相對應
        MOVLW 0X01
        MOVWF JIANR ;顯示值寄存器(復用為鍵值寄存器)賦初值
        CLRF FLAG ;清除標志寄存器
        RETURN ;返回
        ;**************顯示子程序*****************
        DISPLAY
        CLRF PORTA
        MOVWF SSPBUF
        AGAIN
        BTFSS PIR1,SSPIF
        GOTO AGAIN
        NOP
        BCF PIR1,SSPIF
        BSF PORTA,5 ;詳細的程序語句請參考http://www.51hei.com pic單片機教程語句部分,可在首頁搜索。
        RETURN
        ;**************查鍵子程序*****************
        KEYSCAN
        BCF PORTB,1
        BCF PORTA,3
        BCF PORTE,0
        BCF PORTE,1 ;K1,K2,K3,K4四條列線置0
        NOP
        NOP ;延時,使引腳的電平穩定
        BTFSC PORTB,4
        BCF FLAG,F0 ;RB4為1,表示沒鍵按下,清除標志F0
        NOP
        BTFSS PORTB,4
        BSF FLAG,F0 ;RB4為0,表示有鍵按下,建立標志F0
        RETURN

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


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


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



        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 武冈市| 美姑县| 鱼台县| 鄂托克旗| 西丰县| 龙井市| 奉贤区| 和静县| 陕西省| 阜平县| 石台县| 汉阴县| 江源县| 南丰县| 芒康县| 航空| 阜新| 乾安县| 望都县| 澳门| 漠河县| 象州县| 凤山市| 榆林市| 资阳市| 西林县| 绩溪县| 玉龙| 盐亭县| 商丘市| 介休市| 彩票| 新郑市| 玉环县| 玛多县| 丹东市| 九寨沟县| 神池县| 江陵县| 巴中市| 迁安市|