PIC16F88 Einsteiger Problem

Gast #308615
Lesenswert?
• ▲
▼
Hi,
habe bisher den PIC16F84 in Assembler programmiert und wollte jetzt auf
den PIC16F88 umsteigen.
Ein kleines Programm test88.asm ist im Anhang beigefügt (blinker an
portb). Das Programm enthält auch die Fuses-Einstellungen.
Probleme:
1. Das Programm läuft, aber anscheinenend mit internem Oszillator
   Der Takt lässt sich mit externen RC-Netzwerk nicht beeinflussen.
2. Es blinken nur die LEDs Nr.0 bis 5 am portb, LEDs Nr.6 und 7 sind
   dauernd an (=1)
Vermute dass irgendwas mit der Initialisierung nicht stimmt.
Programmierung erfolgte mit ICprog und JDM-Programmer mit geschaltetem
Vcc.
Kann mir jemand helfen?
reinhardt
Angehängte Dateien:
Gast #308616
Lesenswert?
• ▲
▼
Hallo..

Also das mit den Pins RB6 und RB7 könnnte daran liegen, dass diese beim
PIC16F88 als analoge Eingänge fungieren(siehe Datenblatt Seite 11). Und
mir kommt vor, dass du nirgends den ADC abgeschalten hast, aber ich sag
es gleich... ich kann kein ASM ;-)

Warum das mit dem RC-Glied nicht funktioniert, kann ich dir leider
nicht sagen, da ich es nie benutze.

mfg schoasch
Gast #308617
Lesenswert?
• ▲
▼
Hi,

kenne das Problem,
ich verwende den CC5X Compiler und habe Projekte, die auf dem PIC16F84
problemlos laufen auf dem 16F88 nicht zum laufen bekommen. Ich habe
herausgefunden, dass man zuerst die Eingänge von analog auf digital
umschalten muss, dann funktioniert der Pic16f88 auch genauso wie der
16f84.
In CC5X geht das folgendermaßen:
man setzt einfach das ANSEL Register auf 0 und dieses möglichst gleich
ganz oben in der Main. Ausser man möchte den AD verwenden..

ANSEL=0;

das sollte in Assembler kein Problem darstellen eine 0 in das ANSEL
Register zu schieben.

Sebastian Miesner
Gast #308618
Lesenswert?
• ▲
▼
Hallo Sebastian,
vielen Dank für deinen Tipp. Hatte aber die ANSEL Register schon
richtig eingestellt.
Bei mir war das Problem die Programmierschaltung:
Beim ..f88 muss die Betriebsspannung +5V beim Programmiervorgang
geschaltet werden, beim ..f84 jedoch nicht.
Nachdem ich die Programmierschaltung umgebaut habe funktioniert alles
bestens.
Viele Grüße
R.
Gast #578662
Lesenswert?
• ▲
▼
Hallo,
ich bin auch ein Anfänger und will gerade ein Programm vom PIC16F84 auf 
den 16F88 "umschreiben" und habe wohl auch das Problem mit dem ANSEL=0. 
wie setze ich das aber auf 0? Im Hauptprogramm einfach ANSEL=0; ? ich 
verwende CC5x als Compiler.

THX
Sebastian
Gast #578755
Lesenswert?
• ▲
▼
Hi

Programmierst du in C oder auch ASM? In C wärs
1
ANSEL=0;
Und in ASM weis ich es gerade nicht. Da müsstest du wohl zuerst 0 ins 
W-Register schreiben und dann ins ANSEL-Register verschieben/kopieren.

mfg SChoasch

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.