Hallo, Ich hab mich heute wieder einmal hinter meinen Pic gesetzt und möcht eine "AND-Funktion" erstellen. 1. 4Eingänge von PortA sollen verglichen werden 2. 4Leds sollen an PortC alles Anzeigen Im Grunde soll z.B. 1Led leuchten, wenn Eingang 1 und 2 High haben. (Wenn PortA 1&2 Dann PortC 1) Weit bin ich leider nicht gekommen: #include <pic.h> void main(void) { TRISC = 0b00000000; TRISA = 0b11111111; } Im Netz hab ich auch nicht brauchbares Gefunden p.s. hab Pic-Kit2 und 16F690 Hoffe ihr helft mir
Hirn 2.0 einschalten. Compilerhilfe lesen. C lernen. Ich muß gerade bitterlich weinen :(
Also das ganze geht in Asembler folgendermaßen: ;############################# loop btfss PORTA,0 goto aus goto test2 test2 btfss PORTB,0 goto aus goto an an bsf PORTC,0 goto loop aus bcf PORTC,0 goto loop ;################################# wir etwas verzwickter wenn man einen ganzen PORT ( PORTA und PORTB ) vergleichen will aber ich hab diesen algorythmus in einer Autoalarmanlage eingebaut und er funktioniert problemlos mfg asm
Kim schrieb: > Weit bin ich leider nicht gekommen: Würde mir auch so gehen, wenn ich eine Programmiersprache benutze, die mir völlig unbekannt ist. Du mußt erstmal C lernen. > Im Netz hab ich auch nicht brauchbares Gefunden Da gibts doch ne Menge, z.B.: http://www.rn-wissen.de/index.php/C-Tutorial Peter
versuche sowas: #include <pic.h> ////////////////// ?!? Controllerspezifisch ?!? void main(void) { TRISC = 0b00000000; TRISA = 0b11111111; for(;;) // endlosschleife { if(PORTA == 0b.00000011) { PORTC = 0b.00000001; } else { PORTC = 0b.00000000; } } // for(;;) }
vielen Dank für die Antworten: C kann ich schon ein bisschen, da dies einer meiner ersten Projekte ist, hab ich etwas Probleme, wie das Ganze in einem PIC aussieht. Die Links kenn ich und habe diese auch schon etwas studiert. Der Code hilft mir schon weiter, versuche ihn noch zum laufen zu bringen :-)
Musste nur die Binär-Zahlen zu Dezimal-Zahlen umschreiben: #include <pic.h> void main(void) { TRISC = 0b00000000; TRISA = 0b11111111; for(;;) // endlosschleife { if ( PORTA == 0) { PORTC = 1; } else { PORTC = 0; } } // for(;;) } Nur... Sobald ich meine Schalter für die Eingänge dazu schalte, reklamiert der PC wegen der VPP Spannung. Alle Schalter ziehen die Eingänge Anfangs auf Vss. Woran kann das liegen? Bin ratlos
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.