Labor gyakorlat Mikrovezérlők

Hasonló dokumentumok
Labor gyakorlat Mikrovezérlők

Labor gyakorlat Mikrovezérlők

Mintavételes szabályozás mikrovezérlő segítségével

Labor 2 Mikrovezérlők

Mechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe

I. C8051Fxxx mikrovezérlők hardverfelépítése, működése. II. C8051Fxxx mikrovezérlők programozása. III. Digitális perifériák

Számítógépek felépítése, alapfogalmak

Nagy Gergely április 4.

Járműfedélzeti rendszerek II. 1. előadás Dr. Bécsi Tamás

Szoftvertechnológia alapjai Java előadások

Programozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double

Autóipari beágyazott rendszerek CAN hardver

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Informatika érettségi vizsga

Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések. 1. Mi a programozás?

C programozás. 1 óra Bevezetés

A Texas Instruments MSP430 mikrovezérlőcsalád

Az interrupt Benesóczky Zoltán 2004

Mit tudunk már? Programozás alapjai C nyelv 4. gyakorlat. Legnagyobb elem keresése. Feltételes operátor (?:) Legnagyobb elem keresése (3)

Számítógép felépítése

Programzás I gyakorlat

Java II. I A Java programozási nyelv alapelemei

A C# programozási nyelv alapjai

VI. SZOFTVERES PROGRAMOZÁSÚ VLSI ÁRAMKÖRÖK

Programozás 1. Dr. Iványi Péter

Számítógépek felépítése

Az AVR programozás alapjai. Előadja: Both Tamás

1.1. A forrásprogramok felépítése Nevek és kulcsszavak Alapvető típusok. C programozás 3

TARTALOMJEGYZÉK. 1. Ismétlés A mikroprocesszor mőködése Mikroszámítógépek, mikrokontrollerek... 20

A programozás alapjai

Programozási nyelvek I. 5. előadás (Gregorics Tibor anyagának felhasználásával)

B I T M A N B I v: T M A N

1. Bevezetés szeptember 9. BME Fizika Intézet. Szám. szim. labor ea. Tőke Csaba. Tudnivalók. feladat. Tematika. Moodle Házi feladatok

Járműfedélzeti rendszerek I. 2. előadás Dr. Bécsi Tamás

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás

ARM Cortex magú mikrovezérlők

A C programozási nyelv I. Bevezetés

A C programozási nyelv I. Bevezetés

ATMEL ATMEGA MIKROVEZÉRLŐ-CSALÁD

Szoftvertervezés és -fejlesztés I.

Számítógépek felépítése, alapfogalmak

Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Előfeldolgozó rendszer Tömbök. Dr. Bécsi Tamás 4. Előadás

Arduino bevezető Szenzorhálózatok és alkalmazásaik

ARM Cortex magú mikrovezérlők

C programozás. 6 óra Függvények, függvényszerű makrók, globális és

3. Gyakorlat Ismerkedés a Java nyelvvel

2. Elméleti összefoglaló

Kifejezések. Kozsik Tamás. December 11, 2016

Programozás BMEKOKAA146. Dr. Bécsi Tamás 2. előadás

A TANTÁRGY ADATLAPJA

Informatika terméktervezőknek

Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT

Digitális technika VIMIAA01 9. hét

Programozás BMEKOKAA146. Dr. Bécsi Tamás 3. előadás

Programozás I gyakorlat. 10. Stringek, mutatók

Bevezető a mikrokontrollerek, az IoT és

A C# PROGRAMOZÁSI NYELV

OOP I. Egyszerő algoritmusok és leírásuk. Készítette: Dr. Kotsis Domokos

Bevezető előadás Mikrórendszerek összahasonlítása.dsp bevezető

Járműfedélzeti rendszerek II. 2. előadás Dr. Bécsi Tamás

Programozás II. 2. Dr. Iványi Péter

MSP430 programozás Energia környezetben. Kitekintés, további lehetőségek

Bevezetés az informatikába Tételsor és minta zárthelyi dolgozat 2014/2015 I. félév

