Hallo,
ich habe dieses Board durch zufall durch Google gefunden. Endlich mal ein deutsches PIC-Forum - ich kannte bisher nur Sprut als Quelle.
Nun zu meinem Problem, ich habe einen 32,768kHz-Quarz an RC0/1 angeschlossen und möchte damit später mal eine Uhr takten.
Um überhaupt erstmal den Timer hinzubekommen, hab ich ein neues Programm angefangen. Hierbei sollen einfach 2 LEDs abwechselnd im Abstand von einer Sekunde blinken (RB0, RB1).
Die LEDs blinken auch abwechselnd, nur das leider rasend schnell (aber man sieht sie noch flackern) - tun sie aber auch wenn man den Quarz rausnimmt.
list p=16f873
#include<p16f873.inc>
__CONFIG _XT_OSC & _PWRTE_ON & _WDT_OFF & _LVP_OFF
ERRORLEVEL -302
w_back equ 0x20
status_back equ 0x21
LED equ 0x22
org 0x0
goto Init
; ---- Interrupt ----
org 0x4
ISR
movwf w_back
swapf STATUS,w
clrf STATUS
movwf status_back
incf LED,f ; LED um eins erhöhen
bcf PIR1,TMR1IF
ISR_ende
swapf status_back,w
movwf STATUS
swapf w_back,f
swapf w_back,w
retfie
Init
movlw 0x80
movwf TMR1H
movlw 0x00
movwf TMR1L
bsf STATUS,RP0
clrf TRISB ; PORTB Ausgang
bsf PIE1,TMR1IE ; Timer1 Interrupt erlauben
bcf STATUS,RP0
clrf PORTB
bsf INTCON,PEIE
bsf INTCON,GIE
bcf T1CON,T1CKPS1
bcf T1CON,T1CKPS0
bsf T1CON,T1OSCEN
bsf T1CON,T1SYNC
bsf T1CON,TMR1CS
bsf T1CON,TMR1ON
Main
movf LED,w
movwf PORTB
xorlw D'3'
btfss STATUS,Z
goto Main
clrf LED
goto Main
end
Kann mir da jemand helfen?
Würde mich über Antwort freuen, danke
/devzero