Forum: Mikrocontroller und Digitale Elektronik PIC-Anfänger


von christian (Gast)


Lesenswert?

Hallo beinand!

Spiel heut zum ersten Mal mit einem PIC-µC (PIC16F84) und gleichzeitig
zum ersten MAl mit Assembler. Und trotz vieler Hilfestellungen im Netz
komm ich nicht weiter bzw. fehlt mir der Hintergrund!

Kann mir bitte jemand eine kleine Routine (vielleicht ein bisschen
mitdokumentiert) liefern, die eine LED am Port zum leuchten bringt, hab
drei LEDS jeweils an RB1,RB2, RB3!

Will nur mal wenigstens eine  zum Leuchten bringen und kämpfe schon
seit Längerem!

Danke, christian!

von Ronny (Gast)


Lesenswert?

Woran hängt´s den genau?Bekommst dein Programm nicht kompiliert,nicht
übertragen?

Poste doch mal deinen Code,dann kann dir garantiert jemand hier den
entscheidenden Tipp geben.Die Aufgabe für dich lösen wird aber
sicherlich niemand...

von Andreas W. (Gast)


Lesenswert?

Schon mal bei sprut vorbei geschaut. Da gibt es auch Lernbeispiele:
http://www.sprut.de/electronic/pic/programm/lauflicht/lauflich.htm

von christian (Gast)


Lesenswert?

So schnell gehts, super!

Er kompiliert brav und kanns auch in den Speicher schreiben!

Ich taste im Dunkeln herum, weil ich Null Ahnung von Assembler und PICs
habe! Probier schon den ganzen Nachmittag und hab nur mehr Frust.


letzter Code:

PORTB equ 06;

LED equ b'11111111'


movwf   LED, PORTB;
end;



Danke christian

von christian (Gast)


Lesenswert?

Ich schaue mir gerade diesen Link an, der is gut! :-) Den habe ich noch
nicht entdeckt!

von Schoasch (Gast)


Lesenswert?

Soll das dein ganze Code sein? Da fehlen dann noch einige Sachen.
1. die TRIS-Register musst du als Ausgang setzten.
2. Fehlt noch die Endlosschleife
3. solltest du mal bei Sprut(www.sprut.de) vorbei schauen, denn ich
kann nich ASM-Programmieren sondern nur so halbwegs lesen ;-)

von Schoasch (Gast)


Lesenswert?

PS.: Spruts seite ist wohl die deutsche PIC-ASM-Bibel :D...sowohl für
anfänger als auch Profis.

von Ronny (Gast)


Lesenswert?

Hmm....kurzer Klick auf Andreas´ Link und schon landet man bei einem
Beispiel das LEDs am PortB ansteuert.Da was anzupassen sollte jetzt
nicht soo kompliziert sein.

Lies dir mal sprut´s Tutorials durch und vollzieh mal das Beispiel bei
Sprut nach.Mit raten und porbieren wirst du nicht zum Ziel kommen

von Feadi (Gast)


Angehängte Dateien:

Lesenswert?

Hi,

vielleicht hift es ja noch.

Gruß, Feadi

von christian (Gast)


Lesenswert?

Danke, für blink.asm!

Werd mich gleich schlau machen über die Hintergründe!

Christian :-)

von christian (Gast)


Lesenswert?

Wird schon klarer durch den Code, aber ein paar Unklarheiten gibts
noch:

.)
processor 16f84
Muss man diese Zeile auch immer in den Code einbauen?
Habe diese in den bisherigen Codes im Netz nie gesehen.

.)
include "p16f84.inc"
Wieso werden include-Dateien in jedem Code anders geschrieben, hat man
da größere Freiheiten, was den Namen betrifft.

.)
Was macht die folgende Zeile genau bzw. was sagt sie aus?
__CONFIG _CP_OFF & _PWRTE_OFF & _WDT_OFF & _RC_OSC  ; configuration für
RC-Oszillator

von Chief Brady (Gast)


Lesenswert?

> processor 16f84
Sagt dem Assembler, für welchen Prozessor assembliert werden soll


> include "p16f84.inc"
Was meinst Du mit "immer anders geschrieben"? Die Datei muss genau so
bgeschrieben werden, wie sie heisst ;-). Es kann auch

 include <p16f84.inc>

geschrieben werden, der Unterschied steht im Assemblerhandbuch
beschrieben.


> Was macht die folgende Zeile genau bzw. was sagt sie aus?
> __CONFIG _CP_OFF & _PWRTE_OFF & _WDT_OFF & _RC_OSC  ;
Hier werden die Config-Parameter eingestellt (oder auch Fuse-Bits),
_WDT_OFF heisst z. B. "WatchDog-Timer OFF". Die einzelnen Bedeutungen
kannst du in der Include-Datei (p16f84.inc) ersehen. Einfach mal in
Notepad öffnen.

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.