Laboratóriumi műszerek megvalósítása ARM alapú mikrovezérlővel és Linux-szal

Információs Technológia

Digitális rendszerek. Utasításarchitektúra szintje

1. Egyszerű (primitív) típusok. 2. Referencia típusok

TARTALOMJEGYZÉK. 1. BEVEZETÉS A logikai hálózatok csoportosítása Logikai rendszerek... 6

Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606. Dr. Bécsi Tamás 2. előadás

Programozás C nyelven (3. ELŐADÁS) Sapientia EMTE

Stack Vezérlés szerkezet Adat 2.

Adatok ábrázolása, adattípusok

Programozás alapjai. 5. előadás

Programozás I gyakorlat

Programozás alapjai gyakorlat. 2. gyakorlat C alapok

Mutatók és mutató-aritmetika C-ben március 19.

Processzor (CPU - Central Processing Unit)

Matematikai alapok. Dr. Iványi Péter

USB adatgyűjtő eszközök és programozásuk Mérő- és adatgyűjtő rendszerek

Érzékelők és beavatkozók I.

Programozási nyelvek JAVA EA+GY 1. gyakolat

Java II. I A Java programozási nyelv alapelemei

C programozás. { Márton Gyöngyvér, 2009 } { Sapientia, Erdélyi Magyar Tudományegyetem }

Programozás BMEKOKAA146. Dr. Bécsi Tamás 1. Előadás

Új kompakt X20 vezérlő integrált I/O pontokkal

Algoritmusok Tervezése. 4. Előadás Visual Basic 1. Dr. Bécsi Tamás

Mintavételezés tanulmányozása. AD - konverzió. Soros kommunikáció

Mérési útmutató. A/D konverteres mérés. // Első lépésként tanulmányozzuk a digitális jelfeldolgozás előnyeit és határait.

A LEGO Mindstorms EV3 programozása

C# gyorstalpaló. Készítette: Major Péter

Pénzügyi algoritmusok

Nagyteljesítményű mikrovezérlők

Programozás C nyelven FELÜLNÉZETBŐL elhullatott MORZSÁK. Sapientia EMTE

Webprogramozás szakkör

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós szeptember 27. Széchenyi István Egyetem, Gy r

Mikrorendszerek tervezése

Java programozási nyelv

Adattípusok, vezérlési szerkezetek. Informatika Szabó Adrienn szeptember 14.

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

Funkcionális és logikai programozás. { Márton Gyöngyvér, 2012} { Sapientia, Erdélyi Magyar Tudományegyetem }

Átírás:

Labor gyakorlat Mikrovezérlők ATMEL AVR ARDUINO 1. ELŐADÁS BUDAI TAMÁS 2015. 09. 06.

Tartalom Labor 2 mikrovezérlők modul 2 alkalom 1 mikrovezérlők felépítése, elmélet 2 programozás, mintaprogramok Értékelés: a 2. alkalom elején minizh az 1. alkalommal elhangzottakból. Forma: 5+1 rövid választ igénylő kérdés 2

Tartalom Mikrovezérlők Mikrovezérlők felépítése, működése Mikrovezérlő típusok, gyártók Mikrovezérlők perifériái Mikrovezérlők programozása A C programozási nyelv (ismétlés) ATMEL AVR mikrovezérlők programozása Az ATMEL studio használata Feladatmegoldás 3

Tartalom Mikrovezérlők Mikrovezérlők felépítése, működése Mikrovezérlő típusok, gyártók Mikrovezérlők perifériái Mikrovezérlők programozása A C programozási nyelv (ismétlés) ATMEL AVR mikrovezérlők programozása Az ATMEL studio használata Feladatmegoldás 4

Mikrovezérlők Mikrovezérlő: Kisméretű, alacsony fogyasztású, programvezérelt digitális hálózat, avagy számítógép 5

Mikrovezérlők Alkalmazási területek: Háztartási és szórakoztató elektronika Ipari elektronika Járműipar Gyógyászati eszközök SMART eszközök 6

