tmr0 σε 16f84a

Hai
Επίσης, ελέγξτε καιρός timer0 μετράει εσωτερικό ρολόι ή εξωτερικές παλμό από την καρφίτσα εισόδου είναι.ότι είναι το probabile πράγμα.
Picstudent

 
Γεια σου,

Δεν έχω περάσει από τον κωδικό σας, καθώς είναι σχεδόν 4 AM πού είμαι,
αλλά υπάρχει ένα σημείωμα στο δελτίο 16F84A που λέει:

"Γράφοντας για TMR0 όταν το PRESCALER είναι
ανατεθεί Timer0 θα ξεκαθαρίσει το PRESCALER
μέτρηση, αλλά δεν θα αλλάξει το PRESCALER
εκχώρηση. "(σελίδα 19)

Μήπως είστε επαναφορά σας μετράνε όλη την ώρα;

Καληνύχτα ...
/ Rambo

 
D

daniel2004

Guest
Γεια έχω μια χαζή ερώτηση, νομίζω ότι λείπει κάτι πολύ βασικό εδώ.

Λοξοτομώ φαίνεται να πάρετε TMR0 την αύξηση του MPLAB, και δεν νομίζω ότι εργάζεται στο ΣΜΕ δύο.Πρώτον να στήσετε το Option_Reg, και T0CS που, προκειμένου να μετατρέψει το χρονόμετρο off.Όταν θέλω το χρονόμετρο να υπολογίζουν Ι σαφής T0CS έτσι το χρονόμετρο θα αυξηθεί από το εσωτερικό ρολόι.Αυτό dosnt συμβεί.Μου από την ανάγνωση του φύλλου δεδομένων του χρονοδιακόπτη αύξηση θα πρέπει να βρίσκεται στην κατάσταση αυτή δεν έχει σημασία τι.Έχω ελέγξει σε MPLAB που έχουν καθοριστεί όλα τα bits και εκκαθαρίζονται όπως θα έπρεπε να είναι, ακόμα δεν τύχη.Ελπίζω κάποιος εδώ θα μπορούσε να ρίξει λίγο φως σε αυτό.

Ευχαριστώ
Daniel

# define Processor 16F84A

ΚΑΤΑΛΟΓΟΣ P = 16F84A?, F = INHX8M
# include <P16F84A.inc>

__config _CP_OFF & _PWRTE_OFF & _WDT_OFF & _HS_OSC;************************************************* ***********
? Εξισώνει MEMORY
;************************************************* ***********

W_Temp EQU 0x20
STATUS_Temp EQU 0x21
Καθυστέρηση EQU 0x22

;************************************************* ***********
? Μηδενισμός και Interrupt Vectors

ORG 0x0000? Reset Vector
GOTO Start

ORG 0x0004? Interrupt vector
GOTO IntVector

;************************************************* ***********
? Πρόγραμμα ξεκινά εδώ

ORG 0x005
Εκκίνηση
BSF STATUS, RP0
MOVLW h'FF »
MOVWF TRISA
CLRF TRISB
BSF TRISB, 7
BSF TRISB, 6

BSF OPTION_REG, T0CS? Timer0 δεν τρέχει
BSF OPTION_REG, T0SE? Rising άκρη
BCF OPTION_REG, PSA? Χρήση tmr0 για PRESCALER
BSF OPTION_REG, PS2? Μέγιστη PRESCALER
BSF OPTION_REG, PS1
BSF OPTION_REG, PS0
CLRF INTCON? Start νωπά
BCF INTCON, T0IE? Ενεργοποίηση TMR0 Interrupt
BCF INTCON, T0IF? Κωδικοποίηση TMR0 σημαίας
BCF STATUS, RP0? Bank0
CLRF TMR0
BSF INTCON, GIE
Κύρια GOTO

Κύριος
? BTFSS ΠΟΡΤΑ, 1
? GOTO Main
CLRF PORTB
BSF PORTB, 0
BSF STATUS, RP0
BCF OPTION_REG, T0CS? TMR0 Έναρξη
BCF STATUS, RP0
ένα MOVF Delay, W
SUBLW d'76 '
BTFSS STATUS, Z
GOTO ένα
BSF STATUS, RP0
BSF OPTION_REG, T0CS? Σταματήστε TMR0
BCF STATUS, RP0
CLRF TMR0
BSF PORTB, 1
? GOTO Main

Main_a
GOTO Main_a

IntVector
BSF PORTB, 3
MOVWF W_Temp? Αντιγραφή Δ TEMP να εγγραφείτε
SWAPF STATUS, W? Καθεστώς Εναλλαγή για να σωθεί σε W
CLRF STATUS? Τράπεζας 0, ανεξαρτήτως της τρέχουσας τράπεζας, Καθαρίζει ΔΕΕ, RP1, RP0
MOVWF STATUS_Temp? Αποθήκευση κατάσταση στην τράπεζα μηδέν μητρώο STATUS_TEMP

INCF Καθυστέρηση
CLRF TMR0
BCF INTCON, T0IF

SWAPF STATUS_Temp, W? Εναλλαγή μητρώο STATUS_TEMP σε W
? (τράπεζα θέτει στην αρχική του κατάσταση)
MOVWF STATUS? Μετακίνηση W σε STATUS μητρώο
SWAPF W_Temp, F? Swap W_TEMP
SWAPF W_Temp, W? W_TEMP Εναλλαγή σε W
RETFIE

τέλος

 

Welcome to EDABoard.com

Sponsor

Back
Top