|
|
(130 dazwischenliegende Versionen von 7 Benutzern werden nicht angezeigt) |
Zeile 1: |
Zeile 1: |
| | | |
| | | |
− | == vorgeschlagene Gliederung == | + | == Befehlsausführung == |
| | | |
− | <span style="color:green;">grün = schon fertig</span>
| + | 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) |
| | | |
− | * <span style="color:green;">Einführung</span>
| + | ---- |
− | ** <span style="color:green;">Bit, Byte, Nibble, Bin und Hex </span>
| + | |
− | ** <span style="color:green;">Speicher und Register </span>
| + | |
− | ** <span style="color:green;">Prozessor</span>
| + | |
− | ** <span style="color:green;">Assembler</span>
| + | |
− | ** <span style="color:green;">Grundbeschaltung</span>
| + | |
− | ** <span style="color:green;">Wahl des PICs</span>
| + | |
− | * Programm
| + | |
− | ** <span style="color:green;">Allgemeines</span>
| + | |
− | ** <span style="color:green;">Programdurchlaufdiagram</span>
| + | |
− | ** Hauptprogramm
| + | |
− | ** Unterprogramm
| + | |
− | *** Initialisierung
| + | |
− | **** I/O Ports
| + | |
− | **** Variablen
| + | |
− | **** Hardware
| + | |
− | *** Ausgeben
| + | |
− | *** Einlesen
| + | |
− | *** Schnittstellen und Treiber
| + | |
− | *** Tabellen
| + | |
− | *** EEPROM
| + | |
− | *** Programm beenden
| + | |
− | ** Beispiel der Erstellung
| + | |
− | *** Vorlage für MPASM
| + | |
− | ** Interrupts
| + | |
− | *** Prinzip
| + | |
− | *** Quellen
| + | |
− | *** Interrupt Service Routine
| + | |
− | ** Optimierung
| + | |
− | *** Speicherbedarf
| + | |
− | **** Programmspeicher
| + | |
− | **** RAM
| + | |
− | *** Ausführungszeit
| + | |
− | ** Fehlersuche
| + | |
− | ** Für anderen PIC umschreiben
| + | |
− | * Mid-Range (mit 14 bit Befehlslänge)
| + | |
− | ** <span style="color:green;">Kurzübersicht Prozessorbefehle</span>
| + | |
− | ** <span style="color:green;">Ausführliche Beschreibung zu den Befehlen</span>
| + | |
− | ** 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)
| + | |
− | ** <span style="color:green;">Flagsüberprüfung im STATUS-Register</span>
| + | |
− | ** 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)(Hardware)
| + | |
− | **** PIC RAM Monitor (mit eigenem Interrupt, zeigt Registerinhalte sogar wenn das Programm in endloser Schleife läuft, was besonders für Anfänger nutzlich ist, benötigt Display oder 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 Display oder PIC Miniterminal)
| + | |
− | * High-End (mit 16 bit Befehlslänge)-->(?)
| + | |
| | | |
− | == Allgemeines == | + | === 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 |
− | ... gelöschte Diskussion ... | + | [http://ww1.microchip.com/downloads/en/DeviceDoc/33023a.pdf PICmicro Mid-Range MCU Family Reference Manual] |
− | ----
| + | |
− | 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. Deswegen habe ich neue Gliederung vorgeschlagen. Bitte um Deine Meinung dazu. Ich beschäftige mich selber mit PICs erst seid ca. 1 Jahr und bin quasi Anfänger.:)[[Benutzer:PICture|PICture]] 15:07, 31. Mär 2007 (CEST)
| + | |
− | -----
| + | |
− | joa. passt doch. ich mach dir dann wieder paar bilder. mal schaun ob ich es heute noch schaffe. [[Benutzer:Benedikt.Seidl|Benedikt.Seidl]] 08:52, 1. Apr 2007 (CEST)
| + | |
− | -----
| + | |
− | Vielen Dank im voraus!:) Wenn Du die drei Symbole die im PAD auftreten einzeln kopieren kannst, müsste es ziemlich schnell gehen. Nach der neuer Gliederung müsste ich jetzt über Quellcode schreiben, also schon (aber nur) "call" und "goto" einführen. Sonst werde ich alles im Textform (Kommentar) schreiben. Ich meine, dass es unvermeindbar ist, weil irgendwan es sowieso anfangen wird. Ich habe noch eine Frage an Dich. Würdest Du die MPASM Direktiven erklären, die ich von "deinem" in "mein" Teil verschoben habe?[[Benutzer:PICture|PICture]] 09:33, 1. Apr 2007 (CEST)
| + | |
− | -----
| + | |
− | wie meinst du? ich mache halt noch eine erklärung für alle befehle, brauche nur noch bisschen zeit, werde heute leider nicht dazukommen, da ich unterwegs bin :-/ aber in absehbarer zeit werde ich auch noch die anderen befehle beschreiben, und dann mir ein neues thema suchen ;-) [[Benutzer:Benedikt.Seidl|Benedikt.Seidl]] 18:54, 1. Apr 2007 (CEST)
| + | |
− | ------
| + | |
− | Es hat sich schon erledigt. Ich habe es als unnötig gestuft und gelöscht. Ab jetzt wird ganz einfache Darstellung von PADs verwendet und es bleibt nur einer in Grafik zu verwandeln (PAD). Die alle anderen (PAD1, PAD2, PAD3, PAD4, und die noch kommen...) bleiben so, wie sie sind/werden. Und weiter würdest Du (hoffentlich) nichts mehr für mich zu tun haben. :)[[Benutzer:PICture|PICture]] 00:12, 2. Apr 2007 (CEST)
| + | |
− | ------
| + | |
− | jetzt wollte ich mir ein neues thema raussuchen, was ich noch schreiben könnte, aber muss irgendwie zugeben, dass ich mit den befehlen schon mit meinem latein am ende bin :-/ also ich könnte schon bisschen was schreiben, aber so richtig sicher bin ich mir dabei dann nicht immer. [[Benutzer:Benedikt.Seidl|Benedikt.Seidl]] 12:25, 5. Apr 2007 (CEST)
| + | |
− | ------ | + | |
− | Macht ja nichts. Wir arbeiten an dem Artikel bis zum Ende zusammen. Du hast mir schon viel geholfen, dann helfe ich Dir auch immer wieder. Ich versuche möglichst kurz das wichtigste schreiben, aber weiss ich selber nicht, ob das verständlich ist, da ich das alles sehr gut verstehe :). Was Dir nicht gefällt oder nicht genug verständlich ist kannst Du immer ändern (so wie bei der Grundbeschaltung) oder fragen (so wie mit den Buchstaben "C" und "F"). Wie Du sicher bemerkt hast, habe ich in den Befehlen auch ein bischen geändert. Jemand hat gesagt : "Es gibt keine dumme Fragen, nur dumme Antworten" und das stimmt!. Also keine Angst! :) Es gibt auch PN. Für mich ist Deine Meinung sehr wichtig! Ich denke, dass bis Interrupts sollte es schon für Anfänger ausreichen, bin mich aber auch nicht sicher wo eigentlich Ende vom Anfang ist. :) [[Benutzer:PICture|PICture]] 14:24, 5. Apr 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)