Inhaltsverzeichnis Einblick in die Welt des Microcontrollers PIC16F887 Inhaltsverzeichnis Vorwort In eigener Sache Zwei weitere Angelegenheiten sind zu erwähnen Computer - Controller - PIC-Controller Ergänzende Anmerkungen Hinweis zur Vorstellung der Programmsammlung Generelle Strukturierung der vorgestellten Programme Projekte Projekt 1: Adressierungsarten Projekt: P1.1 Wrt_Rd_DirInd Gegenüberstellung der direkten und der indirekten Adressierung Projekt: P1.2 Wrt_Rd_Reg_Area Programmbeispiel für die indirekte Adressierung Projekt 2: PIC Ports Projekt: P2.1 Dat2PortC Datum direkt laden und über Port C ausgeben Projekt: P2.2 RdStatB_WrtStatB2CD Status von Port B einlesen und über Port C und Port D bereitstellen Projekt: P2.3 AlarmUnit Realisierung der elementaren Funktion einer Alarmanlage
Projekt 3: Warten - Zählen - Schieben Projekt: P3.1 Flashlight Programmierung einer Zeitschleife Projekt: P3.2 8BitCntrRB0 Programmierung eines 8Bit Zählers Projekt: P3.3 ShiftReg_RLF_RRF_T0CKI Programmierung eines Rechts-Links Schieberegisters Projekt 4: LOOK-UP-TABLE Projekt: P4.1 Ld_Disp_CHR Einfügen und Auslesen eines Datenblocks Projekt: P4.2 Sel_Disp_DatBlock Auslesen eines definierten Bereiches des Datenblocks Projekt P4.3: Anwendung von Look-Up-Tables zur Ansteuerung eines Schrittmotors Projekt: P4.3.1 StepMot_Half Schrittmotor Ansteuerung im Halbschritt Modus Projekt: P4.3.2 Step_Control_FOUR Schrittmotoransteuerung - Vollschritt (CW/CCW) / Halbschritt (CW/CCW) mit VIER unterschiedlichen Datensätzen Projekt: P4.3.3 Step_Control_ONE Schrittmotoransteuerung - Vollschritt (CW/CCW) / Halbschritt (CW/CCW) mit EINEM Datensatz Projekt 5: INTERRUPT - Technik Projekt: P5.1 INT_PUSH_POP Save und Restore Technik in Interrupt Routinen mit einem PIC Projekt: P5.2 INT_RB0_OnOff Auslösung eines Interrupts durch Änderungen an Pin RB0/INT
Projekt: P5.3 INT_RB0toRB7 Auslösung eines Interrupts durch Änderungen an Pin RB0 - RB7 Projekt: P5.4 INT_TMR0_T0CKI Auslösung eines Interrupts durch Überlauf des Timers 0 Projekt: P5.5 MT_Step_7Seg_TMR0 Demonstration des Grundprinzips der Multitasking Technik Projekt 6: LC-Display LTN211 Projekt: P6 DispTxt_DoubleLine Programmbeispiel für die Ausgabe eines zweizeiligen Textes mit dem LTN211 Projekt 7: Analog - Digital Wandler Projekt: P7.1 Basic_A/D_Conversion Testprogramm zur Funktionsprüfung des internen AD-Wandlers Projekt: P7.2 Two_Channel_Voltmeter Realisierung eines Zwei-Kanal Voltmeters mit LCD Anzeige Projekt 8: Datensicherung im internen EEPROM Projekt: P8.1 Ld_Rd_Disp_EEPROM Datenblock in das interne EEPROM laden und zurücklesen Projekt: P8.2 Wrt_Rd_EEPROM Beschreiben und auslesen einer internen EEPROM-Zelle Projekt: P8.3 CopyMemDat2EEPROM Datenblock auslesen und im internen EEPROM ablegen Projekt 9: Datensicherung im externen NVRAM Projekt: P9.1 Wrt_Rd_RAM Testprogramm zur Funktionsprüfung der Speichererweiterung
Projekt: P9.2 CopyMemDat2RAM Datenblock auslesen und im externen RAM / NVRAM ablegen Projekt 10: I2C - Technik Projekt: P10.1 I2C_Wrt_Rd_24C04 Beschreiben und Auslesen des EEPROM 24C04 Projekt: P10.2 I2C_Rd_LM75 Auslesen des Temperatursensor LM75 Projekt: P10.3 I2C_LM75_24C04_Choice Funktionsprüfung des LM75 und des 24C04 Projekt: P10.4 I2C_LM75_Thermometer Realisierung eines Digital Thermometers mit LCD Anzeige Projekt 11: Zwei interessante Hardwaremodule Projekt P11.1: Comparator Programmbeispiel für die Nutzung des internen Comparators Projekt P11.2: PWM_Modul Programmbeispiel für die Nutzung des internen PWM Moduls Projekt 12: Mathematikroutinen Projekt: P12.1 ADD16BIT Beispielprogramm für eine 16 Bit Addition Projekt: P12.2 SUB16BIT Beispielprogramm für eine 16 Bit Subtraktion Projekt: P12.3 Div2 Beispielprogramm für das Teilen durch 2 (16 Bit) Projekt: P12.4 B2D
Nachwort Beispielprogramm für eine Binär nach Dezimal und ASCII Wandlung (16 Bit) Sachbegriffe &. Erläuterungen