PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : led ein/aus programieren



anthony
14.07.2008, 07:59
hallo,
ich beschäftige mich seit einer woche mit der assembler sprache.
hab hierfür auch das "microchip development toll paket"!
mit dem picdem 2 plus demo board 2006 mit nem 18f4520.
nach einigen versuchen hab ich die led zum blinken gebracht und nun will ich das ich das blinken mit RB0-S3 taster ein und ausschalten...dabei liegt mein problem nun in der programmierung!

kann mir da jemand helfen?
kann auch mein bisheriges programm hochladen...

mfg
anthony

BlackDevil
14.07.2008, 12:30
Mh in C wüsste ich wie es geht, aber vielleicht hilft dir das ganze ja als Pseudocode:


while(1)
IF(Taster gedrückt)
Char X = A
else Char X = B

AUSWAHL(Char X)
A: blinken()
B: // Nix
}


Vielleicht hilft dir das weiter

anthony
15.07.2008, 08:48
ja in C ist so etwas auch meiner meinung nach einfacher zu programmieren gerade für einsteiger wie mich!

werd da noch ein wenig rum probieren müssen...

ich danke dir auf jeden fall schon mal.

hasta luego

BlackDevil
15.07.2008, 09:42
Wenn du Assembler lernst und keine weitere höhere oder Objektorientierte Sprache kannst, dann würde ich erstmal Assembler lernen oder auf Basic/C umsteigen ;) Macht vieles einfacher wenn man die Sprache kann

Wobei ich zugeben muss das ich auf das Obige Konstrukt am Anfang auch nicht gekommen bin.

PICture
15.07.2008, 13:34
Hallo anthony!

Ich würde Dir empfehlen einen PIC aus der Familie 16FXXX (z.B. PIC16F84) zu nehmen und zuerst ASM lernen.

Du kannst dazu entweder

https://www.roboternetz.de/wissen/index.php/PIC_Assembler

oder

http://www.sprut.de

lesen.

Viel Spaß und Erfolg damit! :)

MfG

theborg
15.07.2008, 18:10
naja der 16f asm leuft auch auf dem 18f nur das der 18f noch extra befehle hat fang lieber mit dem 18f an da ist des bankwekseln einfacher.

led kanste setzen mit



main
btfsc PORTB, 0 <--- Pin des Tasters
call <Rotine fürs LED blinken>
btfss PORTB,0 <--- Pin des Tasters
goto main


am sinnvollsten wehre des mit interupt aber so geht es auch

PICture
15.07.2008, 18:44
Hallo!

@ anthony

Du kannst natürlich, so wie der theborg geschrieben hat, bei dem 18F bleiben, da er alle Befehle (außer "clrw") von den 16F kennt.

Man muß auch den Unterschied im Aufbau des Programmspeichers berücksichtigen (z.B. immer anstatt "goto $+1, "goto $+2" verwenden).

MfG