stap voor stap handleiding voor Microcontroller Programming

Dit is een stap voor stap handleiding voor degenen die willen beginnen met Microcontroller Programming. Het artikel begint met de introductie van een paar basistermen die in de gids zullen worden gebruikt, een lijst van tools, programmeertalen en aan het einde, een voorbeeld van een downloadbare code met een stap voor stap handleiding die je zou kunnen gebruiken om microcontroller programmeren te oefenen.

maar voordat we in Microcontrollerprogramma ‘ s duiken. Laten we de eerste twee basistermen definiëren: Hardware en Software.

Hardware bestaat uit de fysieke componenten van het systeem, zoals chips, toetsenbord, muis, monitor, geheugen, I/O-apparaten. Hardware is moeilijker te ontwikkelen in vergelijking met software, het moet worden ontworpen voor zeer specifieke toepassingen, en het is een zeer efficiënte en perfecte oplossing in high-speed systemen.

Software is de niet-fysieke componenten of de toepassingen die op de hardware draaien, zoals besturingssystemen, computerspellen en netwerktoepassingen. Software is zeer configureerbaar, eenvoudig en sneller te ontwikkelen, ook zeer goedkoop in vergelijking met hardware.

Wat is een Microcontroller

om te begrijpen wat een microcontroller is, moeten we eerst begrijpen wat een microprocessor of een CPU is (Central Processing Unit). Een CPU is een hart van elk computersysteem, het is als het menselijk brein bij het uitvoeren van een taak. We kunnen het in principe verdelen in twee essentiële delen:

besturingseenheid: deze eenheid wordt gebruikt om de gegevens uit het geheugen op te halen.

uitvoeringseenheid: deze eenheid wordt gebruikt om de gegevens uit te voeren of uit te voeren.

typen processoren

er zijn vele categorieën processoren zoals processoren voor algemene doeleinden, toepassingsspecifieke systeemprocessors en multi-processorsystemen. Processor voor algemeen gebruik heeft vele typen:

▪ Microprocessor

Micro Microcontroller

Embedded Embedded processor

▪ digitale signaalprocessor

Microprocessor is een halfgeleiderapparaat of een computer op een chip, maar geen volledig functionele computer. De centrale processor bevat

ALU ALU

▪ Programmatellers

Registers Registers

Other andere circuits (kloktijd, interrupt)

een microcontroller is een IC die een microprocessor en enkele randapparatuur bevat om een complete functionele computer te zijn, randapparatuur zoals ADC, RAM, ROM, DAC.

geschiedenis van Microcontroller

oorspronkelijk was Intel corporation de eerste fabrikant van microcontrollers. De eerste microcontroller werd in 1971 in de VS geproduceerd. Het was een 4-bit microcontroller met de naam i4004. Intel produceerde in die tijd meer geavanceerde modellen met een 8-bit microcontroller en daarna werd een 12-bit microcontroller ontwikkeld door Toshiba.

toepassingen van Microcontrollers

Microcontrollers hebben vele toepassingen in vele industrieën, zoals de automobiel -, medische, industriële automatisering, lucht-en ruimtevaart, robotica.In de auto-industrie hebben moderne auto ‘ s tegenwoordig bijvoorbeeld meer dan 100 microprocessoren voor systemen zoals airconditioning, ABS, EBD en ook ADAS of geavanceerde rijhulpsystemen zoals adaptive curies controller en lane assist.

in het medische domein zijn er medische hulpmiddelen die microcontrollers omvatten, zoals een MRI, glucose test set, Draagbare ECG. De volgende afbeelding is een glucosetestapparaat.

in de lucht-en ruimtevaart zijn de meeste vliegtuigen ontworpen met nieuwe avionica-systemen met behulp van microcontrollers. Daarnaast zijn er flight control system, air traffic control system, navigatie en weer systemen die allemaal zijn gebaseerd op microcontrollers.

populaire Microcontrollers

er zijn veel typen en platforms van microcontrollers, maar het selecteren van een microcontroller hangt van vele factoren af:

▪ Toepassing

▪ Budget

▪ Prestaties

▪ Aantal GPIO pins

▪ grootte van het Geheugen

▪ de Temperatuur van de werkomgeving

▪ energieverbruik

AVR Microcontroller

De volgende afbeelding ziet u een blokschema van AVE12DA, een van de meest populaire microcontroller famlily — de AVR microcontroller:

AVR microcontrollers is geproduceerd door Atmel corporation (vandaag: Microchip), heeft Atmel 6 families AVR microcontrollers, 4 families als general-purpose microcontrollers en 2 als specific purpose microcontrollers. Microcontrollers voor algemeen gebruik zijn:

8 8 bit-mega AVR

8 8 bit-AT Tiny

▪ 8 & 16 bit-AVR Xmega

32 32 bit-AVR

microcontrollers voor specifieke doeleinden zijn:

Automotive Automotive AVR

Battery batterijbeheer

Automotive AVR. Het kan werken onder zeer hoge temperaturen tot 150 Celsius, en het omvat beveiligingssystemen voor kortsluitingsproblemen.

