Programming the Finite State Machine

  • HerstellerElektor Publishing

Beschreibung

Programmierung der Finite-State-Maschine mit 8-Bit-PICs in Assembly und C

Andrew Pratt bietet eine detaillierte Einführung in die Programmierung von PIC-Mikrocontrollern sowie einen umfassenden Überblick über den Finite State Machine (FSM)-Programmieransatz. Der größte Teil des Buches verwendet Assembler-Programmierung, aber lassen Sie sich nicht abschrecken. Der FSM gibt einem Programm eine Struktur und erleichtert so das Planen, Schreiben und Ändern. In den letzten beiden Kapiteln wird die Programmierung in C vorgestellt, sodass Sie einen direkten Vergleich zwischen den beiden Techniken anstellen können. Das Buch verweist auf die relevanten Teile des Microchip-Datenblatts, da die Kenntnis davon der beste Weg ist, detaillierte Informationen zu erhalten.

Dieses Buch richtet sich an Benutzer von Microsoft Windows und Linux. Um Ihre Kosten auf ein Minimum zu beschränken und die Toolchain zu vereinfachen, werden bestimmte Anwendungen als kostenloser Download bereitgestellt, damit Sie als Programmierer ein serielles FTDI-Kabel verwenden können. Als Assembler kommt der Open Source „gpasm“ zum Einsatz. Die gesamte Programmierung kann in einem Texteditor erfolgen. Es gibt detaillierte Anweisungen zur Durchführung der erforderlichen Installationen unter Windows, Linux Debian und Derivaten wie Ubuntu und Fedora. Für die Programmierung in C wird der XC8-Compiler von Microchip über die Befehlszeile verwendet. Zusätzlich zu den Programmieranwendungen können zwei serielle Lese- und serielle Schreibanwendungen für die Kommunikation mit den PICs von einem Computer aus verwendet werden.

Ein Voltmeter-Projekt inklusive praktischer Anleitung zum Aufbau einer Leiterplatte von Grund auf ist enthalten. Die gesamte Theorie wird im Voraus behandelt, einschließlich der Ausführung ganzzahliger Arithmetik in der Assemblierung.

Es werden zwei PICs abgedeckt: der PIC12F1822 und der PIC16F1823. Beide können mit einem internen Oszillator mit 32 MHz betrieben werden. Sie müssen kein werkseitig hergestelltes Entwicklungsboard und keinen Programmierer kaufen. Mit relativ kostengünstigen Teilen, darunter ein serielles Kabel, ein Mikrocontroller, einige Widerstände und LEDs, können Sie mit der Erforschung der eingebetteten Programmierung beginnen.

Links


Produktformular

Programmierung der Finite-State-Maschine mit 8-Bit-PICs in Assembly und C Andrew Pratt bietet eine detaillierte Einführung in die Programmierung von PIC-Mikrocontrollern... Weiterlesen

