Um was für einen PIC handelt es sich denn?
Hallo!!
Ich brauch eine kleine Hilfe beim PIC programmieren!!! Weis jemand wie ich den Befehlssatz für Tastensteuerung schreiben soll der dann Leds ansteuert?????
MFG Manuela
Um was für einen PIC handelt es sich denn?
.:: rot ist blau und plus ist minus ::.
Es handelt sich um den PIC12F675.
Kannst du mir vielleicht helfen??
Hast du schon mal da reingesehen ? Spitzenseite für PIC-Geschädigte
www.sprut.de
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
Hilfreich zum Programmieren wäre ein Schaltplan der elektronischen Komponenten sowie Infos über deine Hardware- und Softwareausstattung zum Programmieren (was für Programm, hast du schon einen Brenner etc.)
.:: rot ist blau und plus ist minus ::.
Ich programmiere mit dem PIC C compiler und brennen tu ich den PIC mit Galep3.
Soll ich dir den Schaltplan schicken??
du kannst den Schaltplan auch hier rein stellen, dann sehen ihn mehrere user! Ich selbst programmiere einen anderen PIC...
Was für einen Compiler verwendest du?
.:: rot ist blau und plus ist minus ::.
Habe ich schon vorhin geschrieben. Ich verwende den PIC C Compiler.
Was für einen PIC programmierst du? Einen größeren nicht?
Hier im zusatz die Schaltung vielleicht gehts dann leichter!!
Also, große unterschiede zwischen den PICs der 12F und 16F Reihe gibt es keine (nur bei den 18F kommen einige neuen Befehle für den 16Bit Core dazu).
Zum Schaltplan würde ich dir noch empfehlen, bei dem Schalter, welcher zwischen Versorgung und Brenner herumschaltet den Pin-3 über einen 10K Widerstand nach Vcc zu ziehen. Ansonsten schwebt der MCLR-Pin des PICs in der Luft.
Noch eine Frage zu der Versorgung beim Brennen. Gehe ich recht in der Annahme, dass der direkt an den Com-Port des PCs kommt? Weil, wenn ja, wird es dem PIC nicht gefallen die +13V (+12V) vom PC an den Vcc zu bekommen. Da muss noch mindestens ein Spannungsteiler dazwischen.
Wenn das nur eine Schnittstelle zwischen dem Board und einem Brenner bildet, vergiss das ganze Zeug oben
Zum programmieren wird es nicht viel zu sagen geben. Der Programmablauf ist ganz einfach:
Start --> test ob SW1 gedrückt ist --> JA --> LED anmachen --> test ob SW2 gedrückt ist --> JA --> LED2 anmachen --> zum Start springen
Du kannst es auf zwei Arten lösen:
1) Ohne interrputs: Eine unendlichschleife schreiben, der dann, je nachdem, welcher Button gedrückt wurde, eines der LED aufleuchten lässt (oder halt was anderes macht).
2) mit interrupts, da setzt du den entsprechenden Port und die Intterupt-Flags und lässt das Hauptprogramm wieder in einer unendlichschleife rtieren. Wenn dann eines der Schalter gedrückt wird, wird das Interrupt aufgerufen und es macht dann seine Aufgabe.Code:movlw B'00000011' movwf GPIO loop_main btfss GPIO,0 call SW2_press btfss GPIO,1 call SW1_press goto loop_main SW2_press do_somthing_usefull return SW1_press bcf GPIO,4 nop return
MfG
Mobius
(dem oben beschriebenen Programm wird keine Garantie auf Funktionstüchtigkeit vergeben)
Danke für den Code. Das problem ist das dieser Code Assembler ist und ich kann nicht so gut Assembler. Hast du vielleicht was in C auch??
Das mit der Schaltung passt schon so, aber danke für den Hinweis!
Manuela
Lesezeichen