Tartalom Mikrovezérlők Mikrovezérlők felépítése, működése Mikrovezérlő típusok, gyártók Mikrovezérlők perifériái Mikrovezérlők programozása A C programozási nyelv (ismétlés) ATMEL AVR mikrovezérlők programozása Az ATMEL studio használata Feladatmegoldás 7

Mikrovezérlők felépítése, működése Mikroprocesszor Mikrovezérlő Memória ALU CU ALU CU Megszakítás kezelő Órajel-generátor Perifériák A mikrovezérlő (=mikrokontroller) = teljes számítógép egy tokban (SoC) 8

Mikrovezérlők felépítése, működése Számítógép, tehát érvényesek rá a Neumann alapelvek: Elektronikus Bináris számrendszer Adat és programmemória Univerzális Turing-gép Mikrovezérlő Memória ALU CU Megszakítás kezelő Órajel-generátor Perifériák 9

Mikrovezérlők felépítése, működése Mikrovezérlő CPU (ALU+CU): Egyes családoknál* közös Meghatározza a számábrázolást*: 8,16,32bit Memória ALU CU Megszakítás kezelő Órajel-generátor Perifériák 10

Mikrovezérlők felépítése, működése Memória típusok: Program memória Perzisztens, nem újraírható Perzisztens, de újraírható Adatmemória Nem perzisztens: RAM Perzisztens: ROM Mikrovezérlő Memória ALU CU Megszakítás kezelő Órajel-generátor Perifériák 11

Mikrovezérlők felépítése, működése Megszakítás kezelő: A normál futást megszakítva rákényszeríti a rendszert, hogy azonnal hajtson végre egy speciális programrészt Megszakítás forrásai Belső: időzítő, periféria Külső: adott lábon felfutó él Mikrovezérlő Memória ALU CU Megszakítás kezelő Órajel-generátor Perifériák 12

Mikrovezérlők felépítése, működése 13

Mikrovezérlők felépítése, működése Működés Egy általános célú mikrovezérlő a reset esemény után a következő lépéseket hajtja végre: 1. Minden periféria alaphelyzetbe állítása 2. A program lépéseinek végrehajtása a reset vektor -tól (programmemória elejétől) az órajel szerint 14

Mikrovezérlők felépítése, működése Működés Egy általános célú mikrovezérlő a reset esemény után a következő lépéseket hajtja végre: 1. Minden periféria alaphelyzetbe állítása 2. A program lépéseinek végrehajtása a reset vektor -tól (programmemória elejétől) az órajel szerint 15

Mikrovezérlők felépítése, működése Reset A reset esemény: a mikrovezérlő (újra)indítása A reset esemény forrásai: Power-on reset (bekapcsolás) External reset (külső reset láb szintváltozása miatt) Watchdog system reset (őrkutya* miatt) *Ezért a fordításért külön elnézést kérek 16

Mikrovezérlők felépítése, működése Program (Gépi kód) A gép által értelmezhető binárisan kódolt utasítások sorozata Forráskód Majd a programozásnál 17

Mikrovezérlők felépítése, működése Órajel Mivel a mikrovezérlő egy digitális hálózat ezért a működéséhez szükség van órajelre. Jelalak: négyszögjel mértékegysége: 1/s vagyis Hertz Tipikus nagyságrendje napjainkban: 1MHz-100MHz Forrás Pontosság Költség RC oszcillátor Alacsony Legolcsóbb Kerámia rezonátor Közepes Olcsó Rezgőkristály Magas Drága 18

Mikrovezérlők felépítése, működése Órajel ciklus, ciklusidő Ciklusidő: Az órajel két egymást követő le/felfutó éle közt eltelt idő (vagyis a négyszögjel periódusideje) Utasítások jellemzése: hány órajelciklus szükséges a végrehajtáshoz Pl.: Feltétel nélküli ugrás 1 ciklus Összeadás 2 ciklus (Minél kevesebb, annál jobb) 19

Tartalom Mikrovezérlők Mikrovezérlők felépítése, működése Mikrovezérlő típusok, gyártók Mikrovezérlők perifériái Mikrovezérlők programozása A C programozási nyelv (ismétlés) ATMEL AVR mikrovezérlők programozása Az ATMEL studio használata Feladatmegoldás 20

