Programming the Finite State Machine with 8-Bit PICs in Assembly and C
Andrew Pratt provides a detailed introduction to programming PIC microcontrollers, as well as a thorough overview of the Finite State Machine (FSM) approach to programming. Most of the book uses assembly programming, but do not be deterred. The FSM gives a structure to a program, making it easy to plan, write, and modify. The last two chapters introduce programming in C, so you can make a direct comparison between the two techniques. The book references the relevant parts of the Microchip datasheet as familiarity with it is the best way to discover detailed information.
This book is aimed at Microsoft Windows and Linux users. To keep your costs to a minimum and to simplify the toolchain, specific applications are provided as a free download to enable you to use an FTDI serial lead as the programmer. The assembler used is the open-source "gpasm". All programming can be done in a text editor. There are detailed instructions on how to perform the necessary installations on Windows, Linux Debian, and derivatives such as Ubuntu and Fedora. For programming in C, Microchip's XC8 compiler is used from the command line. In addition to the programming applications, two serial read and serial write applications can be used for communicating with the PICs from a computer.
A voltmeter project including practical instructions on building a circuit board from scratch is included. All theory is covered beforehand, including how to do integer arithmetic in assembly.
Two PICs are covered: the PIC12F1822 and the PIC16F1823. Both can run at 32 MHz with an internal oscillator. You do not need to buy a factory-made development board and programmer. With relatively inexpensive parts including a serial lead, microcontroller, a few resistors, and LEDs, you can get started exploring embedded programming.
Links
Updated Programmer
De Arduino Pro Mini is een microcontroller board gebaseerd op de ATmega328P.
Het heeft 14 digitale in-/uitgangspinnen (waarvan er 6 kunnen worden gebruikt als PWM-uitgangen), 6 analoge ingangen, een on-board resonator, een reset-knop, en gaten voor het monteren van pin headers. Een six-pin header kan worden aangesloten op een FTDI-kabel of Sparkfun breakout board om USB-voeding en communicatie te bieden aan de board.
De Arduino Pro Mini is bedoeld voor semi-permanente installatie in voorwerpen of tentoonstellingen. Het board komt zonder pre-gemonteerde headers, waardoor het gebruik van diverse types van schakelaars of het directe solderen van draden is toegestaan. De pin lay-out is compatibel met Arduino Mini.
Specificaties
Microcontroller
ATmega328P
Boord Stroomvoorziening
5-12 V
Circuit Werkspanning
5 V
Digitale I/O Pinnen
14
PWM Pennen
6
UART
1
SPI
1
I²C
1
Analoge ingangspinnen
6
Externe Onderbrekingen
2
DC stroom per I/O Pin
40 mA
Flash Geheugen
32 KB waarvan 2 KB gebruikt door bootloader
SRAM
2 KB
EEPROM
1 KB
Kloksnelheid
16 MHz
Afmetingen
18 x 33,3 mm
Downloads
Eagle files
Schematics
Verbeter je Raspberry Pi 5 met de Pironman 5, gebouwd met stevig aluminium, superieure koeling, NVMe M.2 SSD-ondersteuning, OLED-display, RGB-verlichting, standaard HDMI-poorten x2 en een veilige aan/uit-schakelaar. Het is perfect voor NAS, Home Assistant, Media en Game Centers. De Pironman 5 is niet zomaar een behuizing; het is een upgrade die uw Raspberry Pi 5 verandert in een krachtig, efficiënt en stijlvol apparaat.
De Pironman 5 bevat de Pi 5 NVMe PIP (PCIe Peripheral Board), een PCIe-adapterkaart die speciaal is ontworpen voor NVMe solid-state drives. Dit bord ondersteunt NVMe SSD's in vier formaten: 2230, 2242, 2260 en 2280, die allemaal in een M.2 M key-slot kunnen worden geïnstalleerd. De verbinding is gecertificeerd voor Gen2.0-snelheden (5 GT/sec), maar kan worden geforceerd naar Gen 3.0 (10 GT/sec) voor snellere prestaties.
Uitbreidbaar NVMe M.2 SSD-slot
Verbeter de prestaties van uw Raspberry Pi 5 met de NVMe M.2 SSD-sleuf van de Pironman 5, die meerdere formaten ondersteunt (2230, 2242, 2260, 2280) voor meer opslag en snellere systeemreactie.
Geavanceerd koelsysteem
Houd je Raspberry Pi 5 koel en stijlvol met de torenkoeler en dubbele RGB-ventilatoren van de Pironman 5, voorzien van stoffilters voor een duurzame en onderhoudsarme werking.
OLED-display voor direct inzicht
De Pironman 5 heeft een OLED-scherm van 0,96 inch, dat onmiddellijke updates biedt over CPU- en RAM-gebruik, temperatuur, IP-adres en meer.
Verbeterde functionaliteit en veiligheid
De Pironman 5 beveiligt je Raspberry Pi 5 met functies zoals veilig uitschakelen, aanpasbare RGB-LED's, HDMI-poorten, een IR-ontvanger en een externe GPIO-extender, waardoor de functionaliteit en connectiviteit worden verbeterd.
Kenmerken
Raspberry Pi 5 mini-pc
OLED-display van 0,96 inch waarop het CPU-gebruik, de temperatuur, het schijfgebruik, het IP-adres, het RAM-gebruik enz. van de Raspberry Pi worden weergegeven.
Torenkoeler kan een CPU-belasting Pi van 100% koelen tot 39°C bij een kamertemperatuur van 25°C
2 RGB-ventilatoren, met GPIO-bediening
1 PWM-ventilator op de torenkoeler wordt bestuurd door het Raspberry Pi-systeem.
Ondersteunt vier (PCIe Gen 2.0 / PCIe Gen 3.0) NVMe M.2 SSD-formaten: 2230, 2242, 2260 en 2280.
4 WS2812 adresseerbare RGB-LED's verlichten de hele behuizing met een cool lichteffect
IR-ontvanger voor multimediacentra zoals Kodi of Volumio
Retro metalen aan/uit-knop voor veilig uitschakelen
Externe GPIO-extender met pinnaamlabel, voor gemakkelijke toegang
Uitgerust met een veerbelaste aansluiting voor eenvoudig verwijderen van de kaart
Aluminium hoofdgedeelte met helder acryl zijpaneel
Beschikt over twee standaard HDMI-poorten
Downloads
Documentation
Deze verbetere versie 2.0 (exclusief verkrijgbaar bij Elektor) bevat de volgende verbeteringen:
Verbeterde aarding (PE) van het ovenchassis
Extra thermische isolatielaag rond de oven om geuren te verminderen
Aansluiting op een computer, waardoor curvebewerking op een PC mogelijk is
Functies zoals constante temperatuurregeling en timingfuncties
De infrarood IC oven T-962 v2.0 is een microprocessorgestuurde reflow oven die je kunt gebruiken voor het gemakkelijk solderen van diverse SMD en BGA componenten. Het hele soldeerproces kan automatisch worden voltooid en het is heel gemakkelijk in het gebruik. Dit apparaat maakt gebruik van een krachtige infrarood straling en circulatie van de hete luchtstroom, zodat de temperatuur zeer nauwkeurig wordt gehouden en gelijkmatig verdeeld wordt.
Een lade met vensters is ontworpen om het werkstuk vast te houden, en maakt een veilige soldeertechniek mogelijk en het manipuleren van SMD & BGA en andere kleine elektronische onderdelen die op een printplaat gemonteerd zijn. De T-962 v2.0 kan gebruikt worden om soldeer automatisch na te verwarmen om slechte soldeerverbindingen te corrigeren, slechte componenten te verwijderen/vervangen en kleine technische modellen of prototypes te maken.
Kenmerken
Groot infrarood soldeeroppervlak
Effectief soldeergebied: 180 x 235 mm; dit vergroot het gebruik van deze machine drastisch en is daardoor een goede aanschaf.
Keuze uit verschillende soldeercycli
De parameters van acht soldeercycli zijn vooraf ingesteld en het hele soldeerproces kan automatisch verlopen van voorverwarmen, op temperatuur vloeibaar houden tot afkoelen..
Speciale opwarming en temperatuur egalisatie bij alle versies
Gebruikt een energiezuinige infrarood verwarming tot 800 Watt en luchtcirculatie om het soldeer vloeibaar te houden.
Ergonomisch ontwerp, praktisch en gemakkelijk te bedienen
Door de goede bouwkwaliteit, lichte gewicht en de kleine afmetingen kan de T-962 v2.0 gemakkelijk op een werkbank worden geplaatst, of worden vervoerd of opgeborgen.
Groot aantal functies beschikbaar
De T-962 v2.0 kan de meeste kleine componenten van printplaten solderen, bijvoorbeeld CHIP, SOP, PLCC, QFP, BGA enz. Het is de ideale oplossing voor rework, van eenmalige productie tot kleinschalige productie op bestelling.
Specificaties
Soldeeroppervlak (max.)
180 x 235 mm
Vermogen (max.)
800 W
Temperatuurbereik
0-280°C
Verwarmingsmethode
Infrarood
Verwerkingstijd
1-8 minuten
Voeding
220 V AC/50 Hz
Display
LCD met achtergrondverlichting
Bedieningsmodus
8 intelligente temperatuurcurven
Afmetingen
310 x 290 x 170 mm
Gewicht
6,2 kg
Inbegrepen
1x T-962 v2.0 Reflow Soldeeroven (Elektor versie)
2x Zekeringen
1x Netsnoer (EU)
Elektor GREEN and GOLD members can download their digital edition here.
Not a member yet? Click here.
A Current Source for Testing (Z-)DiodesChecking Z-Diodes from 1 to 54 V @ 1 to 50 mA
ESD Strap TesterA Bench Tool with Pass, Borderline, and Fail Indication
Power Supply Transient Response TesterA Repeatable Step-Load Generator for Bench Power Supplies
Euclidean Sequencer Without a MicrocontrollerTrigger Patterns and CV Sequences with Simple CMOS Logic
LED Flashing Light for Gates and More with an Audible Alert
Need PCBs? The Elektor PCB Service Has You Covered.
Toothbrush TimerUsing a Tiny PIC
A Contactless Magnetic Combination LockWith the AS5600 Rotary Position Sensor
Low-Noise Battery-Powered PreamplifierFor Dynamic Microphones
The Arduino Nano TestLabMeasurement, Control, and Regulation
Rhythmic Bass LightEmphasize the Rhythm of Your Music
Low-Cut FilterNo Risk of Audio Feedback on Your System
Precise 1 Hz Square Wave Generator for BreadboardsA Reliable CMOS-Based Clock Source
555 Upside DownDuty Cycles Down to Zero
From Halfgeleidergids to Circuit Specials65 Years of Electronics Innovation
Electrical IsolationCAN Interface with Digital Isolator and Power Module
SpongillatorA Sponge-Based Oscillator
True Random Number GeneratorWith Integrated Chi-Square Test
3D Viewer for HTML pagesSimple, and Almost Without Code
Programming with TLScriptA Scripting Language for Measurement, Testing, and Control
Circuit Design: Tips from Experts
FeedbackWhat Is It and Why Is It Important?
One Board, Endless Ideas: Arduino UNO QFrom Retro Gaming to Real-Time Environmental Monitoring
How to Fix a Donut Antenna
Standby KillerA Real On/Off Switch for Your TV
Battery TestingMeasuring Batteries with the Arduino Nano
Power Supply for Audio Power AmplifiersA Good Power Supply Without Mains Hum
Prototyping Boards for RFFast Setups with DIY Prototyping Boards
T3 Surge ProtectionA Type 3 Spike Suppressor for Your Sensitive Equipment
IoT Room Thermostat BoardWith ESP32-C3/S3-Based Xiao MCU module
From Rigid to SmartFlexible and Printed Electronics — Between Vision and Industrial Reality
Learning Embedded Systems with STM32 Nucleo Boards
Programming compact electronic systems is now easier to get started with than ever before. Affordable development boards, powerful software tools, and readily available documentation make it possible to turn an idea into a working prototype in very little time. MicroPython plays an important role in this development by offering a readable, interactive way to control microcontrollers while still providing direct access to their hardware features.
This book explores embedded programming with MicroPython using an STM32-based Nucleo board. It shows how a microcontroller continuously interacts with its environment by reading inputs, processing information, and controlling outputs. Step by step, you will learn to flash LEDs, measure analog signals, work with sensors, control actuators, and exchange data with other devices. The built-in REPL makes it easy to test instructions immediately, inspect results, and learn through experimentation.
Although microcontroller boards differ in size, speed, memory, and peripherals, the fundamental concepts remain largely the same. Digital input and output, analog conversion, timers, PWM, interrupts, and serial communication are the essential building blocks of embedded applications.
By concentrating on these transferable principles, the book provides a foundation that remains useful when moving to other boards, processors, or development environments.
It is intended both for newcomers and for programmers who want to expand into embedded systems. MicroPython offers a practical route into this field, combining quick results with a clear understanding of how software and hardware work together.
Elektor GREEN en GOLD leden kunnen deze uitgave hier downloaden.Nog geen lid? Klik hier om een lidmaatschap af te sluiten.
Kiesschijftelefoon als afstandsbedieningvoor licht kies 1; voor koffie kies 2
GPS-gebaseerde snelheidsmeternooit meer bekeuringen
RGB-stroboscoop met Arduinokleurige toepassing van een nuttig instrument
Draadloze nooddrukknopmeer veiligheid met LoRa
Alle begin......volgt de emitter
Vrij te kiezen onafhankelijke hystereseniveaus voor comparatorenmet simulaties, spreadsheets en algebra
Impedantie-analyzer op basis van een ESP32simpel, weinig onderdelen en goedkoop!
Oost West Lab Bestzelfbouw moet gestimuleerd!
Het MCCAB Arduino Nano Training Boardalle hardware voor de “Microcontrollers Hands-On Course”
Uit het leven gegrepenmodern luddisme
Sensor-ABC: de DS18B20 temperatuursensoraansluiting op de 1-Wire bus
Gaan Matter en Thread het Smart Home redden?nieuwe standaarden om het slimme huis te vereenvoudigen
Een kwestie van samenwerkingontwikkelen met het Thing Plus Matter Board en Simplicity Studio
Elektor IIIIinfographicIoT en sensoren
Matter, ExpressLink, Rainmaker – waar hebben we het over?vraaggesprek met Amey Inamdar van Espressif
De juiste keuze van microcontroller-ontwikkelkitsvoor IoT- en IIoT-toepassingen
Condensatoren gedragen zich niet altijd capacitief!
Een NTP-klok met CircuitPythonwaarom zou je deze programmeertaal gebruiken?
Bouw een cool IoT-display'met de Phambili Newt
De doppler-bewegingssensor HB100theorie en praktijk
Een gids voor puristisch programmeren (deel 1)voor STM32 en andere controllers
Siglent SDM3045X-multimeter
Microprocessoren voor embedded systemenvreemde onderdelen
Microcontroller-documentatie verklaarddeel 3: blokschema’s en meer
Low-power LoRa-weerstationbouw zelf een weerstation met een groot bereik
Transverter voor de 70cm-band
Klimaat aan ingenieurssnelheid is geboden!
Hexadoku
TINA Design Suite is a professional, powerful and affordable circuit simulator. It is a circuit designer and PCB design software package for analysing, designing, and real-time testing of analogue, digital, IBIS, VHDL, Verilog, Verilog AMS, SystemC, MCU, and mixed electronic circuits and their PCB layouts.
In this book, top-selling Elektor author, Prof. Dr. Dogan Ibrahim aims to teach the design and analysis of electrical and electronic circuits and develop PCB boards using both TINA and TINACloud. The book is aimed at electrical/electronic engineers, undergraduate electronic/electrical engineering students at technical colleges and universities, postgraduate and research students, teachers, and hobbyists. Many tested and working simulation examples are provided covering most fields of analogue and digital electrical/electronic engineering. These include AC and DC circuits, diodes, zener diodes, transistor circuits, operational amplifiers, ladder diagrams, 3-phase circuits, mutual inductance, rectifier circuits, oscillators, active and passive filter circuits, digital logic, VHDL, MCUs, switch-mode power supplies, PCB design, Fourier series, and spectrum. Readers do not need to have any programming experience unless they wish to simulate complex MCU circuits.
Dit bundel bevat de populaire Elektor zandklok voor Raspberry Pi Pico en de nieuwe Elektor laserkop upgrade, en biedt daarmee nog meer mogelijkheden om de tijd weer te geven. U kunt de actuele tijd nu niet alleen in zand "graveren", maar ook op een lichtgevende folie schrijven of groene tekeningen maken.
Inhoud van de bundel
Elektor Zandklok voor Raspberry Pi Pico (normale prijs: € 50)
Elektor Laserkop Upgrade voor Zandklok (normale prijs: € 35)
Zandklok voor Raspberry Pi (een op de Raspberry Pi Pico gebaseerde Eye Catcher)
Een standaard zandklok laat meestal slechts zien hoe de tijd verstrijkt. Deze door een Raspberry Pi Pico aangestuurde zandklok toont daarentegen de exacte tijd door de vier cijfers voor uren en minuten in een zandlaag te "graveren". Na een vooraf ingestelde periode wordt het zand door twee trilmotoren vlak getrild en begint alles weer van voren af aan.
Het hart van de zandklok wordt gevormd door twee servomotoren, die via een pantograafmechanisme een schrijfpen aandrijven. Een derde servomotor tilt deze pen op en neer. Het zandbakje is voorzien van twee trilmotoren om het zand weer vlak te trillen. Het elektronische deel van de zandklok bestaat uit een Raspberry Pi Pico en een RTC/driverbord met een real-time klok, plus drivercircuits voor de servomotoren.
Een gedetailleerde bouwhandleiding is beschikbaar via download.
Kenmerken
Afmetingen: 135 x 110 x 80 mm
Bouwtijd: ca. 1,5 tot 2 uur
Inbegrepen
3x Voorgesneden acrylaatplaten met alle mechanische onderdelen
3x Mini servomotoren
2x Trilmotoren
1x Raspberry Pi Pico
1x RTC/driverkaart met geassembleerde onderdelen
Moeren, boutjes, afstandhouders en draden voor de montage
Fijnkorrelig wit zand
Elektor Laserkop Upgrade voor Zandklok
De nieuwe Elektor Laserkop transformeert de Elektor Zandklok in een klok die de tijd op glow-in-the-dark-film schrijft in plaats van op zand. Naast het weergeven van de tijd kan het ook worden gebruikt om kortstondige tekeningen te maken. De 5 mW laserpointer, met een golflengte van 405 nm, produceert heldergroene tekeningen op de glow-in-the-dark-film. Voor het beste resultaat gebruikt u de kit in een slecht verlichte kamer. Waarschuwing: Kijk nooit rechtstreeks in de laserstraal!
De kit bevat alle benodigde componenten, maar het solderen van drie draden is vereist.
Opmerking: Deze kit is ook compatibel met de originele Arduino-gebaseerde Zandklok uit 2017. Voor meer details, zie Elektor 1-2/2017 en Elektor 1-2/2018.
Build Your Own RISC-V ControllerFirst Steps with the NEORV32 RISC-V Softcore for Low-Cost FPGAs
How to Use Arduino’s Serial PlotterPlotting Graphs With Arduino Is Easy
CLUE from AdafruitA Smart Solution for IoT Projects
Buffer Board for the Raspberry Pi 400Protect the I/Os
Raspberry Pi RP2040 Boards Aplenty
A Handbook on DIY Electronic Security and EspionageSRAM Heated or Deep-Frozen
Component IdentificationTips & Tricks, Best Practices and Other Useful Information
DIY Touchless Light Switch
Starting out in ElectronicsMatching and Transforming
What’s New in Embedded Development?Rust and Keeping IoT Deployments Updated
Infographics
How the Industrial and Automotive Sectors Will Benefit from 5G
Moving Coil RelaysPeculiar Parts, the series
HomeLab ToursEverything Revolves Around the Tools...
Understanding the Neurons in Neural Networks (Part 4)Embedded Neurons
Magnetic Levitation the Very Easy WayThe Third and Most Compact Version
PLC Programming with the Raspberry Pi and the OpenPLC ProjectVisualization of PLC Programs with AdvancedHMI
From Life's ExperiencePack Up and Leave
Under Your RadarMicrocontrollers You Should Know About
Monitor and Debug Over the AirA Solution for Arduino, ESP32 and Co.
Portable Temperature- and Humidity-Measuring DeviceUsing Ready-Made Modules
Lithium Battery Pack RepairSave Money + More Power!
GUIs with PythonMeme-Generator
Three Questions to Build OnWhy, What, and Who?
HexadokuThe Original Elektorized Sudoku
Diese Ausgabe steht allen GOLD- und GREEN-Mitgliedern auf der ElektorMagazine-Website zum Download bereit!
Sie sind noch kein Mitglied? Hier klicken!
Stromquelle zum Testen von (Z-)DiodenPrüfen von Z-Dioden von 1 bis 54 V bei 1 bis 50 mA
ESD-Armband-TesterEin Tool zur Funktionsprüfung von Erdungsarmbändern
Transientenmesser für LabornetzteileEin reproduzierbarer Lastsprung-Generator für Labornetzteile
3D-Viewer für HTML-SeitenEinfach und fast ohne Code
LED-Blinkleuchte für Tore und mehr mit akustischem Alarm
Benötigen Sie Leiterplatten? Der Elektor-Leiterplattenservice ist für Sie da.
Zahnbürsten-TimerMit einem kleinen PIC
Ein berührungsloses magnetisches Kombinationsschlossmit dem AS5600-Drehpositionssensor
Rauscharmer, batteriebetriebener Vorverstärkerfür dynamische Mikrofone
Das Arduino Nano TestLabMessen, Steuern, Regeln
Rhythmische BassleuchteBetonen Sie den Rhythmus Ihrer Musik
Low-cut-FilterKein Risiko von Audio-Rückkopplungen in Ihrem System
Präziser 1-Hz-Rechteckwellengenerator für SteckbrettEine zuverlässige CMOS-basierte Taktquelle
555 auf den Kopf gestelltTastverhältnisse bis hinunter auf Null
Vom „Halfgeleidergids“ zu Circuit Specials65 Jahre Elektronik-Innovation
Galvanische TrennungCAN-Schnittstelle mit Digitalisolator und Powermodul
SpongillatorEin schwammbasierter Oszillator
Echter Zufallszahlengeneratormit integriertem Chi-Quadrat-Test
Euklidischer Sequencer ohne MikrocontrollerTrigger-Pattern und CV-Sequenzen mit einfacher CMOS-Logik
Programmieren mit TLScriptEine Skriptsprache zum Messen, Testen und Steuern
Schaltungsdesign: Tipps von Experten
RückkopplungWas ist das und warum ist sie wichtig?
Ein Board, endlose Ideen: Arduino UNO QVon Retro-Gaming zur Echtzeit-Umweltüberwachung
So bringen Sie eine Donut-Antenne in Ordnung
Standby-KillerEin echter Ein-/Ausschalter für den Fernseher
Akkus im TestAkkus vermessen mit dem Arduino Nano
Stromversorgung für Audio-EndstufenEin gutes Netzteil ohne Netzbrummen
Lochrasterplatinen für HFSchnelle Aufbauten mit DIY-Prototyping-Boards
T3-ÜberspannungsschutzEin Typ-3-Schutzmodul für empfindliche Geräte
IoT-Raumthermostat-Platinemit dem Xiao-MCU-Modul auf Basis des ESP32-C3/S3
Von starr zu smartFlexible und gedruckte Elektronik – zwischen Vision und industrieller Realität
59 Experiments with Arduino IDE and Python
The main aim of this book is to teach the Arduino IDE and MicroPython programming languages in ESP32 based projects, using the highly popular ESP32 DevKitC development board. Many simple, basic, and intermediate level projects are provided in the book using the Arduino IDE with ESP32 DevKitC. All projects have been tested and work. Block diagrams, circuit diagrams, and complete program listings of all projects are given with explanations. In addition, several projects are provided for programming the ESP32 DevKitC using MicroPython. The projects provided in this book are designed to teach the following features of the ESP32 processor:
GPIOs
Touch sensors
External interrupts
Timer interrupts
I²C and I²S
SPI
PWM
ADC
DAC
UART
Hall sensor
Temperature sensor
Infrared controller
Reading and writing to SD card
Reading and writing to flash memory
RTC timer
Chip ID
Security and encryption
Wi-Fi and network programming
Bluetooth BLE programming
Communication mobile devices
Low power design
ESP-IDF programming
The projects have been organized with increasing levels of difficulty. Readers are encouraged to tackle the projects in the order given. A specially prepared hardware kit (SKU 18305) is available from Elektor. With the help of this hardware, it should be easy and fun to build the projects in this book.