;-------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????????????????? ;根據返回值不為零,判斷有無鍵按下
???????? 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
?
PIC單片機的4*4鍵盤子程序
- PIC單片機(101422)
- 鍵盤(38966)
- 子程序(11022)
相關推薦
pic單片機匯編程序實例
以下是一個簡單的PIC單片機匯編程序示例,這個程序將實現一個LED閃爍的功能。 首先,我們需要了解PIC單片機的結構和指令集。PIC單片機是一種基于哈佛結構的8位微控制器,具有豐富的指令集和外設接口
2023-12-14 11:01:01
523

51單片機和74c922鍵盤問題
本帖最后由 lbb_1112 于 2015-12-4 13:48 編輯
用74c922做的鍵盤控制,51單片機和12864顯示,按鍵后總是沒反應進不到按鍵后的程序中去,74c922的輸出有信號
2015-12-04 13:09:38
51單片機矩陣鍵盤C程序主程序
51單片機矩陣鍵盤C程序主程序1:void main(){uchar i,j,ki=0;j=0;while(1){i=key();//鍵盤循環掃描,其值賦給變量數組tableif(i!=0)//鍵盤子程序返回值非0,即有按鍵按下{ table[j]=i;//將值存在變量數組中j++;
2021-07-20 06:01:52
51單片機矩陣鍵盤c語言程序
51單片機矩陣鍵盤c語言程序,c51單片機實現矩陣鍵盤用數碼管動態依次顯示鍵值//4*4矩陣按鍵0-F4位LED輪流顯示,按鍵從左到右從上到下0-F #include#include#define
2021-07-21 09:20:17
51系列單片機常用子程序rar下載
不知道有沒有人發過,還是分享一下吧51系列單片機常用子程序.rar 2015-5-29 12:15 上傳 點擊文件名下載附件 2.4 MB, 下載次數: 11
2018-07-19 06:08:50
4*4鍵盤掃描程序+電路圖
/* 程序效果:按下任意鍵,LED顯示P0讀回的數據 其中4*4的矩陣鍵盤接P0口 */ #include //頭文件 unsigned char key=0xff;//定義一個變量用于存放按鍵
2018-07-13 03:05:46
4*4鍵盤輸入頻率數據,單片機寫入AD9854,頻率在LCD1602顯示
4*4鍵盤輸入頻率數據,單片機寫入AD9854,頻率在LCD1602顯示,有誰會嗎?不會編程···
2013-04-22 16:32:46
4*4矩陣鍵盤掃描程序分享
由于買的最小系統開發板只有一個按鍵感覺不大方便調試和搞其他東東,所以又在某寶買了一個4*4矩陣鍵盤拓展一下按鍵哈。能力有限,參照之前學的51單片機例程寫了份簡單粗暴型的按鍵掃描程序,如需在大項目
2022-02-17 06:31:22
評論