batterijbeheer microcontroller is ontwikkeld voor batterijbeheersystemen om Laad-en ontlaadwerkzaamheden te beveiligen.

Voorbeelden van AVR Platforms

▪ Arduino UNO

▪ Adafruit Blauw fruit Micro

▪ Raspduino

▪ Digispark Pro

ARM Microprocessor/Microcontroller

ARM microprocessor is de meest populaire processor in de wereld, met name in de consumentenmarkt. Je hebt misschien een ARM processor-gebaseerd apparaat, maar je weet het niet! ARM is meestal een belangrijk onderdeel van een succesvolle 32-bit embedded systemen. De eerste ARM werd ontwikkeld in 1985.

RISC-technologie

ARM wordt gebruikt RISC-technologie, RISC staat voor reduced instruction set computer, het is een ontwerpfilosofie om eenvoudige instructies binnen een enkele cyclus te leveren. Het vertrouwt meer op de software. Aan de andere kant vertrouwt de CISC-technologie meer op de hardware.

RISC-technologie richt zich op het verminderen van de instructieset van de processor. Aan de andere kant heeft de CISC processor een niet-vast nummer van de instructieset.

ARM Features

Arm heeft vele functies voor elke embedded systeem ontwerper is op zoek naar, bijvoorbeeld laag energieverbruik door zijn compacte formaat, ook hoge code dichtheid is een andere functie omdat we embedded systemen te ontwikkelen, zullen we beperkte middelen in de meeste gevallen.

interne structuur van ARM-gebaseerde Microcontroller

deze figuur toont de interne structuur van de meeste ARM-gebaseerde apparaten:

de dozen staan voor functies, de lijnen staan voor bussen. Laten we praten meer over elk onderdeel in detail:

▪ De ARM-processor is de core component is verantwoordelijk voor de verwerking

▪ Controllers worden gebruikt voor het coördineren van de functies van het systeem zoals het geheugen en de interrupt-controllers

▪ Randapparatuur worden gebruikt om het systeem in-en uitgangen

▪ Een bus wordt gebruikt voor het uitwisselen van gegevens tussen de verschillende componenten in het systeem

Voorbeelden van ARM-platforms

Er zijn veel apparaten en embedded platforms die arm microprocessor bijv.

▪ Arduino Due

▪ Raspberry Pi

▪ STM32F103C8T6

▪ NXP LPC1768

Andere Microcontroller en Platforms

Zoals we al eerder zeiden het selecteren van een microcontroller of een platform hangt af van vele factoren (budget, aantal pennen, etc.…). Er zijn ook andere microcontrollers en platforms, bijv.

▪ PIC-Microcontrollers

▪ 8051

▪ ESP32

▪ Motorola Microcontrollers

Microcontroller Software en Hardware Tools

sinds de oprichting van de microcontroller zijn er vele soorten software en hardware development tools. Natuurlijk, kunnen sommige van de hulpmiddelen over diverse microcontroller types worden gebruikt maar sommige zijn zeer specifiek per microcontroller. Voordat u begint met microcontroller Programmering, Wilt u misschien vertrouwd raken met de microcontroller programming tools en, last but not least, het ontwikkelingsproces.

met behulp van embedded development tools hebben we mogelijk de volgende tools nodig:

Assembler

het is een software tool die uw broncode in assembly omzet in machine code, bijvoorbeeld (GNU assembler).

Compiler

het is een softwareprogramma dat uw broncode bedekt in een programmeertaal op hoog niveau in assembler of machinecode. Compilatie kan zijn:

Native Native: dit betekent dat u de compiler en de gegenereerde code op dezelfde machine

Cross Cross: dit betekent dat u de compiler op een machine uitvoert en de gegenereerde code op een andere machine (processorarchitectuur).

Linker en Locator

een linker is een programma dat de compilaties verzamelt en koppelt, bewerkingen assembleert en één exe produceert.

een locator is een programmaprogramma dat kan worden gebruikt om de geheugenkaart van de linker-uitvoer te wijzigen.

Simulator

het is een programma dat het reële scenario imiteert, het produceert een benadering van de real-time systemen. Een simulator wordt gebruikt:

▪ als de echte hardware niet beschikbaar is

▪ in gevaarlijke testomgevingen en scenario ‘ s

Debugger

het is een softwareprogramma en een hardwareapparaat dat kan worden gekoppeld aan mijn PC met mijn ingesloten doel. Er wordt een debugger gebruikt:

▪ breekpunten

▪ trace-uitvoering

▪ dump-geheugen

Hardware debugger kan

▪ debug-agentsoftware aan boord

Flashlader

het is een programma en hardwareapparaat dat kan worden gebruikt om:

Program programma ROM/Flash

▪ Watch variables

Erase Erase ROM / Flash

Profiler

Profiler is een hulpmiddel om de prestaties van de softwarecode

geïntegreerde ontwikkelomgeving

het is een softwareprogramma dat de meeste gereedschappen allemaal in één heeft. Het kan zijn

▪ tekstverwerkers

▪ Compilers

▪ Debuggers

▪ Profilers

▪ Simulatoren

▪ Linkers

Microcontroller Software-Talen

