Mikrokontrolér je riadiace zariadenie, ktoré obsahuje množstvo periférií ako RAM, ROM TIMERS, sériová dátová komunikácia , atď., ktoré sú potrebné na vykonávanie niektorých vopred určených úloh. V dnešnej dobe pokročilý typ mikrokontrolérov sa používajú v širokej škále aplikácií podľa ich schopností a uskutočniteľnosti na vykonávanie niektorých požadovaných úloh a medzi tieto radiče patrí 8051, mikrokontrolér AVR a PIC . V tomto článku sa dozvieme o pokrokovom mikrokontroléri rodiny AVR a jeho programovaní .
Mikrokontrolér AVR
AVR je typ ovládacieho zariadenia vyrobeného spoločnosťou Atmel Corporation v roku 1996. AVR nestojí za nič, je to len meno. AVR mikrokontroléry pozostávajú z architektúry Harvard , a preto zariadenie beží veľmi rýchlo so zníženým počtom pokynov na úrovni stroja (RISC). Mikrokontroléry AVR pozostávajú zo špeciálnych funkcií v porovnaní s inými mikrokontrolérmi, ako sú napríklad režimy 6 spánku, zabudovaný ADC, interný oscilátor a sériová dátová komunikácia atď. Mikrokontroléry AVR sú k dispozícii v rôznych konfiguráciách 8-bitových, 16-bitových a 32-bitových na vykonávanie rôznych operácií.
Mikrokontrolér AVR
USART sériová dátová komunikácia v mikrokontroléri AVR
USART znamená univerzálny synchrónny a asynchrónny prijímač a vysielač. Jedná sa o sériovú komunikáciu dvoch protokolov. Tento protokol sa používa na vysielanie a príjem dát po bitoch, pokiaľ ide o hodinové impulzy, na jednom vodiči. The Mikrokontrolér AVR má dva piny: TXD a RXD, ktoré sa špeciálne používajú na sériový prenos a príjem dát. Akýkoľvek mikrokontrolér AVR pozostáva z protokolu USART s vlastnými vlastnosťami.
Komunikácia USART v mikrokontroléri AVR
Hlavné vlastnosti programu AVR USART
- Protokol USART podporuje protokol s úplným duplexom.
- Generuje prenosovú rýchlosť s vysokým rozlíšením.
- Podporuje prenos sériových dátových bitov od 5 do 9 a skladá sa z dvoch stop bitov.
Konfigurácia kolíka USART
USART AVR sa skladá z troch pinov:
- RXD: Pin prijímača USART (ATMega8 PIN 2 ATMega16 / 32 Pin 14)
- TXD: Pin vysielača USART (ATMega8 PIN 3 ATMega16 / 32 Pin 15)
- XCK: USART hodinový pin (ATMega8 PIN 6 ATMega16 / 32 Pin 1)
Prevádzkové režimy
Mikrokontrolér AVR protokolu USART pracuje v troch režimoch, ktoré sú:
- Asynchrónny normálny režim
- Asynchrónny režim dvojnásobnej rýchlosti
- Synchrónny režim
Prevádzkové režimy
Asynchrónny normálny režim
V tomto režime komunikácie sa dáta prenášajú a prijímajú po bitoch bez hodinových impulzov preddefinovanou prenosovou rýchlosťou nastavenou registrom UBBR.
Asynchrónny režim dvojnásobnej rýchlosti
V tomto režime komunikácie sa dáta prenášané s dvojnásobnou prenosovou rýchlosťou nastavujú v registri UBBR a nastavujú sa bity U2X v registri UCSRA. Toto je vysokorýchlostný režim pre synchrónnu komunikáciu pre rýchly prenos a príjem dát. Tento systém sa používa tam, kde je potrebné presné nastavenie prenosovej rýchlosti a času systému.
Synchrónny režim
V tomto systéme je vysielanie a príjem údajov týkajúcich sa hodinového impulzu nastavený na UMSEL = 1 v registri UCSRC.
Konfigurácia USART V mikrokontroléri AVR
USART je možné nakonfigurovať pomocou piatich registrov ako napr tri kontrolné registre , jeden dátový register a register pre prenosovú rýchlosť, napríklad UDR, UCSRA, UCSRB, UCSRC a UBRR.
7 krokov pre zostavenie programu
Krok 1: Vypočítajte a nastavte prenosovú rýchlosť
Prenosovú rýchlosť USART / UART určuje registrátor UBRR. Tento register sa používa na generovanie dátového prenosu špecifickou rýchlosťou. UBRR je 16-bitový register. Pretože AVR je 8-bitový mikrokontrolér a jeho ľubovoľná veľkosť registra je 8-bitová. Preto tu 16-bitový UBRR register pozostáva z dvoch 8-bitových registrov, ako sú UBRR (H), UBRR (L).
Vzorec prenosovej rýchlosti je
BAUD = tmavý / (16 * (UBBR + 1))
Vzorec registra UBRR je
UBRR = tmavý / (16 * (BAUD-1))
Frekvencia mikrokontroléra AVR je 16MHz = 16000000. Predpokladajme prenosovú rýchlosť ako 19200 Bps, potom
UBRR = 16000000 / (16 * (19200-1))
UBRR = 16000000 / (16 * (19200-1))
UBRR = 51,099
Nakoniec nájdite prenosovú rýchlosť
BAUD = 16000000 / (16 * (51 + 1))
UBRR = 19230 bps
Krok 2: Výber dátového režimu
Režim prenosu dát, štartovací a stop bit a veľkosť znaku je nastavená riadiacim a stavovým registrom UCSRC.
Výber dátového režimu
Krok 3: Výber režimu prenosu údajov
Synchrónny a asynchrónny režim je vybraný bitom UMSEL riadiaceho stavového registra. Ak dáme UMSEL = 0, potom USART pracuje v asynchrónnom režime, inak pracuje v synchrónnom režime.
Výber režimu prenosu údajov
Krok 4: Start Bit a Stop Bit
Počiatočný bit a stop bit sú spôsob sériového odosielania a prijímania údajov. Všeobecne sa akákoľvek dátová sláva skladá z jedného statického bitu a jedného stop bitu, ale mikrokontrolér AVR má jeden štartovací bit a dva stop bity na spracovanie údajov. Extra stop bit môže byť užitočný na pridanie trochu času navyše na spracovanie príjmu. Je to užitočné najmä pri vysokých rýchlostiach prenosu dát, zatiaľ čo rýchlosť prenosu dát je veľmi vysoká, takže nedostávame správne údaje. Môžeme teda predĺžiť čas spracovania pomocou dvoch stop bitov na získanie správnych údajov.
Start Bit a Stop Bit
Počet stop bitov je zvolený bitom USBS UCSRC - riadiacim stavovým registrom. USBS = 0 pre jeden stop bit a USBS = 1 pre dva stop bity.
Krok 5: Nastavte veľkosť znakov
Rovnako ako v prípade základné mikrokontroléry odosielanie a prijímanie bajtu dát (8-bitov) naraz, či už v mikrokontroléri AVR, môžeme zvoliť formát dátového rámca v každom rámci bitom UCSZ registra UCSRC.
Formát dátového rámca
Krok 6: Uložte prijaté údaje
Mikrokontrolér AVR pozostáva z registra vyrovnávacej pamäte UDR na vysielanie a príjem dát. UDR je 16-bitový medzipamäťový register, kde sa na príjem (RXB) dát používa 8 bitov a na prenos dát (TXB) sa používajú ďalšie bity. Vysielací register medzipamäte údajov bude cieľom do registra UDR pre zapísané údaje o jeho umiestnení. Prijímajúci register vyrovnávacej pamäte údajov vráti obsah registra UDR.
Krok 7: Povolenie vysielača a prijímača
Vysielané a prijímané údaje budú umožnené pinmi RXC a TXC mikrokontroléra, ktoré sú nastavené v registri UCSRA mikrokontroléra. Tento príznakový bit nastavený mikrokontrolérom pre dáta sa dokončí prijatím a vysielaním (TXC = RXC = 1).
Zdvojnásobte prenosovú rýchlosť
Môžeme zdvojnásobiť rýchlosť prenosu USART komunikácie AVR mikrokontrolér od 16 bitov do 8 bitov efektívne pomocou U2X –bit v registri UCSRA. Tento bit ovplyvňuje iba asynchrónnu prevádzku. Ak môžeme nastaviť tento bit (U2X = 1), zníži sa prenosová rýchlosť zo 16-bitovej na 8-bitovú, čím sa efektívne zdvojnásobí prenosová rýchlosť pre synchrónnu komunikáciu.
Toto je pokročilá vlastnosť mikrokontroléra AVR na rýchle spracovanie údajov.
Program USART
Každý mikrokontrolér je preddefinovaný konkrétnym IDE a na základe tohto IDE mikrokontroléry sú programované so zabudovaným C. alebo montážny jazyk. Programovanie mikrokontrolérov AVR vyvíja štúdio AVR. Ďalej, ak chcete ďalšie informácie o kroky na vybudovanie projektov založených na mikrokontroléroch alebo podrobné informácie o tejto téme nás môžete kontaktovať prostredníctvom komentárov uvedených nižšie.