Hallo DarkFire!
Schau, bitte, dort: http://www.sprut.de
MfG
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
Hallo DarkFire!
Schau, bitte, dort: http://www.sprut.de
MfG
Hey, unter http://www.microchip.com/ gibs auch Tutorials!
Also, ich habe mir einmal das Beispiel mit dem LED-Lauflicht auf Spruts page angeschaut.
So steht das dort auf Port B bezogen.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
Kann ich das dann einfach wie folgt auf Port D ändern?
Außerdem komme ich mit dem "Bank"-System des PICs nicht ganz klar.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
Könnte mir das jemand erklären?
Chris
Hallo,
Das stimmt nicht ganz. Die zweite Zeile muss:
movlw B'00000000'
heißen.
Dann sollte es meiner Meinung nach funktionieren.
MfG
Max W.
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?
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.
Das Ganze stammt von http://www.sprut.de/electronic/pic/a...hle.html#movlwMOVLW 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
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!
Lesezeichen