PDA

View Full Version : [assembly] Problema programmino


diavoletto85
23-11-2009, 13:43
Ciao ragazzi, mi sto cimentando nella realizzazione di un piccolo programmino din assembler da caricare su un pic16f84...si tratta di un semplice visualizzatore di decimidi secondo interfacciato ad un display a 7 segmenti...
ho qualche piccolo problema e non riesco a farlo funzionare...questo è il punto dove sono arrivato...qualcunosa schiarirmi le idee??
grazie mille

;PORTA SELEZIONA IL DISPLAY
;PORTB VISUALIZZAZIONE CIFRA
ORG 3
GOTO 05
ORG 4
goto intser

#DEFINE PAGE1 BSF 3,5
#DEFINE PAGE0 BCF 3,5
PORTA EQU 05
PORTB EQU 06
INTCON EQU 0B
NUM EQU 20
SAVE EQU 21
CONT EQU 22
STATUS EQU 03

PAT0 EQU 3F
PAT1 EQU 06
PAT2 EQU 5B
PAT3 EQU 4F
PAT4 EQU 66
PAT5 EQU 6D
PAT6 EQU 7D
PAT7 EQU 07
PAT8 EQU 7F
PAT9 EQU 6F

PAGE1
MOVLW 00
MOVWF PORTB
MOVWF PORTA
PAGE0
MOVLW A0
MOVWF INTCON ;ABILITIAMO INTERRUPT PER TIMER 0
MOVLW 0
MOVWF NUM ;CONTIENE IL VALORE DA VISUALIZZARE
BCF 81H,0 ;SETTIAMO IL TIMER INTERNO
BSF 81H,1 ;ABILITIAMO IL PRESCALER CON DIVISIONE A 1/16
BCF 81h,3
BCF 81H,5
BSF 81H,2
MOVLW 19
MOVWF CONT

VIS: BSF PORTA,0
MOVF NUM,0
CALL TAB
MOVF PORTB
GOTO VIS

TAB: ADDWF PCL
RETLW PAT0
RETLW PAT1
RETLW PAT2
RETLW PAT3
RETLW PAT4
RETLW PAT5
RETLW PAT5
RETLW PAT6
RETLW PAT7
RETLW PAT8
RETLW PAT9

INTSER: BCF INTCON,7
BTFSS INTCON,2
RETFIE
MOVWF SAVE
MOVLW 06
MOVWF 01
BCF INTCON,2
DECF CONT
MOVLW 0
XORWF CONT ;CONT DEVE CONTARE 25 INTERRUPT
BTFSS STATUS,2
GOTO CHIUDI
INCF NUM
MOVLW 19
MOVWF CONT
MOVLW 0A
XORWF NUM
BTFSS STATUS,2
GOTO CHIUDI
MOVLW 0
MOVWF NUM
CHIUDI: MOVF SAVE,0
RETFIE
END
;BTFSC STATUS,2
;BSF STATUS,2
;GOTO ENDINT
;MOVLW 7C
;MOVWF PLUTO


;BSF INTCON,7
;BSF INTCON,2