C
creative_35
Guest
Έχω πρόβλημα στο λιμάνι, επιτρέπει την αλλαγή αυτής της ρύθμισης, ενώ προσομοίωση ρουτίνας σε mblab.
I RB4 ρυθμιστεί ως την αλλαγή του λιμένα και όταν πυροδοτικών RB4, που πηδά σε ΔΑΜ και ποτέ δεν επιστρέφει από ISR ρουτίνας.Δεν ξέρω γιατί.κανέναν σας είχε τέτοια προβλήματα;pls να με βοηθήσει.Κωδικός:
p = 16f628 λίστα? λίστα οδηγία να καθορίσει επεξεργαστή
# περιλαμβάνουν <p16f628.inc>? επεξεργαστή συγκεκριμένη μεταβλητή ορισμοί__CONFIG _CP_OFF & _WDT_ON & _BODEN_ON & _PWRTE_ON & _ER_OSC_CLKOUT & _MCLRE_ON & _LVP_ON;***** VARIABLE ΟΡΙΣΜΟΙ
w_temp EQU 0x70? μεταβλητό πλαίσιο που χρησιμοποιούνται για την αποθήκευση
status_temp EQU 0x71? μεταβλητό πλαίσιο που χρησιμοποιούνται για την αποθήκευση;************************************************* *********************
ORG 0x000? Επεξεργαστή ηδενίσετε διάνυσμα
goto κύριος? μεταβείτε στην αρχή του προγράμματος;**************** ISR ΣΥΝΗΘΗΣ ******************************* ***
ORG 0x004? Διακόπτουν διάνυσμα θέσης
movwf w_temp? αποθηκεύσετε εκτός τρέχουσα W μητρώο περιεχόμενο
movf STATUS, w? κίνηση καθεστώς μητρώο σε μητρώο W
movwf status_temp? εκτός από το περιεχόμενο του μητρώου ΚατάστασηBANKSEL INTCON
BCF INTCON, RBIFmovf status_temp, w? ανακτήσετε αντίγραφο του μητρώου Κατάσταση
movwf STATUS? αποκατάσταση της προ-ISR Κατάσταση μητρώο περιεχόμενο
swapf w_temp, στ
swapf w_temp, w? αποκατάσταση της προ-ISR W μητρώο περιεχόμενο
retfie? επιστροφή από τη διακοπή
:************************************************* **********************
MAIN
BANKSEL CMCON
movlw 7η
movwf CMCON
BANKSEL PORTB
clrf PORTB
clrf ΠΟΡΤΑ
BANKSEL TRISB
movlw 0x10
movwf TRISB
clrf TRISASTART
BANKSEL INTCON
BSF INTCON, GIE
BCF INTCON, RBIF
BSF INTCON, RBIE
goto $ΤΕΛΟΣ
I RB4 ρυθμιστεί ως την αλλαγή του λιμένα και όταν πυροδοτικών RB4, που πηδά σε ΔΑΜ και ποτέ δεν επιστρέφει από ISR ρουτίνας.Δεν ξέρω γιατί.κανέναν σας είχε τέτοια προβλήματα;pls να με βοηθήσει.Κωδικός:
p = 16f628 λίστα? λίστα οδηγία να καθορίσει επεξεργαστή
# περιλαμβάνουν <p16f628.inc>? επεξεργαστή συγκεκριμένη μεταβλητή ορισμοί__CONFIG _CP_OFF & _WDT_ON & _BODEN_ON & _PWRTE_ON & _ER_OSC_CLKOUT & _MCLRE_ON & _LVP_ON;***** VARIABLE ΟΡΙΣΜΟΙ
w_temp EQU 0x70? μεταβλητό πλαίσιο που χρησιμοποιούνται για την αποθήκευση
status_temp EQU 0x71? μεταβλητό πλαίσιο που χρησιμοποιούνται για την αποθήκευση;************************************************* *********************
ORG 0x000? Επεξεργαστή ηδενίσετε διάνυσμα
goto κύριος? μεταβείτε στην αρχή του προγράμματος;**************** ISR ΣΥΝΗΘΗΣ ******************************* ***
ORG 0x004? Διακόπτουν διάνυσμα θέσης
movwf w_temp? αποθηκεύσετε εκτός τρέχουσα W μητρώο περιεχόμενο
movf STATUS, w? κίνηση καθεστώς μητρώο σε μητρώο W
movwf status_temp? εκτός από το περιεχόμενο του μητρώου ΚατάστασηBANKSEL INTCON
BCF INTCON, RBIFmovf status_temp, w? ανακτήσετε αντίγραφο του μητρώου Κατάσταση
movwf STATUS? αποκατάσταση της προ-ISR Κατάσταση μητρώο περιεχόμενο
swapf w_temp, στ
swapf w_temp, w? αποκατάσταση της προ-ISR W μητρώο περιεχόμενο
retfie? επιστροφή από τη διακοπή
:************************************************* **********************
MAIN
BANKSEL CMCON
movlw 7η
movwf CMCON
BANKSEL PORTB
clrf PORTB
clrf ΠΟΡΤΑ
BANKSEL TRISB
movlw 0x10
movwf TRISB
clrf TRISASTART
BANKSEL INTCON
BSF INTCON, GIE
BCF INTCON, RBIF
BSF INTCON, RBIE
goto $ΤΕΛΟΣ