📄 anjian16.txt
字号:
;-------4*4键盘程序的使用--------PC EQU 2STATUS EQU 3RA EQU 5RB EQU 6RC EQU 7BIJIAO EQU 0FJIANZHI EQU 8BUFFER EQU 9BUFFER1 EQU 0AHBUFFER2 EQU 0BHCOUNTER EQU 0CHCON1 EQU 0DHCON2 EQU 0EHPIC57 EQU 7FFHZ EQU 2;----------------------------- ORG PIC57 GOTO MAIN;----------------------------- ORG 0;-----------------------------; 延时子程序;----------------------------DELAY MOVLW D'100' MOVWF CON1L1 MOVLW D'200' MOVWF CON2L2 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 QJZXYB1 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 QJZXYB2 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 QJZXYB3 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 BIJIAOQJZ MOVLW 1 MOVWF BUFFER2 MOVLW 4 MOVWF COUNTERQJZ1 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 RBLOOP CLRF RC CALL SCANKEY ANDLW 0FH SKPNZ ;根据返回值不为零,判断有无键按下 GOTO LOOP MOVLW 0FH ANDWF JIANZHI,W MOVWF RC CALL DELAYLOOP1 MOVF BUFFER1,W ANDWF RB,W XORWF BIJIAO,W SKPNZ GOTO LOOP1 GOTO LOOP;--------------;------------------------------- END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -