Mikrokontroler je upravljački uređaj koji sadrži brojne periferne uređaje poput RAM-a, ROM TIMERA, serijska komunikacija podataka itd., koji su potrebni za izvršavanje nekih unaprijed definiranih zadataka. Ovih dana, napredni tip mikrokontrolera koriste se u širokom spektru aplikacija prema njihovoj sposobnosti i izvedivosti za obavljanje nekih željenih zadataka, a ovi kontroleri uključuju 8051, AVR i PIC mikrokontroler . U ovom ćemo članku naučiti o naprednom mikrokontroleru obitelji AVR i njegovom programiranju .
AVR mikrokontroler
AVR je vrsta uređaja za upravljanje koji je proizvela tvrtka Atmel Corporation 1996. AVR ne znači ništa, to je samo ime. AVR mikrokontroleri se sastoje od arhitekture Harvarda , i stoga uređaj radi vrlo brzo sa smanjenim brojem uputa na razini stroja (RISC). Mikrokontroleri AVR sastoje se od posebnih značajki u usporedbi s drugim mikrokontrolerom, kao što su 6 načina mirovanja, ugrađeni ADC, interni oscilator i serijska komunikacija podataka, itd. AVR mikrokontroleri dostupni su u različitim konfiguracijama od 8-bitnih, 16-bitnih i 32-bitnih za obavljanje različitih operacija.
AVR mikrokontroler
USART serijska komunikacija podataka u AVR mikrokontroleru
USART označava univerzalni sinkroni i asinkroni prijemnik i odašiljač. To je serijska komunikacija dvaju protokola. Ovaj se protokol koristi za prijenos i primanje podataka bit po bit s obzirom na impulse takta na jednoj žici. The AVR mikrokontroler ima dva pina: TXD i RXD, koji se posebno koriste za serijski prijenos i primanje podataka. Bilo koji AVR mikrokontroler sastoji se od USART protokola sa svojim značajkama.
USART komunikacija u AVR mikrokontroleru
Glavne značajke AVR USART-a
- USART protokol podržava full-duplex protokol.
- Generira brzinu prijenosa podataka u visokoj razlučivosti.
- Podržava prijenos serijskih podatkovnih bitova od 5 do 9, a sastoji se od dva zaustavna bita.
USART konfiguracija pin-a
USART AVR-a sastoji se od tri igle:
- RXD: USART pin prijemnika (ATMega8 PIN 2 ATMega16 / 32 Pin 14)
- TXD: USART pin predajnika (ATMega8 PIN 3 ATMega16 / 32 Pin 15)
- XCK: USART pin za sat (ATMega8 PIN 6 ATMega16 / 32 Pin 1)
Načini rada
Mikrokontroler AVR protokola USART radi u tri načina:
- Asinkroni normalni način rada
- Asinkroni način dvostruke brzine
- Sinkroni način rada
Načini rada
Asinkroni normalni način rada
U ovom načinu komunikacije, podaci se prenose i primaju bit po bit bez impulsa takta unaprijed definiranom brzinom prijenosa postavljenom UBBR registrom.
Asinkroni način dvostruke brzine
U ovom načinu komunikacije podatke koji se prenose dvostrukom brzinom prijenosa postavlja UBBR registar i postavlja U2X bitove u UCSRA registru. Ovo je način brze sinhrone komunikacije za brzi prijenos i primanje podataka. Ovaj se sustav koristi tamo gdje su potrebne točne postavke brzine prijenosa i sistemski sat.
Sinkroni način rada
U ovom je sustavu prijenos i primanje podataka s obzirom na impuls takta postavljen UMSEL = 1 u UCSRC registru.
USART konfiguracija u AVR mikrokontroleru
USART se može konfigurirati pomoću pet registara kao što su tri kontrolna registra , jedan registar podataka i registar odabira brzine prijenosa, kao što su UDR, UCSRA, UCSRB, UCSRC i UBRR.
7 koraka za sastavljanje programa
Korak 1: Izračunajte i postavite brzinu prijenosa
Brzinu prijenosa podataka USART / UART postavlja UBRR matičar. Ovaj se registar koristi za generiranje prijenosa podataka određenom brzinom. UBRR je 16-bitni registar. Budući da je AVR 8-bitni mikrokontroler i bilo koja njegova veličina registra je 8-bitna. Stoga se ovdje 16-bitni UBRR registar sastoji od dva 8-bitna registra, poput UBRR (H), UBRR (L).
Formula brzine prijenosa je
BAUD = Tamno / (16 * (UBBR + 1))
Formula UBRR registra je
UBRR = Tamno / (16 * (BAUD-1))
Frekvencija AVR mikrokontrolera je 16MHz = 16000000 Pretpostavimo brzinu prijenosa podataka kao 19200Bps, a zatim
UBRR = 16000000 / (16 * (19200-1))
UBRR = 16000000 / (16 * (19200-1))
UBRR = 51.099
Na kraju pronađite brzinu prijenosa
BAUD = 16000000 / (16 * (51 + 1))
UBRR = 19230bps
Korak 2: Odabir načina podataka
Način prijenosa podataka, početni bit i zaustavni bit i veličina znaka postavljaju kontrolni i statusni registar UCSRC.
Odabir načina podataka
Korak 3: Odabir načina prijenosa podataka
Sinkroni i asinkroni način rada odabire UMSEL bit registra statusa upravljanja. Ako damo UMSEL = 0, tada USART djeluje u asinkronom načinu, u suprotnom djeluje u sinkronom načinu.
Odabir načina prijenosa podataka
Korak 4: Start Bit i Stop Bit
Početni bit i zaustavni bitovi način su serijskog slanja i primanja podataka. Općenito se svaka slava podataka sastoji od jednog statističkog bita i jednog zaustavnog bita, ali AVR mikrokontroler ima jedan startni bit i dva zaustavna bita za obradu podataka. Dodatni zaustavni bit može biti koristan za dodavanje malo dodatnog vremena obrade prijema. Posebno je korisno za velike brzine prijenosa podataka, dok je brzina prijenosa podataka vrlo velika, pa ne dobivamo odgovarajuće podatke. Dakle, možemo povećati vrijeme obrade pomoću dva zaustavna bita za dobivanje ispravnih podataka.
Start Bit i Stop Bit
Broj zaustavnih bitova odabire USBS bit UCSRC - registar kontrolnog statusa. USBS = 0, za jedan zaustavni bit, i USBS = 1, za dva zaustavna bita.
Korak 5: Postavite veličinu znakova
Kao u slučaju s osnovni mikrokontroleri slanje i primanje bajta podataka (8-bitnih) odjednom, bilo u AVR mikrokontroleru, možemo odabrati format podatkovnog okvira u svakom okviru pomoću UCSZ bita registra UCSRC.
Format okvira podataka
Korak 6: Spremite primljene podatke
Mikrokontroler AVR sastoji se od registra međuspremnika UDR za prijenos i primanje podataka. UDR je 16-bitni registar međuspremnika u kojem se 8-bitovi koriste za primanje (RXB) podataka, a ostali bitovi za prijenos podataka (TXB). Prenos registra međuspremnika podataka bit će odredište UDR registru za pisane podatke o njegovom mjestu. Primanje registra međuspremnika podataka vratit će sadržaj UDR registra.
Korak 7: Omogućavanje odašiljača i prijemnika
Preneseni i primljeni podaci dopustit će RXC i TXC pinovi mikrokontrolera koji su postavljeni UCSRA registrom mikrokontrolera. Ovaj bit oznake koji je mikrokontroler postavio za podatke dovršava se primanjem i prijenosom (TXC = RXC = 1).
Udvostručite brzinu prijenosa
Možemo udvostručiti brzinu prijenosa USART komunikacije AVR-a mikrokontroler od 16 do 8 bita učinkovito U2X -bitom u registru UCSRA. Ovaj bit djeluje samo na asinkroni rad. Ako možemo postaviti ovaj bit (U2X = 1), to će smanjiti brzinu prijenosa podataka sa 16-bitnih na 8-bitne, učinkovito udvostručujući brzinu prijenosa za sinkronu komunikaciju.
Ovo je napredna značajka AVR mikrokontrolera za brzu obradu podataka.
USART program
Svaki mikrokontroler unaprijed je definiran s određenim IDE-om, a na temelju ovog IDE-a, mikrokontroleri su programirani s ugrađenim C ili asemblerski jezik. Programiranje AVR mikrokontrolera razvija AVR studio. Nadalje, ako želite dodatne informacije o koraci za izgradnju projekata temeljenih na mikrokontroleru , ili detaljne informacije o ovoj temi, možete nas kontaktirati komentarom u nastavku.