KEYSCAN Asm

You might also like

Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 5

VARtoLCD macro modo,A,B,C,D,E,F,REG

movlw modo
movwf buffermodo
movf REG,W
MOVWF bufferdata
BCF Select,RS
CALL ClearDisp
BSF Select,RS
movlw A
CALL Send
movlw B
CALL Send
movlw C
CALL Send
movlw D
CALL Send
movlw E
CALL Send
movlw F
CALL Send

MOVLW LINE1+7
BCF Select,RS
CALL Send
BSF Select,RS

movf REG,W
MOVWF BUFFER
CALL BINToBCD
MOVFW huns
CALL Send
MOVFW tens
CALL Send
MOVFW ones
CALL Send
;CALL loop1
return
ENDM

SLUT_VAR macro REG


movf bufferdata,W
movwf REG
call slut_1
ENDM

KEYSCAN
BTFSC PORTB,5
GOTO UPDOWN
BTFSC PORTB,6
GOTO UPDOWN
RETURN
UPDOWN

clrf flags
BTFSC PORTB,5
BSF flags,0
BTFSC PORTB,6
BSF flags,1

MOVF flags,w
ADDWF PCL
GOTO M1 ; DCBA=0000:nessun pulsante down
GOTO M2 ; DCBA=0001:incrementa
GOTO M3 ; DCBA=0010:decrementa

M1
nop
GOTO MAIN
M2
incf ante,1
BCF Select,RS
CALL ClearDisp
BSF Select,RS
movlw 'A'
CALL Send
movlw 'N'
CALL Send
movlw 'T'
CALL Send
movlw 'E'
CALL Send
movlw '-'
CALL Send
movlw '-'
CALL Send
MOVLW LINE1+7
BCF Select,RS
CALL Send
BSF Select,RS
movf ante,W
MOVWF BUFFER
CALL BINToBCD
MOVFW huns
CALL Send
MOVFW tens
CALL Send
MOVFW ones
CALL Send
;------------------------------------------
decfsz post,1
MOVLW LINE2
BCF Select,RS
CALL Send
BSF Select,RS
movlw 'P'
CALL Send
movlw 'O'
CALL Send
movlw 'S'
CALL Send
movlw 'T'
CALL Send
movlw '-'
CALL Send
movlw '-'
CALL Send
MOVLW LINE2+7
BCF Select,RS
CALL Send
BSF Select,RS
movf post,W
MOVWF BUFFER
CALL BINToBCD
MOVFW huns
CALL Send
MOVFW tens
CALL Send
MOVFW ones
CALL Send
call slut_1

GOTO KEYSCAN
M3
decfsz ante,1
BCF Select,RS
CALL ClearDisp
BSF Select,RS
movlw 'A'
CALL Send
movlw 'N'
CALL Send
movlw 'T'
CALL Send
movlw 'E'
CALL Send
movlw '-'
CALL Send
movlw '-'
CALL Send
MOVLW LINE1+7
BCF Select,RS
CALL Send
BSF Select,RS
movf ante,W
MOVWF BUFFER
CALL BINToBCD
MOVFW huns
CALL Send
MOVFW tens
CALL Send
MOVFW ones
CALL Send

;-----------------------------------
incf post,1
MOVLW LINE2
BCF Select,RS
CALL Send
BSF Select,RS
movlw 'P'
CALL Send
movlw 'O'
CALL Send
movlw 'S'
CALL Send
movlw 'T'
CALL Send
movlw '-'
CALL Send
movlw '-'
CALL Send
MOVLW LINE2+7
BCF Select,RS
CALL Send
BSF Select,RS
movf post,W
MOVWF BUFFER
CALL BINToBCD
MOVFW huns
CALL Send
MOVFW tens
CALL Send
MOVFW ones
CALL Send
call slut_1

GOTO KEYSCAN
MENOTEST
BCF STATUS,Z
MOVLW B'100000'
SUBWF flags1,W
BTFSC STATUS,Z
clrf flags1
BTFSS STATUS,Z
decf flags1,F
return

;_______________________________________________________________________________
__

TEST
BCF STATUS,Z
MOVLW B'100000'
SUBWF flags1,W
BTFSC STATUS,Z
clrf flags1
incf flags1,f
return

You might also like