D
daniel2004
Guest
Labas aš kvailas klausimas, manau, kad aš esu labai trūksta kažko pagrindinio čia.
I cant Atrodo gauti TMR0 į prieaugio MPLAB, ir nemanau, kad jis dirba arba TIFF.Pirmas I setup Option_Reg ir nustatyti T0CS, siekiant paversti laikmatis išjungtas.Kai noriu laikmatis tikėtis aš aišku T0CS taip laikmatis bus prieaugis išjungti vidinį laikrodį.Šis dosnt atsitikti.Mano svarstymo duomenų lapas Laikmatis turėtų prieaugis šiuo režimu nesvarbu kas.Turiu patikrinti MPLAB, kad visi bitai buvo nustatyta ir pašalinta, kaip jie turėtų būti, dar nėra laimės.Tikiuosi, kad kas nors čia galėtų mesti šiek tiek šviesos apie tai.
Ačiū
Daniel
# define Procesorius 16F84A
LIST p = 16F84A;, F = INHX8M
# include <P16F84A.inc>
__config _CP_OFF & _PWRTE_OFF & _WDT_OFF & _HS_OSC;************************************************* ***********
; MEMORY prilygsta
;************************************************* ***********
W_Temp kongresas 0x20
STATUS_Temp kongresas 0x21
Delay kongresas 0x22
;************************************************* ***********
; Reset ir Interrupt Vektoriai
ORG 0x0000; Reset Vector
GOTO Pradžia
ORG 0x0004; Pertraukties vektoriaus
GOTO IntVector
;************************************************* ***********
; Programa prasideda čia
ORG 0x005
Pradžia
BSF STATUSAS, RP0
MOVLW h'FF "
MOVWF TRISA
CLRF TRISB
BSF TRISB, 7
BSF TRISB, 6
BSF OPTION_REG, T0CS; Timer0 neveikia
BSF OPTION_REG, T0SE; prisikėlimo kraštas
BCF OPTION_REG PSA bo Prescaler tmr0 naudojimas
BSF OPTION_REG, PS2; Didžiausias Prescaler
BSF OPTION_REG, PS1
BSF OPTION_REG, PS0
CLRF INTCON; Pradėti naują
BCF INTCON, T0IE; Įjungti TMR0 Nutraukti
BCF INTCON, T0IF; Išvalyti TMR0 vėliava
BCF STATUS, RP0; Bank0
CLRF TMR0
BSF INTCON, GIE
GOTO Pagrindinis
Svarbiausias
; BTFSS Porta, 1
; GOTO Pagrindinis
CLRF PORTB
BSF PORTB, 0
BSF STATUSAS, RP0
BCF OPTION_REG, T0CS; Pradėti TMR0
BCF STATUS, RP0
MOVF Delay, W
SUBLW d'76 '
BTFSS STATUS, Z
GOTO
BSF STATUSAS, RP0
BSF OPTION_REG, T0CS; Stotelė TMR0
BCF STATUS, RP0
CLRF TMR0
BSF PORTB, 1
; GOTO Pagrindinis
Main_a
GOTO Main_a
IntVector
BSF PORTB, 3
MOVWF W_Temp; Kopijuoti W iki TEMP registras
SWAPF Statusas W; Sukeisti statusas turi būti įrašyti į W
CLRF statusą; banko 0, neatsižvelgiant į jų esamą bankas, išvalo TPG RP1, RP0
MOVWF STATUS_Temp; Prisiminti statusas banko nulio STATUS_TEMP registras
INCF Delay
CLRF TMR0
BCF INTCON, T0IF
SWAPF STATUS_Temp, W; Sukeisti STATUS_TEMP registruotis į W
; (rinkiniai banko į pradinę būseną)
MOVWF statusą; Perkelti W į Registras
SWAPF W_Temp, F; Sukeisti W_TEMP
SWAPF W_Temp, W; Sukeisti W_TEMP į W
RETFIE
pabaiga
I cant Atrodo gauti TMR0 į prieaugio MPLAB, ir nemanau, kad jis dirba arba TIFF.Pirmas I setup Option_Reg ir nustatyti T0CS, siekiant paversti laikmatis išjungtas.Kai noriu laikmatis tikėtis aš aišku T0CS taip laikmatis bus prieaugis išjungti vidinį laikrodį.Šis dosnt atsitikti.Mano svarstymo duomenų lapas Laikmatis turėtų prieaugis šiuo režimu nesvarbu kas.Turiu patikrinti MPLAB, kad visi bitai buvo nustatyta ir pašalinta, kaip jie turėtų būti, dar nėra laimės.Tikiuosi, kad kas nors čia galėtų mesti šiek tiek šviesos apie tai.
Ačiū
Daniel
# define Procesorius 16F84A
LIST p = 16F84A;, F = INHX8M
# include <P16F84A.inc>
__config _CP_OFF & _PWRTE_OFF & _WDT_OFF & _HS_OSC;************************************************* ***********
; MEMORY prilygsta
;************************************************* ***********
W_Temp kongresas 0x20
STATUS_Temp kongresas 0x21
Delay kongresas 0x22
;************************************************* ***********
; Reset ir Interrupt Vektoriai
ORG 0x0000; Reset Vector
GOTO Pradžia
ORG 0x0004; Pertraukties vektoriaus
GOTO IntVector
;************************************************* ***********
; Programa prasideda čia
ORG 0x005
Pradžia
BSF STATUSAS, RP0
MOVLW h'FF "
MOVWF TRISA
CLRF TRISB
BSF TRISB, 7
BSF TRISB, 6
BSF OPTION_REG, T0CS; Timer0 neveikia
BSF OPTION_REG, T0SE; prisikėlimo kraštas
BCF OPTION_REG PSA bo Prescaler tmr0 naudojimas
BSF OPTION_REG, PS2; Didžiausias Prescaler
BSF OPTION_REG, PS1
BSF OPTION_REG, PS0
CLRF INTCON; Pradėti naują
BCF INTCON, T0IE; Įjungti TMR0 Nutraukti
BCF INTCON, T0IF; Išvalyti TMR0 vėliava
BCF STATUS, RP0; Bank0
CLRF TMR0
BSF INTCON, GIE
GOTO Pagrindinis
Svarbiausias
; BTFSS Porta, 1
; GOTO Pagrindinis
CLRF PORTB
BSF PORTB, 0
BSF STATUSAS, RP0
BCF OPTION_REG, T0CS; Pradėti TMR0
BCF STATUS, RP0
MOVF Delay, W
SUBLW d'76 '
BTFSS STATUS, Z
GOTO
BSF STATUSAS, RP0
BSF OPTION_REG, T0CS; Stotelė TMR0
BCF STATUS, RP0
CLRF TMR0
BSF PORTB, 1
; GOTO Pagrindinis
Main_a
GOTO Main_a
IntVector
BSF PORTB, 3
MOVWF W_Temp; Kopijuoti W iki TEMP registras
SWAPF Statusas W; Sukeisti statusas turi būti įrašyti į W
CLRF statusą; banko 0, neatsižvelgiant į jų esamą bankas, išvalo TPG RP1, RP0
MOVWF STATUS_Temp; Prisiminti statusas banko nulio STATUS_TEMP registras
INCF Delay
CLRF TMR0
BCF INTCON, T0IF
SWAPF STATUS_Temp, W; Sukeisti STATUS_TEMP registruotis į W
; (rinkiniai banko į pradinę būseną)
MOVWF statusą; Perkelti W į Registras
SWAPF W_Temp, F; Sukeisti W_TEMP
SWAPF W_Temp, W; Sukeisti W_TEMP į W
RETFIE
pabaiga