Mikrovezérlő típusok, gyártók Mikrovezérlők Bitek száma Memória / perifériák helye Utasításkészlet 4 8 16 32 Külső Belső RISC CISC 21

Mikrovezérlő típusok, gyártók Gyártók Atmel Infineon Intel Microchip Motorola National Instruments Parallax Texas instruments Xilinx 22

Tartalom Mikrovezérlők Mikrovezérlők felépítése, működése Mikrovezérlő típusok, gyártók Mikrovezérlők perifériái Mikrovezérlők programozása A C programozási nyelv (ismétlés) ATMEL AVR mikrovezérlők programozása Az ATMEL studio használata Feladatmegoldás 23

Mikrovezérlők perifériái Tipikus perifériák Digitális be/kimenetek A/D konverter D/A konverter Speciális perifériák BUS illesztők*: SPI UART (RS232) I 2 C CAN érintés-érzékelő PWM kimenet Mikrovezérlő Memória ALU CU Megszakítás kezelő Órajel-generátor Perifériák *Nem feltétlenül szükséges minden buszhoz (bitbang) 24

Mikrovezérlők perifériái Digitális bemenet: Egy bemenet egy láb Egy bit reprezentálja a logikai szintet: 0 = alacsony 1 = magas Digitális kimenet: Egy kimenet egy láb Ugyan az, mint a bemenet, csak itt a bitet írjuk és nem olvassuk *Nem feltétlenül szükséges minden buszhoz (bitbang) 25

Mikrovezérlők perifériái A/D átalakító: Bemenet Működés: Mintavételezés Kvantálás Jellemzői: Felbontás (hány bites) sebesség Az analóg jel amplitúdója a föld és egy referenciapotenciál közt értelmezett (ez általában a táfeszültség) és egy változóból kiolvasható *Nem feltétlenül szükséges minden buszhoz (bitbang) 26

Mikrovezérlők perifériái D/A átalakító: Kimenet Jellemzői: Felbontás (hány bites) sebesség Az analóg jel amplitúdója a föld és egy referenciapotenciál közt értelmezett (ez általában a táfeszültség) Logikája azonos az A/D-vel, csak itt beírjuk a kívánt szintet és nem kiolvassuk *Nem feltétlenül szükséges minden buszhoz (bitbang) 27

Mikrovezérlők perifériái BUSZ illesztők: Be/kimenet Annyi lábat használ, amennyit az adott BUSZ megkíván: Pl.: CLK, RX, TX Működését az adott BUSZ típusa határozza meg Tartozhat hozzá speciális memóriarész (pl. fogadó buffer) *Nem feltétlenül szükséges minden buszhoz (bitbang) 28

Tartalom Mikrovezérlők Mikrovezérlők felépítése, működése Mikrovezérlő típusok, gyártók Mikrovezérlők perifériái Mikrovezérlők programozása A C programozási nyelv (ismétlés) ATMEL AVR mikrovezérlők programozása Az ATMEL studio használata Feladatmegoldás 29

Mikrovezérlők programozása Program (Gépi kód) A gép által értelmezhető binárisan kódolt utasítások sorozata Forráskód Az egyszerűbb kezelhetőség érdekében adjunk rövid nevet az egyes utasításoknak Ember által értelmezhető, gép által nem; Ahhoz, hogy futtatható legyen fordításra van szükség! 30

Mikrovezérlők programozása Forráskód Fordító Egy mikrovezérlő bármilyen nyelven programozható, ha van az adott nyelvhez és vezérlőhöz fordítóprogram. Gépi kód 1010010 1110101 0101010 31

Mikrovezérlők programozása Programnyelvek Alacsony szintű Assembly Magas szintű C, C++, FORTRAN, Pascal 32

Tartalom Mikrovezérlők Mikrovezérlők felépítése, működése Mikrovezérlő típusok, gyártók Mikrovezérlők perifériái Mikrovezérlők programozása A C programozási nyelv (ismétlés) ATMEL AVR mikrovezérlők programozása Az ATMEL studio használata Feladatmegoldás 33

