A mikrokontrollerek usart interfészének használata avr - mikrokontrollerek és technológiák

A mikrokontrollerek usart interfészének használata avr - mikrokontrollerek és technológiák
Az AVR mikrokontrollerek egy teljes duplex univerzális aszinkron UART adóvevő modulot tartalmaznak (a Mega univerzális szinkron / aszinkron adó-vevő USART családjában). Ez az adatokat fogadja és továbbítja egy szekvenciális kód által képviselt információval, így az UART modult gyakran soros portnak is nevezik. Ezzel a modulral a mikrokontroller különböző külső eszközökkel képes adatcserére.







Az UART csatornán továbbított adatok áramlása. egy parcellák vagy keretek gyűjteménye. Minden keret tartalmaz egy indítóbit, nyolc vagy kilenc adatbitet és egy stopbitet. A kezdeti bit logikai szintje 0, a stop bit logikai. Az adatátviteli sebesség nagymértékben változhat, a nagy átviteli sebességek pedig a mikrokontroller viszonylag alacsony órajelével is elérhetők.

Soros interfész adatcsere

Az UART modul által használt mikrokontroller kimenetek. a PD port vonala. A vevő (RXD) bemenetként a PD0 kimenetet használják, és az adó (TXD) kimenete a PD1 kimenet.

A beérkező és továbbított adatok (nyolc bit) az UDR regiszterben tárolódnak. Fizikailag az UDR két külön regiszterből áll, amelyek közül az egyiket adatátvitelre használják, a másik pedig a vételhez. Az UDR regiszter olvasásakor a vevőkészülék regiszterét a távadó regiszterére írva érheti el.

Rendelkezik az USART modulok vezérlésével az ATmega8 mikrokontroller példáján keresztül

Három regiszter használható az USART modulok kezelésére: UCSRA. UCSRB és UCSRC.

Az UCSRA nyilvántartás bitjeinek leírása.

Az órajel polaritása. Ennek a bitnek az értéke határozza meg azt az időt, amikor a modul kimenetet és adatokat olvas. Az ürítés csak szinkron üzemmódban működik. Amikor aszinkron üzemmódban dolgozik, vissza kell állítani "0"







USART fogadja / továbbítja a sebességet

Az aszinkron üzemmódban, valamint a szinkron üzemmódban, mikor mesterként működik, az adatvétel és -átvitel sebességét az átviteli sebességvezérlő állítja be, amely a rendszeróra programozható osztási tényezővel működik. Az együtthatót az UBRR szabályozó nyilvántartásának tartalma határozza meg. A generált jel azonnal elküldik a vevőegységnek, és az adóegységhez egy további osztó segítségével, amelynek (2, 8 vagy 16) osztási tényezője az USART / UART modul működési módjától függ. Az UBRR regiszter 12 bites, és fizikailag két UBRRH és UBRRL I / O regiszterben található.

Amikor aszinkron módban dolgozik, az adatcsere sebességét nem csak az UBRR regiszter tartalma határozza meg. hanem az UCSRA regiszter U2X bitjének állapota is. Ha ez a bit "1" -re van állítva, akkor a prescaler osztási tényezője felére csökken és a sebességet
cseréje megduplázódik. Ha szinkron üzemmódban működik, akkor ezt a bitet vissza kell állítani.

Az árfolyamot a következő képletek határozzák meg:

BAUD - baud rate, fCK - a mikrokontroller órajelsebessége, UBRR - a fordulatszám-szabályozó nyilvántartásának tartalma (0 ... 4095):

aszinkron üzemmód (normál, U2Xn = "0")
BAUD = fCK / 16 (UBRR + 1);

aszinkron üzemmód (gyorsított, U2Xn = "1")
BAUD = fCK / 8 (UBRR + 1);

szinkron mester módban
BAUD = fCK / 2 (UBRR + 1).

Az alábbiakban bemutatjuk az USART protokoll tanulmányozására szolgáló tesztprogramot, ahol az Atmega8 mikrokontroller kommunikál a terminállal, az áttekinthetőség érdekében az LCD 16X02 kijelző csatlakoztatva van a vezérlőhöz. Ha megnyomja az 1-3 gombokat, akkor a terminálon a megfelelő sorok jelennek meg, akkor is, ha az "a" vagy a "b" jelek a terminálra kerülnek, a vezérlő PB0 portjához csatlakoztatott LED világít vagy kilép. A terminálon megjelenített karakterek szintén megjelennek az LCD kijelzőn. A hardver teszteléséhez a mikrokontroller a MAX232 szintű átalakító chipen keresztül csatlakozik a számítógéphez, a Microsoft szabványos Hyper Terminal programját az adatcserére használják.

A mikrokontrollerek usart interfészének használata avr - mikrokontrollerek és technológiák

Archívum a cikkhez "Az AVR mikrokontrollerek USART interfészének használata" HOT

AVRStudio4 és Proteus projekt

A mikrokontrollerek usart interfészének használata avr - mikrokontrollerek és technológiák

A javasolt automata töltő (töltő) 12 V névleges feszültségű és 1 db kapacitású akkumulátorok töltésére szolgál, de enyhe módosítással más feszültségekkel és kapacitással rendelkező akkumulátorok töltésére is használható.




Kapcsolódó cikkek