<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > PIC單片機(jī)鍵盤掃描匯編程序

          PIC單片機(jī)鍵盤掃描匯編程序

          作者: 時間:2012-12-11 來源:網(wǎng)絡(luò) 收藏

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

          LIST P=18F458
          INCLUDE "P18F458.INC"

          ;所用的寄存器
          JIANR EQU 0X20
          FLAG EQU JIANR+1 ;標(biāo)志寄存器
          DEYH EQU JIANR+2
          DEYL EQU JIANR+3
          F0 EQU 0 ;FLAG的第0位定義為F0
          ORG 0X00
          GOTO MAIN
          ORG 0X30
          ;*************以下為鍵盤碼值轉(zhuǎn)換表******************
          CONVERT ADDWF PCL,1
          RETLW 0XC0 ;0,顯示段碼與具體的硬件連接有關(guān)
          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 ;設(shè)置與鍵盤有關(guān)的各口的輸入輸出方式
          BCF TRISC,5
          BCF TRISC,3 ;設(shè)置SCK與SDO為輸出方式
          BCF INTCON,GIE ;關(guān)閉所有中斷
          MOVLW 0XC0
          MOVWF SSPSTAT ;設(shè)置SSPSTAT寄存器
          MOVLW 0X30
          MOVWF SSPCON1 ;設(shè)置SPI的控制方式,允許SSP方式,并且時鐘下降
          ;沿發(fā)送數(shù)據(jù),與"74HC595當(dāng)其SCLK從低到高電平
          ;跳變時,串行輸入數(shù)據(jù)(DI)移入寄存器"的特點相對應(yīng)
          MOVLW 0X01
          MOVWF JIANR ;顯示值寄存器(復(fù)用為鍵值寄存器)賦初值
          CLRF FLAG ;清除標(biāo)志寄存器
          RETURN ;返回
          ;**************顯示子程序*****************
          DISPLAY
          CLRF PORTA
          MOVWF SSPBUF
          AGAIN
          BTFSS PIR1,SSPIF
          GOTO AGAIN
          NOP
          BCF PIR1,SSPIF
          BSF PORTA,5 ;詳細(xì)的程序語句請參考http://www.51hei.com pic單片機(jī)教程語句部分,可在首頁搜索。
          RETURN
          ;**************查鍵子程序*****************
          KEYSCAN
          BCF PORTB,1
          BCF PORTA,3
          BCF PORTE,0
          BCF PORTE,1 ;K1,K2,K3,K4四條列線置0
          NOP
          NOP ;延時,使引腳的電平穩(wěn)定
          BTFSC PORTB,4
          BCF FLAG,F(xiàn)0 ;RB4為1,表示沒鍵按下,清除標(biāo)志F0
          NOP
          BTFSS PORTB,4
          BSF FLAG,F(xiàn)0 ;RB4為0,表示有鍵按下,建立標(biāo)志F0
          RETURN

          單片機(jī)相關(guān)文章:單片機(jī)教程


          單片機(jī)相關(guān)文章:單片機(jī)視頻教程


          單片機(jī)相關(guān)文章:單片機(jī)工作原理



          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();