- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 7 von 7

Thema: Ansteuerung Port D PIC16F877

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    08.01.2004
    Ort
    Salzburg
    Beiträge
    46

    Ansteuerung Port D PIC16F877

    Anzeige

    Praxistest und DIY Projekte
    Hallo!

    Ich bin neu auf diesem Gebiet und habe mir vor kurzem einen PIC16F877 zugelegt.
    Nun wollte ich in Assembler ein erstes kleines Testprogramm schreiben, in dem ich alle Pins (0-7) des Port D als Ausgänge definiere und High anlege, um ein Led zum Leuchten zu bringen.
    Nur gelingt mir das ganze nicht so wirklich.
    Kann mir einer von euch vielleicht helfen, bzw. erklären wie ich das in Assembler hinbekomme?
    Kennt jemand ein gutes Tutorial für Anfänger?

    Danke im Voraus
    Chris

  2. #2
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    73
    Beiträge
    11.077
    Hallo DarkFire!
    Schau, bitte, dort: http://www.sprut.de
    MfG

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    01.01.2005
    Beiträge
    79
    Hey, unter http://www.microchip.com/ gibs auch Tutorials!

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    08.01.2004
    Ort
    Salzburg
    Beiträge
    46
    Also, ich habe mir einmal das Beispiel mit dem LED-Lauflicht auf Spruts page angeschaut.
    Code:
            bsf     STATUS, RP0     ; auf Bank 1 umschalten 
            movlw   B'00000000'     ; PortB alle output 
            movwf   TRISB 
            bcf     STATUS, RP0     ; auf Bank 0 schalten 
            clrf    PORTB           ; alle LEDs ausschalten 
            bsf     PORTB,0         ; LED an RB0 einschalten
    So steht das dort auf Port B bezogen.
    Kann ich das dann einfach wie folgt auf Port D ändern?
    Code:
            bsf     STATUS, RP0     ; auf Bank 1 umschalten 
            movlw   D'00000000'     ; PortB alle output 
            movwf   TRISD 
            bcf     STATUS, RP0     ; auf Bank 0 schalten 
            clrf    PORTD           ; alle LEDs ausschalten 
            bsf     PORTD,0         ; LED an RB0 einschalten
    Außerdem komme ich mit dem "Bank"-System des PICs nicht ganz klar.
    Könnte mir das jemand erklären?

    Chris

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    02.05.2005
    Beiträge
    67
    Hallo,
    Das stimmt nicht ganz. Die zweite Zeile muss:

    movlw B'00000000'

    heißen.
    Dann sollte es meiner Meinung nach funktionieren.

    MfG

    Max W.

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    08.01.2004
    Ort
    Salzburg
    Beiträge
    46
    Und für was steht das movlw B'00000000' ?
    Ich habe es so probiert, nur wenn ich es in meinen PIC übertrage, bzw. brenne, und danach an die Ports die LEDs anschließe, leuchten immer nur die an Pin 1, 3 und 5. Kann es sein, das mein PIC vielleicht einen Defekt hat?
    Gibt es im MPLAB Suite die Möglichkeit einer Simulation?
    Wenn ja, wie?

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    01.01.2005
    Beiträge
    79
    Hey!

    Es kann alles der Fall sein.
    Die Leds können kaputt sein, sie können falsch gepolt sein, die Leiter können einen Wackelkontackt haben .. und und und..
    Ich bezweifle allerdings, dass der PIC einen Defekt hat, ich denke er würde sonst überhaupt nicht funktionieren.

    MOVLW Kopiere einen Zahl (L) nach W
    Syntax: MOVLW k
    Bedeutung: Die Zahl k wird in das Arbeitsregisters W geschrieben
    Beispiel: MOVLW 5 ; Der Wert 5 wird in das Arbeitsregister geschrieben
    Das Ganze stammt von http://www.sprut.de/electronic/pic/a...hle.html#movlw

    Hallo DarkFire!
    Schau, bitte, dort: http://www.sprut.de
    MfG
    Wenn Du wirklich etwas lernen möchtest dann solltest Du es auch alleine versuchen. Auf der schon zig mal genannten Seite findest Du alles was Du brauchst um mit den PIC's vertraut zu werden.

    Es soll nicht so klingen als ob wir Dir nicht helfen wollten, aber solche trivialen Sachen solltest Du Dir selbst erschließen können.

    Übrigens hast Du Dir nicht grade den leichtesten PIC ausgesucht für den Anfang. Ein 16F84 oder besser 16F88 wäre, denk ich weitaus mehr angebracht.

    Gruß
    lk


    Achso..
    Lade Dir unbedingt das Datenblatt runter und drucke es am besten aus!

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen