PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : intialisierung des 16F628A



katze117
04.05.2010, 22:01
ich habe ein paar anfängerfragen zum 16F628A.

1. Was genau(und wie) muss ich alles initalisieren um den internen Takt zu verwenden?

2. ich habe PORTA wie folgt initalisiert:

CLRF PORTA
MOVLW 0x07
MOVWF CMCON

BCF STATUS, RP1
BSF STATUS, RP0
MOVLW 0x1F
MOVWF TRISA

funktoniert soweit bis auch RA3. Habe die PIC-Pins mit Pull-Down-Widerständen auf Masse gezogen und schalte dann mit Tastern 5V drauf.

Wie kann es sein, dass ich an RA3 0V messe wenn ich meinen Taster betätige? ( Ohne PIC im Sockel kommen die 5V an )


3.
Wie kann es sein, dass am RB4 keine 5 V ausgeben werden, wenn als Ausgang intialisiert und das entsprechende Bit gesetzt?

4. Könnte mir vielleicht jemand ein komplettes programm geben bei dem RA0-RA3 als eingänge direkt auf RB0-RB3 als ausgänge ausgegeben werden und der interne oszillator verwendet wird?

DANKE

the_Ghost666
05.05.2010, 06:09
Zu RB4: Wenn das der komplette Umfang deines Programms ist, dann fehlt die Initialisierung des PORTB auf Output an RB4. Kannst du den Teil auch mal posten? Die Ports müssten eigentlich richtig als Input konfiguriert sein. Aber um ne Frage zu "Warum an RB4 keine 5V" zu beantworten müsste ich sehen, wo das benutzt wird.
Hast du die Taster richtig angeschlossen? Schließerkontakte zwischen 5V und Pin, dann einen hochohmigen Widerstand von Pin zu Masse?

katze117
05.05.2010, 11:13
Den Port-B habe ich als Output initalisiert..

Bleiben wir mal beim Port A ( meinen Eingängen )..

Hardware stimmt alles... Wenn ich den Taster drücken kommen die 5V am IC-Sockel an, wenn der PIC allerdings stickt wird der Pin auf Masse gezogen.

Pull-Down-Widerstände sind auch angeschlossen.
Die 4 Inputs sind identisch aufgebaut. RA0 & RA1& RA2 funktionieren ja... nur RA3 nicht.. leuchtet mir nicht ein..

Andre_S
05.05.2010, 12:25
Den Port-B habe ich als Output initalisiert..

Bleiben wir mal beim Port A ( meinen Eingängen )..

Hardware stimmt alles... Wenn ich den Taster drücken kommen die 5V am IC-Sockel an, wenn der PIC allerdings stickt wird der Pin auf Masse gezogen.

Pull-Down-Widerstände sind auch angeschlossen.
Die 4 Inputs sind identisch aufgebaut. RA0 & RA1& RA2 funktionieren ja... nur RA3 nicht.. leuchtet mir nicht ein..

Hallo,

habe jetzt leider kein Datenblatt vor mir und mit dem 16F628A noch nichts gemacht, aber könnte dies zufälligerweise ein Comparatoreingang sein? Wenn ja müsstest Du diesen eventuell noch auf Digital schalten...


Gruß André

the_Ghost666
05.05.2010, 12:43
Ja, der Comparator ist standardmäßig aktiviert, du musst ihn mit dem Byte 0x07 nach CMCON abschalten. Die Pins sollten aber sonst nur auf Input liegen. Dass du da +5V misst, finde ich seltsam..

katze117
05.05.2010, 14:12
Das Problem mit RA3 hat sich erledigt..

Ich hatte wohl einen schlechten IC-Sockel erwischt.
genau dieser PIN wurde nicht richtig kontaktiert..

the_Ghost666
05.05.2010, 14:50
aah :) ja, das hatte ich auch schonmal. war ein kaum zu reproduzierender Fehler, bis ich zufällig gemessen habe während ich den Controller in den Sockel gedrückt habe. Dann viel Erfolg beim weiteren programmieren.