A C programozási nyelv (ismétlés) tartalom Alapok Változók, adattípusok Operátorok Elágazások, Feltételes utasítások Ciklusok Függvények 34

A C programozási nyelv (ismétlés) Alapok A forráskód: Egyszerű szövegfájl Ember által értelmezhető Utasítások sorozata Kötött formátum 35

A C programozási nyelv (ismétlés) Alapok Példa 36

A C programozási nyelv (ismétlés) Alapok #include direktíva: más forráskódrészeket tudunk beágyazni ezek erősen függenek a használt környezettől main() függvény: minden programban pontosan egy darabnak kell lennie itt kezdődik a programunk végrehajtása 37

A C programozási nyelv (ismétlés) Változók, adattípusok A legkisebb egység: 1 bit 8 bit = 1 byte B B B B B B B B B Változótípusok void bool char int unsigned int float double string semmi (ezt is jelölni kell valahogy) logikai (igaz/hamis) egy karakter (1 byte) (előjeles) egész szám egész szám lebegőpontos szám dupla pontosságú float char-okból álló tömb 38

A C programozási nyelv (ismétlés) Változók, adattípusok Példa 39

A C programozási nyelv (ismétlés) Változók, adattípusok Tömbök: Egy adott adattípusból álló több elemű halmaz A memóriában folytonosan helyezkedik el A tömb méretét előre meg kell mondanunk* 40

A C programozási nyelv (ismétlés) Változók, adattípusok Tömbök: Egy adott adattípusból álló több elemű halmaz A memóriában folytonosan helyezkedik el A tömb méretét előre meg kell mondanunk* 41

A C programozási nyelv (ismétlés) Operátorok Operátorok: Aritmetikai: + - * / % ( ) Összehasonlító: ==!= < <= > >= Logikai: &&! Bitenkénti: & ^ ~ << >> Helyben módosító: ++ -- += -= *= /= &= = Egyéb: sizeof 42

A C programozási nyelv (ismétlés) Operátorok Példa 43

A C programozási nyelv (ismétlés) Elágazások, feltételes utasítások Elágazások: if, if-else switch case 44

A C programozási nyelv (ismétlés) Elágazások, feltételes utasítások If-else 45

A C programozási nyelv (ismétlés) Elágazások, feltételes utasítások Switch-case 46

A C programozási nyelv (ismétlés) Ciklusok Ciklusok: for while do-while Ciklusvezérlés 47

A C programozási nyelv (ismétlés) Ciklusok for Tömörebben: 48

A C programozási nyelv (ismétlés) Elágazások, feltételes utasítások while 49

A C programozási nyelv (ismétlés) Elágazások, feltételes utasítások do-while 50

A C programozási nyelv (ismétlés) Ciklusok Vezérlő utasítások: break continue return 51

A C programozási nyelv (ismétlés) Ciklusok break 52

A C programozási nyelv (ismétlés) Ciklusok break 53

A C programozási nyelv (ismétlés) Ciklusok continue 54

A C programozási nyelv (ismétlés) Ciklusok return 55

A C programozási nyelv (ismétlés) Függvények Függvények mint a matematikában: paraméter, visszatérési érték programszervezésre használhatók Példa: y = sin(x) 56

A C programozási nyelv (ismétlés) Függvények Példa 57

A C programozási nyelv (ismétlés) Összefoglalás Összefoglalás: A programozó fegyvertára = + - * / % ( ) ==!= < <= > >= ++ -- += -= *= /= &= = sizeof bool int float [] {} ; #include 58

A C programozási nyelv (ismétlés) Összefoglalás Mit hagytunk ki: előfordító direktívák, makrók mutatók, mutató aritmetika dinamikus memóriakezelés saját adattípusok, struktúrák függvénykönyvtárak hibakeresés 59

A C programozási nyelv (ismétlés) Összefoglalás Ajánlott irodalom: http://www.tutorialspoint.com/cprogramming/index.htm B. W. Kernighan - D. M. Ritchie : A C programozási nyelv 60