Mikrovezérlők alkalmazástechnikája laboratóriumi gyakorlat Bevezetés A fejlesztőkörnyezet használata Nevek javítása: 1, 12, 16 fólia Jegyzetre való hivatkozások Mingesz Róbert V 5.0 2015. február 18.
Tűz és munkavédelem
Tűzvédelem Tilos: Tűzveszély: tűz és robbanásveszélyes anyagot behozni nyílt láng használata dohányozni enni/inni Tűzveszély: elektromos műszerek Használat előtt meggyőződni hibátlan állapotukról!
Tűz esetén Szólni Tűzoltók hívása (105 / 112) Központi rendészeti ügyelet hívása (+36 62 54-5863) Áramtalanítás Tűz oltása (poroltó) Elektromos tüzek esetén: áramütés veszélye Menekülés
Munkavédelem Nem nyúl semmihez Munkavégzésre alkalmas állapot (nem: betegség / tudatmódosítók) Berendezések ismerete (használati útmutatók) Működőképes a berendezés? Nem javít (csak villanyszerelő / villamos mérnök) Földelés!
Áramütés esetén Áramkört megszakít (főkapcsoló) Elsősegély (lélegeztetés, stabil oldalfektetés, ...) Szólni Mentők hívása (104 / 112) 24 órás megfigyelés korházban Szívritmuszavarok → halál Szövetsérülés → vérrög → halál
Laborrend Csak az dolgozhat a laborban, aki ismeri a tűz és munkavédelmi szabályzatot, valamint a laborrendet, és ezt aláírásával igazolta is Felelősségvállalás a használt eszközökért Tilos enni/inni Óra végén mindent a helyére kell pakolni
Számítógép használata Csak engedéllyel szabad bármit telepíteni, beállításokat módosítani Munkakönyvtár (példa): Asztal/KissK Óra végén: mindent visszaállítani eredeti állapotába (saját fájlok törlése)
Tájékoztató
Mikrovezérlők alkalmazástechnikája laboratóriumi gyakorlat Valódi hardver programozása → rengeteg hibalehetőség (beállítások, hardver konfiguráció, hardver hibák, hibás kód...) Korlátozott hibakeresés → helyes programok írása Figyelembe kell venni a hardver képességeit
Információ A kurzus honlapja: http://www.inf.u-szeged.hu/~mingesz/Education/MicLab/ Oktatók / munkatársak Makan Gergely, Mellár János, Mingesz Róbert
Követelmények Nem lehet igazolatlan hiányzás Igazolt hiányzások száma legfeljebb 3 Az összes gyakorlat elvégzése Értékelés alapja: jegyzőkönyvekre adott pontszám vizsgafeladatokra adott pontszám Legalább 50%-os eredmény
Gyakorlatokon való részvétel Igazolt hiányzás: Utólag igazolás bemutatása Előzetes egyeztetést követően a gyakorlatvezető engedélyével hiányzik Pótlás: Előzetes megbeszélés alapján, a nappali tagozatos időpontokban Késés: Max 5 perc Utána pontlevonás
Gyakorlati munka Előzetes felkészülés Elsősorban egyéni munka Anyagok: Honlap / CooSpace Előadás jegyzet Dolgozat, számonkérés: bármikor Előzetesen megoldandó feladatok Elsősorban egyéni munka Az órák egy részében pármunka Az egy padban lévők segíthetnek egymásnak Oktatók segítsége Az órák egy részében jegyzőkönyv készítése
Jegyzőkönyv A sablon jegyzőkönyvet kell kitölteni Beadási határidő: az óra végén (1 óra 30-kor) E-mail: mingesz@inf.u-szeged.hu mellar@inf.u-szeged.hu makan@inf.u-szeged.hu pdf formátum, Max 5 MB (mindig külön csatolva) + mellékletek zip-ben Fájlnév: KissK.03.pdf + mellékletek: KissK.03.zip
Vizsgafeladat A feladatsor nincs előzetesen publikálva Nem használható semmilyen segítség Órán kell bemutatni az elkészült eredményt Kb. 3x súlyozás
Plágium, valótlanság Tilos sajátként feltűntetni azt, amit más készített Tilos valótlant állítani pl. hogy egy feladat elkészült, közben nem Súlyos büntetés Pontlevonás Pluszfeladat Kurzus nem teljesítése Nincs figyelmeztetés, ejnye-bejnye
Gyakorlat menete Óra elején tájékoztatás Leltárellenőrzés Feladatok megoldása Programozás Kapcsolások elkészítése Mérés Bemutatás Dokumentálás Jegyzőkönyv elküldése Rendrakás, leltárellenőrzés
Levelek tárgya Jegyzőkönyv: MicLab 03 Csütörtök 10 Hiányzás: MicLab - Hiányzás (dec 3) Pótlás: MicLab - Pótlás (dec 5) Levelek küldéséhez nem csak a stud-os címek használhatók
Reklamáció Minél hamarabb Legfeljebb UV időszak végéig Beadott anyagok megőrzése: UV időszak végéig
Tematika Bevezetés: a Silicon Laboratories által gyártott mikrovezérlők Utasításkészlet, Assembly és C programozás A fejlesztőkörnyezet Egyszerű feladatok BCD kijelzés Számlálók, interrupt AD konverzió Kommunikáció (RS232, I2C)
Hallgatói értékelések
A feladatok száma jó így, az óra kicsit rövid. A feladatok egy része szorgalmi, hogy a jól haladók se unatkozzanak.
Kevés a felkészüléshez biztosított anyag. Elkészült egy jegyzet Előadás anyaga hozzá tartozik a gyakorlathoz is Ahol szükséges, több anyagot fogunk biztosítani
Nincsenek részletes útmutatók. Ez szándékos Célszerű, hogy ha az ember magától jön rá a megoldásra. Így könnyebben boldogul, ha nem pont ezt a mikrovezérlőt használja. Ahol szükséges, több útmutató lesz.
Egy félév kevés egy ilyen tudás megszerzéséhez. Valóban. A kurzus csak az alapok elsajátítására elegendő, ugyanakkor ez alapján akár önállóan is el lehet sajátítani egy tetszőleges mikrovezérlő programozását.
Nem könnyű feladatokkal kezdünk, hanem egyből a közepébe vágunk. A számlálók és megszakítások használata valóban nem egyszerű, de ezek képezik a mikrovezérlő programozás alapját
Sok a hibalehetőség, így megtévesztő,mert lehet a jó programot átírjuk rosszra közben, nem is a programban van a baj. Evvel a kijelentéssel teljes egészében egyetértünk
Levelezősként nagyon kevés idő áll rendelkezésre Valóban Célszerű többet fordítani az előzetes felkészülésre A követelményeket a lehetőségeknek megfelelően állapítjuk meg
Célszerű megfelelő szakdolgozattémát választani: Érdekel a PLC a mikrovezérlő és a robotkar programozás. Szeretnék még hasonló műszaki berendezéseket megismerni, működtetni. Célszerű megfelelő szakdolgozattémát választani: PLC: Pletl Szilveszter / Kincses Zoltán Mikrovezérlő: Gingl Zoltán / Mingesz Róbert Robotkar: Pletl Szilveszter / Szépe Tamás FPGA: Kincses Zoltán
A 8051 architektúrája
Irodalom www.8052.com www.silabs.com Roland Dilsch: A 8051 mikrokontroller család (Műszaki Könyvkiadó 1992) http://www.edsim51.com/ http://www.inf.u-szeged.hu/~mingesz/Education/MicLab/ http://www.inf.u-szeged.hu/~mingesz/Info/Micro/C8051F410DK.php
8051 vs ARM cortex M3 8 bit Adatlap: 150 oldal Könnyen konfigurálható Egyszerű programozás ASM / C 32 bit Adatlap: 1500 oldal Bonyolult konfiguráció Csak függvénykönyvtáron keresztül programozható perifériák
8051 mikrovezérlő család 8 bit ALU 8 bit adatbusz 16 bit címbusz Beépített RAM: 128/256 byte Beépített programmemória I/O portok Számlálók Két prioritású szintű megszakításkezelés Alacsony fogyasztású üzemmódok
Gyártók Atmel Infineon Technologies Maxim NXP Microchip ST Silicon Laboratories Texas Instruments Ramtrom International Silicon Storage Technology Cypress Semiconductor Analog Devices
Előnyök-hátrányok Nagy választék Integrált perifériák Minimális külső alkatrészigény Alacsony fogyasztás Alacsony számítási teljesítmény Limitált memória
A C8051F410 architektúrája
Silicon Laboratories mikrovezérlők 8051-es mag Számos beépített periféria Kiváló minőségű A/D, D/A konverterek PCA kommunikáció Változatos kiépítés Fejlesztést segítő eszközök Egyciklusos mikrovezérlők (1 órajel ~ 1 utasítás*) Gyors, alacsony fogyasztású On-chip debug
C8051F410
C8051F410
C8051F410 - Memória
C8051F410 - Memória
C8051F410 - SFR
CrossBar
Port I/O cella
CrossBar – Config Wizard
Oszcillátor
Példa: Oszcillátor felfüggesztése
Watchdog timer Cél: ha a főprogram lefagy, újraindítja a mikrovezérlőt Rendszeresen törölni kell (a védeni kívánt programrészből), különben RESET Ki lehet kapcsolni RESET után aktív!
A C8051F410DK fejlesztőkit
C8051F410DK - Fejlesztőkit
Kit tartalma C8051F410 Target Board C8051Fxxx Development Kit Quick-Start Guide Silicon Laboratories IDE and Product Information CD-ROM AC to DC Power Adapter USB Debug Adapter (USB to Debug Interface) USB Cable
C8051F410-Target Board
C8051F410-Target Board P1 – Power connector (accepts input from 7 to 15 VDC unregulated power adapter) J1 – 22-pin Expansion I/O connector J3 – Port I/O Configuration Jumper Block J4 – DEBUG connector for Debug Adapter interface J5 – DB-9 connector for UART0 RS232 interface J6 – Analog I/O terminal block J7 – Connector for IDAC0 voltage circuit J8 – USB Debug Adapter target board power connector J9, J10 – External crystal enable connectors J11 – Connector for IDAC1 voltage circuit J12 – Connector block for Thermistor circuitry J13, J14 – ADC external voltage reference connectors
Target Board – Mikrovezérlő
Target Board – Debug Adapter, Kvarc
Target Board – Tápfeszültség
Target Board - Tápfeszültség
Target Board – Analóg I/O
Target Board – LED, Nyomógomb, UART
Kit üzembe helyezése Jumperek ellenőrzése Szalagkábel csatlakoztatása USB kábel csatlakoztatása AC/DC adapter csatlakoztatása Kikapcsolás fordított sorrendben
A fejlesztőkörnyezet használata
Új projekt létrehozása Project/New Project
Új projekt létrehozása Üres c fájl létrehozása a projekt könyvtárban File/New File... -> C source file Létrehozott fájl hozzáadása a source könyvtárba Jobb gomb a fájlra, majd "Add *** to build"
Új projekt létrehozása "C8051F410.h" fájl bemásolása a projekt könyvtárba Helye: C:\Program Files\SDCC\include\mcs51 Szükség esetén a Tool Chain Integration-ban kiválasztani az SDCC 3.x fordítót Assembler: C:\Program Files\SDCC\bin\sdas8051.exe Compiler: C:\Program Files\SDCC\bin\sdcc.exe Linker: C:\Program Files\SDCC\bin\sdcc.exe
Mikrovezérlő konfigurálása Config Wizard 2 indítása
Mikrovezérlő konfigurálása Watchdog kikapcsolása (Peripherals/PCA)
Mikrovezérlő konfigurálása Port IO konfigurálása Push-Pull: P2.1 és P2.3
Mikrovezérlő konfigurálása Mentés Generált kód beszúrása a forrás fájlba (Vagy generált kód mentése include fájlba) C8051F410_defs.h cseréje erre: C8051F410.h Az Init_Device() meghívása a main() függvényből
Program írása Speciális portlábak definiálása a fájl elején #define LED1 P2_1 #define LED2 P2_3 #define SW2 P1_4 #define SW3 P1_5 Nincs pontosvessző a sorok végén!
Program írása Főprogram void main() { Init_Device(); .......................................... }
Program letöltése Debug adapter kiválasztása Csatlakozás Fordítás: Rebuild all
Program letöltése OMF fájl kiválasztása Letöltés: Download code Futtatás: Go
Feladatok
1. feladat Első projekt létrehozása Konfigurálás Első program: P2.1 = 1, P2.3 = 0 Első program letöltése, futtatása Melyik LED világít, és miért? Generált ASM kód Debuggolás, lépésenkénti végrehajtás
2. feladat Program módosítása: nyomógombok használata Valami kezdőérték beállítása SW2 -> P2.1 = 1, P2.3 = 0 SW3 -> P2.1 = 0, P2.3 = 1
Következő óra Jegyzet anyaga (Laboratory practicals) 6 – 61 oldal 111 – 112 oldal 121 – 124 oldal Van előzetes feladat Lesz jegyzőkönyvkészítés