W
WizStefan
Guest
Γεια σε όλους!
Δουλεύω και ένα ρολόι για μια πανεπιστημιακή πρακτική.Είμαι με τη χρήση δύο διακοπές στην pic? Μία από timer0, που συμβαίνει κάθε 1 δευτερόλεπτο και χρησιμοποιείται ως βάση χρόνο μου, και ένα άλλο από timer1, που συμβαίνει κάθε 10ms και χρησιμοποιείται για την πολυπλεξία μεταξύ μου εμφανίζει 4 επτά τμήματος.Το πρόβλημα είναι ότι μόνο η πρώτη διακοπή που συμβαίνει (σε 10ms), τότε γίνεται από την διακοπή, και να συνεχίσει με το πρόγραμμα και δεν νοιάζονται για διακοπή κάθε άλλο πια ...Είμαι εκκαθάρισης διακόπτουν τη σημαία σε κάθε χρονόμετρο λίγο μετά την διακοπή άκρα, έστω και εκ νέου ρύθμιση της επιτρέψει δυφία για κάθε διακοπή στο τέλος εγώ (αν και δεν είναι καν απαραίτητο) ...Έχω κολλήσει σε αυτό, και δεν ξέρω τι άλλο να κάνει, για την προσομοίωση Proteus λειτουργεί τέλεια,
και δεν λαμβάνετε κανένα λάθος εκεί = S
Μπορεί κανείς να μου δώσετε κάποια συμβουλή;Συγνώμη για τα κακά αγγλικά =)Προστέθηκε μετά από 23 λεπτά:Αυτός είναι ο κωδικός
του ότι τα προβλήματα που μου δώσατε, το όνομα του τις λειτουργίες και τα σχόλια που έχουν για την ισπανική, συγγνώμη για αυτό =)
Αυτή είναι η αρχική ρύθμιση:
Κωδικός:
? Directivas de Κεντρική σελίδαΚΑΤΑΛΟΓΟΣ P = PIC18F4550
# περιλαμβάνουν <P18F4550.INC>;------------------------------------------------- --
? Configuracion
CONFIG WDT = OFF? Guardian desactivado
CONFIG FOSC = HS? Operación con Oscilador de alta velocidad externo.
CONFIG BOR = OFF
CONFIG MCLRE = OFF? Pin 1 como Επαναφ, RE3 desabilitada
CONFIG LVP = OFF? Programación de bajo voltaje desactivada;------------------------------------------------- --
? Δήλωση μεταβλητώνι EQU 0x8A?
κ EQU 0x8E? Constantes usadas en la
l EQU 0x8F? FUNCIÓN de demora
m EQU 0x90?seg1 EQU 0x92?
seg2 EQU 0x93?
min1 EQU 0x94?
min2 EQU 0x95?
hor1 EQU 0x96?
hor2 EQU 0x97?modomux EQU 0x98?aux EQU 0x9D?
aux2 EQU 0x99?;------------------------------------------------- --
? Vectores de Κεντρική σελίδα e interrupcionesORG 0x00? Vector de Κεντρική σελίδα
goto INICIO?ORG 0x08?
movwf aux2?
btfsc INTCON, TMR0IF? Vector de interrupcion
goto RELOJ?
btfsc PIR1, TMR1IF?
goto Multiplexacion?
goto fin_interrupcion?;------------------------------------------------- --INICIO:
clrf LATA?
clrf LATB? Limpieza de μάνδαλο de todos
clrf LATC? los Puertos
clrf LATD?
clrf LATE?clrf ΠΟΡΤΑ?
clrf PORTB?
clrf PORTC? Limpieza de los Puertos
clrf PORTE?
clrf PORTD?movlw b'00000000 '?
movwf TRISB?
movlw b'00000000 '? Configuracion de los Puertos
movwf TRISC? Β, Γ και Δ όπως SALIDA, y RA0
movlw b'00000000 '? RA1 y RA2 como entradas
movwf TRISD?
movlw b'00001111 '?
movwf TRISA?
movlw b'00000000 "
movwf TRISE?movlw b'00001111 '? Configuracion de RA0, RA1 y
movwf ADCON1? RA2 como entradas digitalesoomovlw b'11100000 '? interrupciones, de la προτεραιότητα
movwf INTCON? interrupciones y de las de lamovlw 0xf0? Carga ο αριθμός 16 bit
movwf TMR0H? 61.629 en δεκαεξαδικό al Registro
movlw 0xbd? de timer0
movwf TMR0L?movlw b'10000111 '? Carga el preescalar del timer0
movwf T0CON? A 256 y el timer0 ACTIVAmovlw 0xfd? Carga ο αριθμός 16 bit
movwf TMR1H? en δεκαεξαδικό al Registro
movlw 0x8f? de timer1
movwf TMR1L?movlw b'10110001 '? Carga el preescalar del timer1
movwf T1CON? 1 y el timer1 ACTIVABSF PIE1, .0BSF PORTE, .0?
movlw .0?
movwf seg1?
movwf seg2?
movwf min1?
movwf min2?
movlw .1?
movwf hor2?
movlw .2?
movwf hor1?
Δουλεύω και ένα ρολόι για μια πανεπιστημιακή πρακτική.Είμαι με τη χρήση δύο διακοπές στην pic? Μία από timer0, που συμβαίνει κάθε 1 δευτερόλεπτο και χρησιμοποιείται ως βάση χρόνο μου, και ένα άλλο από timer1, που συμβαίνει κάθε 10ms και χρησιμοποιείται για την πολυπλεξία μεταξύ μου εμφανίζει 4 επτά τμήματος.Το πρόβλημα είναι ότι μόνο η πρώτη διακοπή που συμβαίνει (σε 10ms), τότε γίνεται από την διακοπή, και να συνεχίσει με το πρόγραμμα και δεν νοιάζονται για διακοπή κάθε άλλο πια ...Είμαι εκκαθάρισης διακόπτουν τη σημαία σε κάθε χρονόμετρο λίγο μετά την διακοπή άκρα, έστω και εκ νέου ρύθμιση της επιτρέψει δυφία για κάθε διακοπή στο τέλος εγώ (αν και δεν είναι καν απαραίτητο) ...Έχω κολλήσει σε αυτό, και δεν ξέρω τι άλλο να κάνει, για την προσομοίωση Proteus λειτουργεί τέλεια,
και δεν λαμβάνετε κανένα λάθος εκεί = S
Μπορεί κανείς να μου δώσετε κάποια συμβουλή;Συγνώμη για τα κακά αγγλικά =)Προστέθηκε μετά από 23 λεπτά:Αυτός είναι ο κωδικός
του ότι τα προβλήματα που μου δώσατε, το όνομα του τις λειτουργίες και τα σχόλια που έχουν για την ισπανική, συγγνώμη για αυτό =)
Αυτή είναι η αρχική ρύθμιση:
Κωδικός:
? Directivas de Κεντρική σελίδαΚΑΤΑΛΟΓΟΣ P = PIC18F4550
# περιλαμβάνουν <P18F4550.INC>;------------------------------------------------- --
? Configuracion
CONFIG WDT = OFF? Guardian desactivado
CONFIG FOSC = HS? Operación con Oscilador de alta velocidad externo.
CONFIG BOR = OFF
CONFIG MCLRE = OFF? Pin 1 como Επαναφ, RE3 desabilitada
CONFIG LVP = OFF? Programación de bajo voltaje desactivada;------------------------------------------------- --
? Δήλωση μεταβλητώνι EQU 0x8A?
κ EQU 0x8E? Constantes usadas en la
l EQU 0x8F? FUNCIÓN de demora
m EQU 0x90?seg1 EQU 0x92?
seg2 EQU 0x93?
min1 EQU 0x94?
min2 EQU 0x95?
hor1 EQU 0x96?
hor2 EQU 0x97?modomux EQU 0x98?aux EQU 0x9D?
aux2 EQU 0x99?;------------------------------------------------- --
? Vectores de Κεντρική σελίδα e interrupcionesORG 0x00? Vector de Κεντρική σελίδα
goto INICIO?ORG 0x08?
movwf aux2?
btfsc INTCON, TMR0IF? Vector de interrupcion
goto RELOJ?
btfsc PIR1, TMR1IF?
goto Multiplexacion?
goto fin_interrupcion?;------------------------------------------------- --INICIO:
clrf LATA?
clrf LATB? Limpieza de μάνδαλο de todos
clrf LATC? los Puertos
clrf LATD?
clrf LATE?clrf ΠΟΡΤΑ?
clrf PORTB?
clrf PORTC? Limpieza de los Puertos
clrf PORTE?
clrf PORTD?movlw b'00000000 '?
movwf TRISB?
movlw b'00000000 '? Configuracion de los Puertos
movwf TRISC? Β, Γ και Δ όπως SALIDA, y RA0
movlw b'00000000 '? RA1 y RA2 como entradas
movwf TRISD?
movlw b'00001111 '?
movwf TRISA?
movlw b'00000000 "
movwf TRISE?movlw b'00001111 '? Configuracion de RA0, RA1 y
movwf ADCON1? RA2 como entradas digitalesoomovlw b'11100000 '? interrupciones, de la προτεραιότητα
movwf INTCON? interrupciones y de las de lamovlw 0xf0? Carga ο αριθμός 16 bit
movwf TMR0H? 61.629 en δεκαεξαδικό al Registro
movlw 0xbd? de timer0
movwf TMR0L?movlw b'10000111 '? Carga el preescalar del timer0
movwf T0CON? A 256 y el timer0 ACTIVAmovlw 0xfd? Carga ο αριθμός 16 bit
movwf TMR1H? en δεκαεξαδικό al Registro
movlw 0x8f? de timer1
movwf TMR1L?movlw b'10110001 '? Carga el preescalar del timer1
movwf T1CON? 1 y el timer1 ACTIVABSF PIE1, .0BSF PORTE, .0?
movlw .0?
movwf seg1?
movwf seg2?
movwf min1?
movwf min2?
movlw .1?
movwf hor2?
movlw .2?
movwf hor1?