|
|
(183 dazwischenliegende Versionen von 7 Benutzern werden nicht angezeigt) |
Zeile 1: |
Zeile 1: |
− | == ToDo ==
| |
− | * variablen/register definition
| |
− | * __config syntax + erklärung
| |
− | * sonderbefehle wie <tt> errorlevel -302 </tt>
| |
− | * codeschnipsel wie z.b. wait oder interrupt ende und anfange
| |
− | == vorgeschlagene Gliederung ==
| |
| | | |
− | * Einführung
| |
− | ** Assembler
| |
− | ** Grundbeschaltung
| |
− | ** Wahl des PICs
| |
− | * Programm
| |
− | ** Allgemeines
| |
− | ** Quellcode
| |
− | ** Hautprogramm
| |
− | ** Unterprogramme
| |
− | *** Initialisierung
| |
− | **** Interne Hardware
| |
− | **** I/O Ports
| |
− | **** Externe Hardware
| |
− | *** Einlesen
| |
− | *** Ausgeben
| |
− | *** Sprungtabellen
| |
− | ** Interrupts
| |
− | ** Optimierung
| |
− | *** Speicherbedarf
| |
− | **** Programmspeicher
| |
− | **** RAM
| |
− | *** Ausführungszeit
| |
− | ** Fehlersuche
| |
− | * Direktiven für Assemblerprogramm
| |
− | ** __config
| |
− | ** errorlevel (habe ich bisher noch nicht benutzt)
| |
− | ** #define
| |
− | ** EQU
| |
− | ** ORG
| |
− | * Mid-Range (mit 14 bit Befehlslänge)
| |
− | ** Kurzübersicht Prozessorbefehle
| |
− | ** Ausführliche Beschreibung zu den Befehlen
| |
− | ** Besondere, oft gebrauchte Register
| |
− | *** ANSEL
| |
− | *** STATUS
| |
− | *** TRIS
| |
− | *** PORT
| |
− | *** TIMER
| |
− | ** Bänke (sowohl die bei mehr als 2k Befehle als auch die bei den normalen speicher bänken)
| |
− | ** Flagsüberprüfung im STATUS-Register
| |
− | ** Codeschnipsel
| |
− | *** A/D-Wandler
| |
− | *** PWM
| |
− | *** Interrupts
| |
− | *** RS232 mit PC
| |
− | *** Tasten
| |
− | *** Mausrad
| |
− | *** Ausgabe auf LCD Displays
| |
− | **** Dot-Matrix
| |
− | **** Grafik
| |
− | **** Handy
| |
− | *** Hilfsmittel
| |
− | **** PIC Miniterminal (mit Dot-Matrix LCD und drei Tasten, benötigt nur 2 I/O Pins und 2 ICs)
| |
− | **** PIC RAM Monitor (mit eigenem Interrupt, zeigt Registerinhalte sogar wenn das Programm in endlosen Schleife läuft, was besonders für Anfänger nutzlich ist, benötigt PIC Miniterminal)
| |
− | **** PIC Trainer (Hilfswerkzeug für PIC Versuchsprogramme, benötigt PIC Miniterminal)
| |
− | **** PIC Profiler (zum messen von Ausführungszeit zwischen call und return, benötigt PIC Miniterminal)
| |
− | * High-End (mit 16 bit Befehlslänge)-->(?)
| |
| | | |
− | == Allgemeines == | + | == Befehlsausführung == |
− | -------
| + | |
− | ... gelöschte Diskussion ... | + | Ich kann mir nicht vorstellen, dass der PIC (also PIC10...18) pipelined arbeitet, also wirklich bis zu 4 Befehle quasi gleichzeitig. So gut kenne ich die PICs nicht, aber soweit ich weiss wirklich 4 Oszillator Takte = 1 Rechentakt für einen Befehl, und erst danach kommt der nächste Befehl.--Besserwessi 13:17, 10. Dez 2013 (CET) |
− | ------
| + | |
− | Wunderbar!:) Wir denken (fast) identisch. Mach, bitte, alles so wie Du meinst, ich bin mit allem was Du geschrieben hast einverstanden. Das Beispielprogram werde ich warscheinlichst ganz am Ende machen, da ich noch nicht weiss wie kompliziert es seien sollte. (vielleicht sollen es mehrere werden?)[[Benutzer:PICture|PICture]] 20:51, 27. Mär 2007 (CEST)
| + | |
| ---- | | ---- |
− | ich habe mal ein wenig probiert eine gleiderung zu erstellen. ergänze/ändere die doch bitte ;-) habe bestimmt die hälfte vergessen [[Benutzer:Benedikt.Seidl|Benedikt.Seidl]] 21:02, 27. Mär 2007 (CEST)
| |
− | ----
| |
− | Ich habe schon ein bischen dazu geschrieben und einiges geändert mit einer Hoffnung, dass Dir auch gefällt. Jedem von uns beiden kann jederzeit was neues einfallen, dann ändern wir es. Immer wenn ich was vor sich schreibe, fehlt mir die Reaktion des Lesers. Vielleicht sollen wir ein Tread für feedback im Forum PIC Controller öffnen?[[Benutzer:PICture|PICture]] 07:35, 28. Mär 2007 (CEST)
| |
− | ----
| |
− | joa. das wäre mal eine gute idee. [[Benutzer:Benedikt.Seidl|Benedikt.Seidl]] 14:42, 28. Mär 2007 (CEST)
| |
− | ----
| |
− | Ich habe "mein" Teil ein bischen geändert, nachdem ich festgestellt habe, dass durch Anklicken eines Menüpunktes im "Inhaltverzeichniss" (ganz oben) man landet im Artikel sofort in diesem Thema. Du hast etwas über Nachschlagen geschrieben, da wird jemand sicher einen bestimmten Befehl sofort sehen wollen und nicht in der langer Liste der Beschreibungen scrollen und suchen, oder?. Du weisst bestimmt, wie es zu machen ist. Wenn es nicht möglich ist, würde ich die Beschreibungen zumindest alfabetisch wie im Übersicht ordnen.
| |
| | | |
− | Ich vermute, dass die Beschreibung zu Befehlen noch nicht fertig ist, da fehlt z.B. ANDLW % ANDWF. Ich würde auch etwas über Benutzung von einigen Befehlen in der Praxis schreiben (z.B. OR für bit eineln setzen, AND für bit einzeln löschen, XORWF fürs Vergleichen von zwei Register (MOVF R1,O oder MOVF R1,W), danach XORWF R2) u.s.w. Bitte, nimmt es nicht als Kritik, das sind nur meine Gedanken. :) Ich bedanke mich im voraus bei Dir, wenn Du mir auch etwas über mein Teil schreibst.[Benutzer:PICture|PICture]] 10:32, 30. Mär 2007 (CEST)
| + | === Anmerkung von witkatz am 18.02.2014, 15:55: === |
− | ----
| + | Die Befehlsausführung und das Pipelining sind in der folgenden Doku im Kapitel "4.3 Instruction Flow/Pipelining" beschrieben |
− | auf jeden fall sehr gute idee von dir. das baruche ich auch manchmal und muss dann immer so arg nachdenken ;-) ich muss mal schaun ob ich da was hinbekomme. das mit dem klicken für die befehle habe ich mir auch schon gedacht. das könnte man auf jeden fall machen. ich finde den teil mit den oszilatoren ziemlich cool! ich hoffe ich habe heute abend noch ein bisschen zeit, dann mach ich auch wieder bisschen weiter mit den befehlen und ein paar pixel grafiken ;-) dann lese ich mir auch mal wieder alles im gesamten durch... mal noch ne doofe frage: das F bedeutet immer flash speicher. was bedeutet dann das C ? [[Benutzer:Benedikt.Seidl|Benedikt.Seidl]] 17:24, 30. Mär 2007 (CEST)
| + | [http://ww1.microchip.com/downloads/en/DeviceDoc/33023a.pdf PICmicro Mid-Range MCU Family Reference Manual] |
− | ----
| + | |
− | Ich melde mich wieder morgen früh, weil ich immer Nachschicht arbeite und am Tag schlafe. Heute muss ich noch arbeiten. :( [[Benutzer:PICture|PICture]] 20:32, 30. Mär 2007 (CEST)
| + | |
− | ----
| + | |
− | ich habe leider auch nicht mehr alles fertig bekommen, was ich machen wollte. das bild für die oszilatoren kommt auf jeden fall auch noch. [[Benutzer:Benedikt.Seidl|Benedikt.Seidl]] 00:30, 31. Mär 2007 (CEST)
| + | |
− | ---- | + | |
− | so. habe mal wieder bisschen gebastelt. und mir auch alles durchgelesen. muss leider zugeben, dass ich den teil "Einfaches Beispiel für UPs:" leider gar nicht verstehe. ich finde fast, dass es fast zu früh für asm-quellcode ist. aber nur meine meinung. [[Benutzer:Benedikt.Seidl|Benedikt.Seidl]] 09:26, 31. Mär 2007 (CEST)
| + | |
− | -----
| + | |
− | Vielen Dank für alle Änderungen! Du bist ein Zauberer !:)
| + | |
− | Das Beispiel war nicht nötig und habe ihn gelöscht. Ich habe jetzt festgestellt, dass ich mit dem kleinsten PIC12F675, zwei Taster und zwei LEDs anfangen soll, da es nicht um das geht, dass wir dem Leser zeigen was wir alles wissen, sondern nur das, was er wirklich braucht.[[Benutzer:PICture|PICture]] 15:07, 31. Mär 2007 (CEST)
| + | |
Ich kann mir nicht vorstellen, dass der PIC (also PIC10...18) pipelined arbeitet, also wirklich bis zu 4 Befehle quasi gleichzeitig. So gut kenne ich die PICs nicht, aber soweit ich weiss wirklich 4 Oszillator Takte = 1 Rechentakt für einen Befehl, und erst danach kommt der nächste Befehl.--Besserwessi 13:17, 10. Dez 2013 (CET)