www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PIC16F88 Einsteiger Problem


Autor: Reinhardt Weber (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Schoaschi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Sebastian Miesner (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Reinhardt Weber (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Schoaschi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Programmierst du in C oder auch ASM? In C wärs
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

Autor: Bratwurst (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
genau:

movlw 0x00
movwf ANSEL

Autor: Severino R. (severino)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bratwurst wrote:
> genau:
>
> movlw 0x00
> movwf ANSEL

Wieso einfach, wenn es auch kompliziert geht:

clrf ANSEL



Gruss
Severino

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.