Mikrovezérlők alkalmazástechnikája laboratóriumi gyakorlat (lev) Bevezetés Fejlesztőkörnyezet használata Nevek javítása: 1, 9, 12 fólia Jegyzetre való hivatkozások Makan Gergely, Mellár János, Mingesz Róbert, Boros Péter, Zana Roland 2014. február 22.
Tartalom Tűz és munkavédelem, Laboratóriumi rend További információ: http://www.inf.u-szeged.hu/tanszekek/muszakiinformatika/MIL/ Tájékoztatás A 8051 architektúrája A C8051F410 architektúrája A development kit leírása Egyszerű feladatok megoldása
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 Csak engedéllyel szabad bármit telepíteni, átállítani Ó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ók 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 Boros Péter, Zana Roland Gingl Zoltán, Mellár János A félév teljesítésének követelményei: Nem lehet igazolatlan hiányzás Igazolt hiányzások száma legfeljebb 3 Az összes gyakorlat elvégzése 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: Utolsó héten Előzetes megbeszélés alapján, a többi időpontban Késés: Max 5 perc Utána pontlevonás
Gyakorlati munka Előzetes felkészülés Anyagok: Honlap / CooSpace Előadás jegyzet Dolgozat: bármikor Egyéni munka, de az egy padban lévők segíthetnek egymásnak 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, + mellékletek zip-ben Fájlnév: KissK.03.pdf (+ KissK.03.zip) Levél tárgya: Mikro - 03 - Kedd 8h 13 jobb A jegyzőkönyv a saját munkát kell dokumentálja. Tilos: Valótlanságot állítani benne Más munkáját bemásolni
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
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 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 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) 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