-
Werbung
-
Erfahrener Benutzer
Robotik Einstein
Hallo Driona, hallo Robbersoft,
Assembler ist nach der Maschinensprache (das sind diese 0x3F, 0xC9, 0x45, 0x.....) eine sehr maschinen-nahe Programmiersprache, mit der jedes einzelne Bit in jedem Register in der Maschine, in diesem Fall der PIC, angesprochen werden kann.
Die Frage für euch beide, was möchtet ihr ?
Eine Programmiersprache erlernen, um Anwendungen zu programmieren,
oder wissen, was der PIC macht bzw. reagiert.
Letzteres ist das Schwierigste, weil es voraussetzt, daß einem Struktur und Funktionen des PIC, bekannt sind.
Dann muß das 'Innenleben' des PIC in Verbindung mit Assembler (und nur damit geht es) erforscht und erlernt werden.
Wer nur programmieren möchte, der muß die Funktionen des PIC nicht wissen, sondern die Befehle kennen, mit denen ein Taster abgefragt und eine LED ein- / ausgeschaltet wird. Den Rest übernimmt der Compiler.
Driona hat ja schon ganz gut angefangen, aber vermutlich nicht die nötige Ruhe.
Du solltest etwas im Datenblatt (PDF-Datei) blättern und die interne Struktur des PIC mal überschlägig anschauen. Die Blockbilder helfen da am besten weiter. Nicht alles auswendig lernen, aber vieleicht ein wenig merken, wo in dem Datenblatt was beschrieben ist.
Dann zur Abwechslung mal am Ende des Datenblattes die Assembler-Befehle anschauen, wie die heißen und was die machen. Nicht auswendig lernen, nur wissen, wo was steht. Nachschauen wirst Du nämlich noch häufiger müssen. Auch bei mir liegt heute noch das PIC-Buch beim Programmieren neben mir.
Vergiß nicht, daß die I/Os sehr flexibel sind; sie können Eingang sein (Reset-Zustand), Ausgang oder als Sonderfunktion initialisiert werden (serieller Pin, Zähler-Eingang, PWM-Ausgang, ....).
Dann mußt Du nur noch die Stolperfallen kennen, daß nämlich die Funktions-Register (F) auf bis zu 4 Register-Bänken untergebracht sind und auf diese Bänke auch umgeschaltet werden muß; und wieder zurück auf Bank 0, weil da die gebräuchlisten Register sind. Einige Register sind auf allen 4 Bänken erreichbar. Das findest Du alles im Datenblatt auf den ersten Seiten.
Damit es mit Deinem Programm erst einmal weiter geht, da gibt es nämlich noch eine Stolperfalle: Analogeingänge bzw. bei einigen PICs Komperator-Eingänge. Die sind ausgerechnet am Port A. Diese Analog-Funktion muß erst einmal auf Digital-I/O umgeschaltet werden, dann noch auf Eingang (ist nach Reset so) und dann sind es auch Eingänge.
Dann sollte das auch funktionieren.
Schau Dir mal im Datenblatt das Blockbild für I/Os vom Port A an, da wird das beschrieben sein.
Viel Spaß .... bis zur nächsten Stolperfalle
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Werbung
Lesezeichen