We kunnen ze indelen in twee soorten:

High-level

▪ C/C++

▪ Java

▪ Ada

het Gebruik van dit type levert een abstractie van de hardware-niveau

Low-level

Machine code

Het is 0 en 1s en hard te worden geschreven door de mens, maar voor computers gemakkelijk te begrijpen

Montage

Het is een mnemonic code en pseudo-instructies om de leesbaarheid te verbeteren

Voorbeelden:

een instructie bestaat uit mnemonisch (opcode) + operanden

Opcode is een bewerking die wordt uitgevoerd door een machineprocessor

operanden is het uiteindelijke doel; de opcode moet een bewerking aannemen.

Assembly language is meer leesbaar en begrijpelijk dan machine code, maar je moet het gebruiken op een specifieke processor en kennis hebben van de architectuur.

C / C++ programmeertalen

talen op hoog niveau hebben de volgende functies

▪ gemakkelijk te schrijven

Flexible flexibel

Processor Processoronafhankelijk

High hoge productiviteit

Microcontroller Programmeervoorbeeld met behulp van AVR ATMEGA16

ATmega 16 heeft de volgende functies:

▪ 16 Kb van In-systeem Zelf programmeerbare flash-geheugen

▪ 512 Bytes EEPROM

▪ 1 Kbyte Interne SRAM

▪ Programmering Slot voor beveiliging

Perifere Functies

▪ Real-Time Teller met Aparte Oscillator

▪ Programmeerbare Seriële USART

▪ Vier PWM Kanalen

▪ 8-kanaal, 10-bit ADC

▪ On-chip Oscillator

▪ Power-op Rust-en Brown-out Detectie

▪ Interne RC Oscillator en Interrupt Bronnen

▪ Spanningen (van 2,7 v-5).5v)

LED-Knipperprogramma voorbeeld gebruikmakend van ATmeg16 en Proteus

LED-knipperprogramma in ingebedde systemen zoals het “hello world” – programma in applicatie-ontwikkeling. In het volgende voorbeeld leer je en gebruik je de Proteus simulator om je eerste programma uit te voeren. Ga naar deze map om de bronbestanden te downloaden.

Schrijf uw programma met behulp van Atmel studio

Na het downloaden van uw IDE,

microcontroller programmeren van AVR

openen en kies nieuw project aan en kies de locatie van de hex-bestand, zoals in de volgende afbeelding

microcontroller programmeren van AVR

De volgende stap is het kiezen van de microcontroller familie

microcontroller programmeren van AVR

daarna krijg je het volgende venster met starter code

microcontroller programmeren van AVR

En nu schrijf de volgende code

microcontroller programmeren van AVR

De volgende stap is het bouwen van uw programma door te drukken op F7

microcontroller programmeren van AVR

Na dat u de hex file op de gekozen locatie

microcontroller programmeren van AVR -

De volgende stap is het gebruik van de Proteus simulator

En maak nu een schematische weergave van de geselecteerde sjabloon

microcontroller programmeren van AVR

En kies niet het maken van een PCB lay-out

microcontroller programmeren van AVR

tot slot, we zijn gedaan, maar moeten we de hex-bestand, zoals in de volgende afbeelding

microcontroller programmeren van AVR

bewerken CKSEL Zekeringen

microcontroller programmeren van AVR

Opslaan en klik op afspelen

En je kunt zien dat de LED uit is voor 500ms (linker kant) en voor 500ms (rechterkant)

Programma Uitleg per regel

downloaden van de bron-bestanden, gaat u naar deze map.

# definieer f_CPU 100000UL / / om een constante te maken en kies de processorsnelheid

# include <avr / io.h>//om enkele bestanden voor in-en uitgangen

#op te roepen, moet <avr/delay worden opgenomen.h> // recall this file to use delay functions

int main(void){ // the start function and the main program

DDRA = 0b0000001; // to configure the pin a as an output / direction

While(1){ // to loop forever

PORTA = 0b00000001; // to make the PA0 = 1 and output 5v (LED is on)

_vertraging(500); // vertraging van een halve seconde

PORTA = 0b0000000; // voor het maken van de PA0 = 0 en uitgang 0v (LED uit)

_delay_ms (500); //delay voor de helft een tweede

}

terug 0;

} //einde van het programma

Conclusie

Tegenwoordig embedded systemen worden gebruikt in vitale producten en kan worden gebruikt voor het beveiligen en het opslaan van een heleboel mensen, als in het medische domein en andere toepassingen. Je moet blijven leren na het krijgen van een overzicht en introductie over microcontroller programmering. Uw volgende stap zou moeten zijn het leren van embedded software ontwerp en real-time triggered systemen.

https://www.faa.gov/regulations_policies/handbooks_manuals/aviation/phak/

AVR Microcontroller and Embedded Systems: Pearson New International Edition: Using Assembly and C, Muhammad Ali Mazidi, DeVry University

ARM System Developer ‘ s Guide Designing and Optimizing System Software A volume in The Morgan Kaufmann Series in Computer Architecture and Design Book * 2004

Leave a Reply

Het e-mailadres wordt niet gepubliceerd.