Hallo Ich verwende bei meiner Schaltung den internen Komparator des PICs, und initialisiere diesen durch beschreiben des CMCON Registers. Da die Schaltung nicht wie geplant funktioniert, habe ich das ganze Programm im Debug Modus laufen lassen, und die "Watch" funktion zeigt mir, das nachdem das Register CMCON beschrieben wurde das PORTA einfach auf Null gesetzt wird, und auch im weiteren Verlauf keine Änderungen mehr annimmt. Kann mir jemand sagen woran das liegt? Danke... PS: Im Anhang befindet sich die Initialisierung meines Programms.
Ok, scheinbar funktioiert das mit dem Anhang nicht...
memory EQU 0xf1
#define Cal PORTA, 5
#define Cal_LED PORTA, 4
#define OUT_stdby PORTA, 0
#define OUT_msr PORTA, 1
#define Start PORTB, 0
#define Pwr_LED PORTB, 1
;**********************************************************************
ORG 0x000
goto init
ORG 0x4
goto wake_up
init movlw b'00000001'
movwf PORTA
clrf PORTB
bsf STATUS, RP0
bcf STATUS, RP1
movlw b'10101100'
movwf TRISA
movlw b'11111101'
movwf TRISB
movlw b'00000101'
movwf OPTION_REG
movlw b'11010000'
movwf INTCON
clrf PIE1
clrf PIE2
clrf PCON
clrf OSCTUNE
clrf OSCCON
movlw b'00001100'
movwf ANSEL
clrf ADCON1
bcf STATUS, RP0
bcf STATUS, RP1
clrf T1CON
clrf ADCON0
clrf PIR1
; Komperator init
bsf STATUS, RP0
bcf STATUS, RP1
movlw b'00001010'
movwf CMCON ; !!!!!!!!!!!!!!!
movlw b'10000100'
movwf CVRCON
bcf STATUS, RP0
bcf STATUS, RP1
; Komperator init ende
; Komperator Interrupt init
bcf PIR2, CMIF
bsf INTCON, GIE
bsf INTCON, PEIE
bsf STATUS, RP0
bcf STATUS, RP1
bsf PIE2, CMIE
bcf STATUS, RP0
bcf STATUS, RP1
; Komperator Interrupt init ende
bsf Pwr_LED
bcf Cal_LED
bsf OUT_stdby
bcf OUT_msr
clrf memory
goto main
Du bist in die berüchtige Analog-Falle getappt. =) Du musst PORTA auf Digital umstellen. Dazu löschst du die betreffenden Bits im Register ANSEL.
Sorry, hab nicht genau genug gelesen. Schäm Ich schau mal nach und melde mich, wenn ich eine Idee habe
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.