RS232 - příklad


Opakování

  V minulém díle jsme si řekli něco o hardwaru pro komunikaci nejen procesorů, ale jakékoli techniky pracující v úrovních TTL, a možnostech převodu úrovní. Dozvěděli jsme se, že pro možnost komunikace je nutné převést úrovně RS232 na TTL. (Později budeme také hovořit o RS422 a RS485).

Ještě neco k HARDWARE

   V minulém díle jsme si dále popsali registry potřebné pro využití sériové komunikace s procesory 8051. Byly to registry TCON, TMOD, PCON a samozřejmě vysílací/přijímací registr (buffer) SBUF. Dnes si ukážeme praktickou realizaci takové komunikace.

   Pro vyzkoušení komunikace lze využít jakýkoli klon procesoru s jádrem 51, který disponuje sériovým kanálem. Já jsem zvolil levnou a běžně dostupnou variantu a to AT89C2051

    Zkušební zapojení není nijak složité. Sestává z vlastního procesoru, oscilátoru, resetovacího obvodu ( zde RC článku).


kliknutím na obrázek zobrazíte jeho plnou velikost

  K převodu úrovní použijeme přípravek z minulého dílu. Jako propojovací kablík se výborně hodí například kabel z vyřazené myši, případně si vyrobíme vlastní

Konečně k programování

  V tomto díle bude popsána pouze komunikace z procesoru. Druhý případ, tedy využití linky Rx lze analogicky z tohoto vyvodit. Jediný rozdíl je v tom že nekontrolujeme příznak TI, ale RI.

ZDROJOVÝ KÓD KE STAŽENÍ: ASM / PDF

  Tento jednoduchý prográmek odesílá posloupnost znaků AHOJAHOJ… rychlostí 9600 baudů při krystalu 9,216 MHz. Při použití jiného krystalu je nutné přepočítat hodnotu TH1 (popř. TL1), popř SMOD (nejvyšší platný byt v registru PCON)

přenosová rychlost = (2SMOD/32) · [fosc / 12 · (256 - TH1) ]

  Výsledek celé práce si můžeme prohlédnout například v Hyperterminálu, kde nastavíme příslušné parametry portu (9600, 8 bitů, bez parity, 1 stop bit, bez hardwarového řízení).


Komentovat článek

Jméno:  
Zpráva:

Komentáře k článku

článek zatím nikdo nekomentoval