Inicializace portů mikrokontroléru Vypracoval: Ing. Jaroslav Chlubný Kód prezentace: OPVK-TBdV-AUTOROB-ME-3-JCP-JCH-002 Technologie budoucnosti do výuky CZ.1.07/1.1.38/02.0032
Porty PORT je brána pro komunikaci s okolím. Digitální piny – nastavení jako vstupní (Input) nebo výstupní (Output) vstupy výstupy
Inicializace portů v assembleru postaven na jádru RISC (8 bitů) paměť programu Flash 1024 slov po 14 bitech 2 paměti dat: 68 byte paměti RAM pro data 64 byte paměti EEPROM pro uložení konstant 8 bitový čítač/časovač (TMR0) s předděličkou 13 I/O ve dvou portech RA (5) a RB (8)
Inicializace portů v assembleru PIC16F84A výběr stránky paměti RAM 2. nastavení bitů TRIS registrů Bit TRIS registru = L výstup Bit TRIS registru = H vstup L H O I
Inicializace portů v assembleru PIC16F84A BCF f,b – vynuluje bit b registru f (f je adresa registru, b adresa bitu v registru) BSF f,b – nastaví bit b registru f registr STATUS Příklad - postup nastavení pinu RA0 jako výstup: 1. krok - volba Stránky 1: v registru STATUS nastavíme bit 5 (RP0) do H úrovně HIGH: BSF 3,5 2. krok – v registru TRIS A nastavíme bit 0 do L BSF 3,5 BCF 5,0 03 RP0 = H stránka 1 RP0 = L stránka 0
Inicializace portů v assembleru PIC16F84A MOVLW – zapíše do pracovního registru W celý byte MOVWF f – přepíše obsah pracovního registru W do registru f registr STATUS Příklad – nastavení celého portu B jako výstup: 1. krok - volba Stránky 1: v registru STATUS nastavíme bit 5 (RP0) do H 2. krok – do pracovního registru W zapíšeme b´0000 0000´ 3. Krok – obsah registru W přepíšeme do TRIS B BSF 3,5 ; stránka 1 MOVLW b‘0000000‘ ; binární číslo do W MOVWF 6 ; nastavení portu A 03 RP0 = H stránka 1 RP0 = L stránka 0
Inicializace portů ve vyšším programovacím jazyku ATmega328 – vývojová deska ARDUINO Uno R3 pracovní napětí: 5V vstupní napětí: 7-12V vstupní napětí max.: 6-20V I/O Piny: 14 (6 použitelných jako PWM výstup) analogové vstupy: 6 DC proud na pin: 40 mA flash: 32 KB SRAM 2 KB EEPROM 1 KB krystal: 16 MHz
Inicializace portů ve vyšším programovacím jazyku ATmega328 – vývojová deska ARDUINO Uno R3 Program obsahuje základní bloky: void setup() – volá se pouze jednou před spuštěním používá se k inicializaci portů, komunikace apod. void loop() - obsahuje obsahuje programový kód, který bude opakovaně prováděn v nekonečné smyčce
Inicializace portů ve vyšším programovacím jazyku ATmega328 – vývojová deska ARDUINO Uno R3 digitalWrite(pin, value) - nastaví zadaný digitální pin na HIGH nebo LOW úroveň. Číslo pinu může být zadáno buď jako proměnná nebo jako konstanta (0-13).
Prostředí ARDUINO ATmega328 – vývojová deska ARDUINO Uno R3 IDE - integrované vývojové prostředí kontrola kódu překlad a upload nový program otevření programu uložení programu
Použité zdroje Arduino - příručka programátora. In: HobbyRobot [online]. [cit. 2014-04-27]. Dostupné z: http://www.hobbyrobot.cz/wp-content/uploads/ArduinoPriruckaProgramatora.pdf HRBÁČEK, Jiří. Moderní učebnice programování jednočipových mikrokontrolérů PIC. 1. vyd. Praha: BEN - technická literatura, 2004, 85 s. ISBN 80-730-0136-5. Language Reference. In: Arduino [online]. [cit. 2014-04-27]. Dostupné z: http://arduino.cc/en/Reference/HomePage PIC krok za krokem. In: ASIX [online]. [cit. 2014-04-27]. Dostupné z: http://asix.cz/download/museum/other/pic_krok_za_krokem.pdf Programujeme Arduino. In: HW Kitchen [online]. [cit. 2014-04-27]. Dostupné z: http://www.hwkitchen.com/news/a2-programujeme-arduino/