Mikrovezérlők alkalmazástechnikája laboratóriumi gyakorlat A fejlesztőkörnyezet használata Makan Gergely, Mellár János, Mingesz Róbert, Boros Péter, Zana Roland 2014. február 17.
Tartalom A 8051 architektúrája A C8051F410 architektúrája A development kit leírása Egyszerű feladatok megoldása
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) 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