labor gyakorlat –mikrovezérlőkmaxwell.sze.hu/~budait/labor2/2016-17-1/labor2-1.pdf · labor 2...
TRANSCRIPT
![Page 1: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/1.jpg)
BUDAI TAMÁS
2016. 09. 14.
Labor gyakorlat – MikrovezérlőkATMEL AVR – ARDUINO
1. ELŐADÁS
![Page 2: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/2.jpg)
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
2016. 09. 14.2
Tartalom
Előadó: Budai Tamás
![Page 3: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/3.jpg)
• 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
2016. 09. 14.3
Tartalom
Előadó: Budai Tamás
![Page 4: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/4.jpg)
Mikrovezérlő:
• Kisméretű, alacsony fogyasztású,
programvezérelt digitális hálózat, avagy
számítógép
2016. 09. 14.4
Mikrovezérlők
Előadó: Budai Tamás
![Page 5: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/5.jpg)
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
• IoT
• …
2016. 09. 14.5
Mikrovezérlők
Előadó: Budai Tamás
![Page 6: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/6.jpg)
• 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
2016. 09. 14.6
Tartalom
Előadó: Budai Tamás
![Page 7: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/7.jpg)
2016. 09. 14.7
Mikrovezérlők felépítése, működése
Előadó: Budai Tamás
Mikroprocesszor
ALU
Mikrovezérlő
CU ALU CU
Memória
Perifériák
Órajel-generátor
Megszakítás kezelő
A mikrovezérlő egy teljes számítógép egy tokban
![Page 8: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/8.jpg)
2016. 09. 14.8
Mikrovezérlők felépítése, működése
Előadó: Budai Tamás
Mikrovezérlő
ALU CU
Memória
Perifériák
Órajel-generátor
Megszakítás kezelő
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
![Page 9: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/9.jpg)
2016. 09. 14.9
Mikrovezérlők felépítése, működése
Előadó: Budai Tamás
Mikrovezérlő
ALU CU
Memória
Perifériák
Órajel-generátor
Megszakítás kezelő
CPU (ALU+CU):
• Egyes családoknál* közös
• Meghatározza a
számábrázolást*:
8,16,32bit…
![Page 10: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/10.jpg)
2016. 09. 14.10
Mikrovezérlők felépítése, működése
Előadó: Budai Tamás
Mikrovezérlő
ALU CU
Memória
Perifériák
Órajel-generátor
Megszakítás kezelő
Memória típusok:
• Program memória
• nem újraírható
• újraírható
• Adatmemória
• RAM
• ROM
![Page 11: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/11.jpg)
2016. 09. 14.11
Mikrovezérlők felépítése, működése
Előadó: Budai Tamás
Mikrovezérlő
ALU CU
Memória
Perifériák
Órajel-generátor
Megszakítás kezelő
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
![Page 12: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/12.jpg)
2016. 09. 14.12
Mikrovezérlők felépítése, működése
Előadó: Budai Tamás
![Page 13: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/13.jpg)
2016. 09. 14.13
Mikrovezérlők felépítése, működése
Előadó: Budai Tamás
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
programmemória elejétől (reset vector) az órajel
szerint
![Page 14: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/14.jpg)
2016. 09. 14.14
Mikrovezérlők felépítése, működése
Előadó: Budai Tamás
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
![Page 15: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/15.jpg)
2016. 09. 14.15
Mikrovezérlők felépítése, működése
Előadó: Budai Tamás
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…
![Page 16: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/16.jpg)
2016. 09. 14.16
Mikrovezérlők felépítése, működése
Előadó: Budai Tamás
Ó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
![Page 17: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/17.jpg)
2016. 09. 14.17
Mikrovezérlők felépítése, működése
Előadó: Budai Tamás
Ó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 gyorsabb)
![Page 18: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/18.jpg)
• 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
2016. 09. 14.18
Tartalom
Előadó: Budai Tamás
![Page 19: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/19.jpg)
2016. 09. 14.19
Mikrovezérlő típusok, gyártók
Előadó: Budai Tamás
Mikrovezérlők
Bitek száma
4 8 16 32
Memória / perifériák helye
Külső Belső
Utasításkészlet
RISC CISC
![Page 20: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/20.jpg)
Gyártók• Atmel
• Infineon
• Intel
• Microchip
• Motorola
• National Instruments
• Parallax
• Texas instruments
• Xilinx
• …
2016. 09. 14.20
Mikrovezérlő típusok, gyártók
Előadó: Budai Tamás
![Page 21: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/21.jpg)
• 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
2016. 09. 14.21
Tartalom
Előadó: Budai Tamás
![Page 22: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/22.jpg)
• 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)
• I2C
• CAN
• …
– érintés-érzékelő– PWM kimenet
2016. 09. 14.22
Mikrovezérlők perifériái
Előadó: Budai Tamás
*Nem feltétlenül szükséges minden buszhoz (bitbang)
Mikrovezérlő
ALU CU
Memória
Perifériák
Órajel-generátor
Megszakítás kezelő
![Page 23: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/23.jpg)
• 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
2016. 09. 14.23
Mikrovezérlők perifériái
Előadó: Budai Tamás
![Page 24: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/24.jpg)
• 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ápfeszültség) és egy változóból kiolvasható
2016. 09. 14.24
Mikrovezérlők perifériái
Előadó: Budai Tamás
![Page 25: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/25.jpg)
• 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ápfeszültség)
– Logikája azonos az A/D-vel, csak itt beírjuk a kívánt
szintet és nem kiolvassuk
2016. 09. 14.25
Mikrovezérlők perifériái
Előadó: Budai Tamás
![Page 26: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/26.jpg)
• 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)
2016. 09. 14.26
Mikrovezérlők perifériái
Előadó: Budai Tamás
![Page 27: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/27.jpg)
• 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
2016. 09. 14.27
Tartalom
Előadó: Budai Tamás
![Page 28: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/28.jpg)
2016. 09. 14.28
Mikrovezérlők programozása
Előadó: Budai Tamás
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!
![Page 29: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/29.jpg)
2016. 09. 14.29
Mikrovezérlők programozása
Előadó: Budai Tamás
Forráskód
Fordító
Gépi kód101001011101010101010
Egy mikrovezérlő bármilyen nyelven programozható, ha van az adott nyelvhez és vezérlőhöz fordítóprogram.
![Page 30: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/30.jpg)
• Programnyelvek
– Alacsony szintű
• Assembly
– Magas szintű
• C, C++, Python, Java…
2016. 09. 14.30
Mikrovezérlők programozása
Előadó: Budai Tamás
![Page 31: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/31.jpg)
• 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
2016. 09. 14.31
Tartalom
Előadó: Budai Tamás
![Page 32: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/32.jpg)
• Alapok
• Változók, adattípusok
• Operátorok
• Elágazások, Feltételes utasítások
• Ciklusok
• Függvények
2016. 09. 14.32
A C programozási nyelv (ismétlés)
tartalom
Előadó: Budai Tamás
![Page 33: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/33.jpg)
2016. 09. 14.33
A C programozási nyelv (ismétlés)
Alapok
Előadó: Budai Tamás
A forráskód:
• Egyszerű szövegfájl
• Ember által értelmezhető
• Utasítások sorozata
• Kötött formátum
![Page 34: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/34.jpg)
2016. 09. 14.34
A C programozási nyelv (ismétlés)
Alapok
Előadó: Budai Tamás
Példa
![Page 35: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/35.jpg)
2016. 09. 14.35
A C programozási nyelv (ismétlés)
Alapok
Előadó: Budai Tamás
#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
![Page 36: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/36.jpg)
2016. 09. 14.36
A C programozási nyelv (ismétlés)
Változók, adattípusok
Előadó: Budai Tamás
A legkisebb egység: 1 bit
8 bit = 1 byte
B
B B B B B B B B
void „semmi” (ezt is jelölni kell valahogy)
bool logikai (igaz/hamis)
char egy karakter (1 byte)
int (előjeles) egész szám
unsigned int egész szám
float lebegőpontos szám
double dupla pontosságú float
string char-okból álló tömb
Változótípusok
![Page 37: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/37.jpg)
2016. 09. 14.37
A C programozási nyelv (ismétlés)
Változók, adattípusok
Előadó: Budai Tamás
Példa
![Page 38: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/38.jpg)
2016. 09. 14.38
A C programozási nyelv (ismétlés)
Változók, adattípusok
Előadó: Budai Tamás
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*
![Page 39: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/39.jpg)
2016. 09. 14.39
A C programozási nyelv (ismétlés)
Változók, adattípusok
Előadó: Budai Tamás
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*
![Page 40: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/40.jpg)
2016. 09. 14.40
A C programozási nyelv (ismétlés)
Operátorok
Előadó: Budai Tamás
Operátorok:
• Aritmetikai: + - * / % ( )
• Összehasonlító: == != < <= > >=
• Logikai: && || !
• Bitenkénti: & | ^ ~ << >>
• Helyben módosító: ++ -- += -= *= /= &= |=
• Egyéb: sizeof
![Page 41: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/41.jpg)
2016. 09. 14.41
A C programozási nyelv (ismétlés)
Operátorok
Előadó: Budai Tamás
Példa
![Page 42: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/42.jpg)
2016. 09. 14.42
A C programozási nyelv (ismétlés)
Elágazások, feltételes utasítások
Előadó: Budai Tamás
Elágazások:
• if, if-else
• switch case
![Page 43: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/43.jpg)
2016. 09. 14.43
A C programozási nyelv (ismétlés)
Elágazások, feltételes utasítások
Előadó: Budai Tamás
If-else
![Page 44: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/44.jpg)
2016. 09. 14.44
A C programozási nyelv (ismétlés)
Elágazások, feltételes utasítások
Előadó: Budai Tamás
Switch-case
![Page 45: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/45.jpg)
2016. 09. 14.45
A C programozási nyelv (ismétlés)
Ciklusok
Előadó: Budai Tamás
Ciklusok:
• for
• while
• do-while
• Ciklusvezérlés
![Page 46: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/46.jpg)
2016. 09. 14.46
A C programozási nyelv (ismétlés)
Ciklusok
Előadó: Budai Tamás
Tömörebben:
for
![Page 47: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/47.jpg)
2016. 09. 14.47
A C programozási nyelv (ismétlés)
Elágazások, feltételes utasítások
Előadó: Budai Tamás
while
![Page 48: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/48.jpg)
2016. 09. 14.48
A C programozási nyelv (ismétlés)
Elágazások, feltételes utasítások
Előadó: Budai Tamás
do-while
![Page 49: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/49.jpg)
2016. 09. 14.49
A C programozási nyelv (ismétlés)
Ciklusok
Előadó: Budai Tamás
Vezérlő utasítások:
• break
• continue
• return
![Page 50: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/50.jpg)
2016. 09. 14.50
A C programozási nyelv (ismétlés)
Ciklusok
Előadó: Budai Tamás
• break
![Page 51: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/51.jpg)
2016. 09. 14.51
A C programozási nyelv (ismétlés)
Ciklusok
Előadó: Budai Tamás
• break
![Page 52: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/52.jpg)
2016. 09. 14.52
A C programozási nyelv (ismétlés)
Ciklusok
Előadó: Budai Tamás
• continue
![Page 53: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/53.jpg)
2016. 09. 14.53
A C programozási nyelv (ismétlés)
Ciklusok
Előadó: Budai Tamás
• return
![Page 54: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/54.jpg)
2016. 09. 14.54
A C programozási nyelv (ismétlés)
Függvények
Előadó: Budai Tamás
Függvények
• mint a matematikában:
– paraméter, visszatérési érték
• programszervezésre használhatók
Példa: y = sin(x)
![Page 55: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/55.jpg)
2016. 09. 14.55
A C programozási nyelv (ismétlés)
Függvények
Előadó: Budai Tamás
Példa
![Page 56: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/56.jpg)
2016. 09. 14.56
A C programozási nyelv (ismétlés)
Összefoglalás
Előadó: Budai Tamás
Összefoglalás:
= + - * / % ( ) == != < <= > >= ++ -- += -=
*= /= &= |= sizeof bool int float [] {} ;
#include
![Page 57: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/57.jpg)
2016. 09. 14.57
A C programozási nyelv (ismétlés)
Összefoglalás
Előadó: Budai Tamá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
• …
![Page 58: Labor gyakorlat –Mikrovezérlőkmaxwell.sze.hu/~budait/Labor2/2016-17-1/labor2-1.pdf · Labor 2 –mikrovezérlőkmodul •2 alkalom –1 mikrovezérlőkfelépítése, elmélet](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602a1eaf3af73f4783475b77/html5/thumbnails/58.jpg)
2016. 09. 14.58
A C programozási nyelv (ismétlés)
Összefoglalás
Előadó: Budai Tamás
Ajánlott irodalom:
• http://www.tutorialspoint.com/cprogramming/index.htm
• B. W. Kernighan - D. M. Ritchie : A C programozási nyelv
• Takács Gábor: Programozás villamosmérnököknek