Forum: Mikrocontroller und Digitale Elektronik Simulationsproblem mit MPLAB


von Paul (Gast)


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

von Max (Gast)


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?

von Paul (Gast)


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 .

von Dieter W. (dds5)


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.

von Thomas M. (thomas1123) Benutzerseite


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.

von Paul (Gast)


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:
1
ADCON0=0x00;    //Interner A/D Wandler ausgeschalten mit Bit0=0
2
ADCON1=0x3F;    //3 = Verwendung von Referenzspannung
3
                //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

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
Noch kein Account? Hier anmelden.