www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Simulationsproblem mit MPLAB


Autor: Paul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,
hab da ein Problem mit der Entwicklungsumgebung von Microchip.
Die PIC´s sind noch komplettes Neuland für mich und nun wollte ich mal 
anfangen zu dem PIC18F4320 ein kleines Programm zu schreiben und dieses 
dann anschließend mit MPLAB zu simulieren.
Zunächst wollte ich einfach wie im "MPLAB C18 Getting Started" Manual 
beschrieben das Beispielprogramm 2 ausprobieren, in dem einige LED´s 
angesteuert werden.
Hier der Code vom Manual:

#include <p18cxxx.h>

#pragma config WDT = OFF

void main (void)
{
  /* Make all bits on the Port B (LEDs) output bits.
   * If bit is cleared, then the bit is an output bit.
   */
  TRISB = 0;

  /* Reset the LEDs */
  PORTB = 0;

  /* Light the LEDs */
  PORTB = 0x5A;

  while (1)
    ;
}

Über das Watch-Window kann man nun den PORTB beobachten.
Nur musste ich feststellen, dass die gewünschte 0x5A nicht übernommen 
wurde, sondern lediglich eine 0x40.
Woran kann das liegen?
Alle Portpins von PORTB wurden über TRISB=0 zum Ausgängen konfiguriert 
und alle Portpins von PORTB sind laut Manual I/O Pins.
Bin ratlos und hoffe, das mit jemand helfen kann.
Danke schon mal im Voraus.

mfg Paul

Autor: Max (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Paul,
ich hab das getting started Tutorial neulich auch durchgearbeitet. Bei 
mit hat alles geklappt. Hast du die neuste MPLAB Verion? Hast du auch 
alle Anweisungen im Tutorial befolgt?

Autor: Paul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi max.
ja, ich hab alle Anweisungen im Tutorial durchgearbeitet.
Die einzigste Änderung, die ich vorgenommen habe ist, dass ich statt des 
PIC18F452 (der im Manual verwendet wird) den PIC18f4320 (da ich mit 
diesem künftig arbeiten werde) genommen hab.
Sonst hab ich alles so gemacht, wie im Manual beschrieben.
Theoretisch müsste das ja funktionieren. (zumindest laut User-Manual)
MPLAB Version hab ich V 8.00 .

Autor: Dieter Werner (dds5)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei vielen PIC18 mit 4-stellger Typnummer sind einge der Port-B Pins 
beim Start als Analogeingänge geschaltet. Das Steuerregister zum 
Abschalten ist eines der ADCONs, weiss aber nicht genau welches.

Autor: Thomas Müller (thomas1123) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
such mal im datenblatt nach ANSEL und/oder ANSELH dort kannst du die 
analogeingänge des PIC zu normalen IO-Pins umschalten.
is zumindest bei den 16ern so.

Autor: Paul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
bin der Sache noch mal nachgegangen und hab ein bisschen rumprobiert.
Hab im Header und im PIC18f4320 nach ANSEL und ANSELH gesucht, bin aber 
nicht fündig geworden. Die gibt es anscheinend nur bei der 16ner Serie.
Bei den ADCON´s bin ich fündig geworden.
Nun hab ich ADCON0 und ADCON1 wie folgt konfiguriert:
ADCON0=0x00;    //Interner A/D Wandler ausgeschalten mit Bit0=0
ADCON1=0x3F;    //3 = Verwendung von Referenzspannung
                //F = Alle Portpins auf Digital I/O, 

Nun funktionierts mit dem Simulieren.
Danke an alle für die schnelle Hilfe.
Habt mir echt weiter geholfen. :)

Gruß
Paul

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.