€ 32,95 inkl. MwSt.
Mitglieder € 29,66

    • Heute verschicken? Innerhalb von Jul 21, 2024 17:00:00 +0200 bestellen

    Details

    SKU: 19327
    EAN: 9781907920929
    ISBN: 978-1-907920-92-9
    Autor: Andrew Pratt
    Sprache: Englisch
    Seiten: 188
    Format: 17 x 23,5 cm (Taschenbuch)

    Beschreibung

    Programmierung der Finite-State-Maschine mit 8-Bit-PICs in Assembly und C

    Andrew Pratt bietet eine detaillierte Einführung in die Programmierung von PIC-Mikrocontrollern sowie einen umfassenden Überblick über den Finite State Machine (FSM)-Programmieransatz. Der größte Teil des Buches verwendet Assembler-Programmierung, aber lassen Sie sich nicht abschrecken. Der FSM gibt einem Programm eine Struktur und erleichtert so das Planen, Schreiben und Ändern. In den letzten beiden Kapiteln wird die Programmierung in C vorgestellt, sodass Sie einen direkten Vergleich zwischen den beiden Techniken anstellen können. Das Buch verweist auf die relevanten Teile des Microchip-Datenblatts, da die Kenntnis davon der beste Weg ist, detaillierte Informationen zu erhalten.

    Dieses Buch richtet sich an Benutzer von Microsoft Windows und Linux. Um Ihre Kosten auf ein Minimum zu beschränken und die Toolchain zu vereinfachen, werden bestimmte Anwendungen als kostenloser Download bereitgestellt, damit Sie als Programmierer ein serielles FTDI-Kabel verwenden können. Als Assembler kommt der Open Source „gpasm“ zum Einsatz. Die gesamte Programmierung kann in einem Texteditor erfolgen. Es gibt detaillierte Anweisungen zur Durchführung der erforderlichen Installationen unter Windows, Linux Debian und Derivaten wie Ubuntu und Fedora. Für die Programmierung in C wird der XC8-Compiler von Microchip über die Befehlszeile verwendet. Zusätzlich zu den Programmieranwendungen können zwei serielle Lese- und serielle Schreibanwendungen für die Kommunikation mit den PICs von einem Computer aus verwendet werden.

    Ein Voltmeter-Projekt inklusive praktischer Anleitung zum Aufbau einer Leiterplatte von Grund auf ist enthalten. Die gesamte Theorie wird im Voraus behandelt, einschließlich der Ausführung ganzzahliger Arithmetik in der Assemblierung.

    Es werden zwei PICs abgedeckt: der PIC12F1822 und der PIC16F1823. Beide können mit einem internen Oszillator mit 32 MHz betrieben werden. Sie müssen kein werkseitig hergestelltes Entwicklungsboard und keinen Programmierer kaufen. Mit relativ kostengünstigen Teilen, darunter ein serielles Kabel, ein Mikrocontroller, einige Widerstände und LEDs, können Sie mit der Erforschung der eingebetteten Programmierung beginnen.

    Links


    Customer Reviews

    Based on 2 reviews
    50%
    (1)
    50%
    (1)
    0%
    (0)
    0%
    (0)
    0%
    (0)
    R
    Ronald B.
    Een leuk boek om door te werken

    Het boek Programming the finite state machines is een leuk boek om door te werken en geeft een uitstekende uitleg.
    In het boek worden de Microchips PIC 12F1822 en 16F1823 gebruikt waar ik even naar moest zoeken (bij elektor kon ik ze niet vinden).
    Uiteindelijk heb ik ze bij de firma : www.voti.nl gevonden (heeft een wat oudere website) tevens wordt in het boek naar een kabel verwezen waarvan elektor de 3v3 uitvoering heeft maar je hebt de 5v uitvoering nodig (is enkel in het buitenland te krijgen)
    Daarom heb ik bij voti de Wisp648 besteld en de XWisp software gedownload waarmee je vele PIC`s kan programmeren en dit werkte uitstekend.
    Het enige nadeel was dat ik zelf even een serial_writer.c en serial_reader.c programma moest schrijven voor de RasPi om diverse hoofdstukken door te werken (uitgelezen via cp210x met extra 5v pin en/of serial port op RasPi. Let op benodigde spanning deling : Pic(tx5v)--1k--RasPi(rx3v3)--2.2k---gnd ).
    Helaas kon ik deze programmatjes niet in deze review er bij plakken (was geen knop voor).

    De volgende kleine foutjes en/of verbeteringen voor de uniformiteit kwam ik tegen in het boek :
    blz 45 GOTO M1_S2 : The jump .... if W = 1 moet GOTO M1_S2 : The jump .... if W = 2 zijn
    blz 49 verwijder #INCLUDE wordt pas vanaf hoofdstuk 3 gebruikt en voegt niets toe in het programma prog_02_03.asm
    blz 154 TRISAbits.TRISA2 vervangen door TRISA2 en PORTAbits.RA2 vervangen door RA2 de compiler geeft hier geen fout maar staat niet in documentatie compiler
    Blz 160 verwijder pulse_counter_slow en pulse_counter_fast geeft geen fout maar worden niet gebruikt in het programma
    Blz 163 vervang else if (tick_couter < 122*12) door else if ((tick_counter >=122*8) && (tick_couter < 122*12)) progr_09_04
    blz 164 INTCONbits.TMR0IF = 0 vervang door TMR0IF = 0 en TRISAbits.TRISA4 = 0 door TRISA4 = 0 beide werken maar het voorloop gedeelte staat niet in documentatie compiler en wordt eigenlijk niet in boek gebruikt
    blz 167 Oplossing is natuurlijk dat bij de initalisatie van het programma LATA4 = 0 is bij anode display en moet 1 zijn om het streepje in het midden van de 8 weg te halen
    blz 170 count++ en read = counter%s worden niet gebruikt prog_09_08 dus kunnen ook gewoon verwijderd worden.

    J
    Jonathan
    FSM

    The data sheet for the 12F1822 chip runs to over 400 pages. These PDFs are only really useful for someone who already knows quite a bit about how to handle and program these devices. If you want to learn you need a guide - and in my experience preferably more than one guide. I think this book is an example of a great guide. Reading through, learning by following the code and trying out the programs has really helped me. I thoroughly recommend Andrew Pratt`s interesting and useful book.

    Login

    Passwort vergessen?

    Sie haben noch kein Konto?
    Konto erstellen