IMiO PW, LPTM, wiczenie 6, Komunikacja z komputerem -1- wiczenie 6. Komunikacja z komputerem (cze RS232)

Podobne dokumenty
MIKROPROCESORY architektura i programowanie

Architektura mikrokontrolera MCS51

Architektura mikrokontrolera MCS51

MIKROPROCESORY architektura i programowanie

TECHNIKA MIKROPROCESOROWA

Hardware mikrokontrolera X51

Ćwiczenie 6 Komunikacja z komputerem (łącze RS232)

Instytut Teleinformatyki

4 Transmisja szeregowa na przykładzie komunikacji dwukierunkowej z komputerem PC, obsługa wyświetlacza LCD.

ĆWICZENIE 5. TEMAT: OBSŁUGA PORTU SZEREGOWEGO W PAKIECIE KEILuVISON WYSYŁANIE PORTEM SZEREGOWYM

Obszar rejestrów specjalnych. Laboratorium Podstaw Techniki Mikroprocesorowej Instytut Mikroelektroniki i Optoelektroniki PW

Opis mikrokontrolera 8051 Lista rozkazowa Timery

4 Transmisja szeregowa, obsługa wyświetlacza LCD.

wiczenie 5 Woltomierz jednokanaowy

Ćw. 5. Obsługa portu szeregowego UART w mikrokontrolerach 8051.

Start Bity Bit Stop 1 Bit Par Rys. 1

ad a) Konfiguracja licznika T1 Niech nasz program składa się z dwóch fragmentów kodu: inicjacja licznika T1 pętla główna

Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury

Przerwania w architekturze mikrokontrolera X51

Technika mikroprocesorowa I Wykład 4

Zerowanie mikroprocesora

Ćwiczenie 9 Częstościomierz oparty na µc 8051(8052)

CYKL ROZKAZOWY = 1 lub 2(4) cykle maszynowe

wiczenie 4 Klawiatura i wywietlacz ciekokrystaliczny Warszawa,

Ćwiczenie 2 Transmisja a szeregowa µc 8051(8052) - PC

Temat: Obsługa portu komunikacji szeregowej RS232 w systemie STRC51. Ćwiczenie 2. (sd)

Systemy wbudowane. Wprowadzenie. Wprowadzenie. Mikrokontroler 8051 Budowa

Pracownia elektryczno-elektroniczna klasa IV

Opis mikrokontrolera AT89C2051

1.1 MIKROKONTROLER Informacje ogólne

ARKUSZ EGZAMINACYJNY ETAP PRAKTYCZNY EGZAMINU POTWIERDZAJ CEGO KWALIFIKACJE ZAWODOWE CZERWIEC 2014

SYSTEM PRZERWA Ń MCS 51

Interfejsy transmisji szeregowej: RS-232, RS-485, I2C, SPI, CAN

Mikrokontroler ATmega32. Tryby adresowania Rejestry funkcyjne

Programowanie mikrokontrolerów. 8 listopada 2007

Instytut Teleinformatyki

Programowanie mikrokontrolerów. 15 stycznia 2008

Informacje ogólne o układzie 8051.

Techniki mikroprocesorowe i systemy wbudowane

Badanie modułów wewnętrznych mikrokontrolera 311[07].Z4.02

architektura komputerów w 1 1

dokument DOK wersja 1.0

Rys1. Schemat blokowy uk adu. Napi cie wyj ciowe czujnika [mv]

Mikrokontroler ATmega32. System przerwań Porty wejścia-wyjścia Układy czasowo-licznikowe

Pytka PicBoard2. Pytka prototypowa wspópracuje z programatorami JuPic, PicLoad, ICD, ICD2. Opis pytki

Ćwiczenie 2. Siedmiosegmentowy wyświetlacz LED

Ćwiczenie 30. Techniki mikroprocesorowe Programowanie w języku Asembler mikrokontrolerów rodziny '51

Ćwiczenie 7 Matryca RGB

Sterowanie prac plotera w układach logiki programowalnej

Praktyka Techniki Mikroprocesorowej. Mikrokontroler ADuC834

TECHNIKA MIKROPROCESOROWA

Komunikacja w mikrokontrolerach Laboratorium

MIERNIKA PROMIENIOWANIA UV typu: UVC-254

FORTECA DF - terminal kasowy

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

Mikroprocesorowy panel sterowania wentylatorami

2. Architektura mikrokontrolerów PIC16F8x... 13

Pamięci EEPROM w systemach mikroprocesorowych, część 2

Komunikacja w mikrokontrolerach Laboratorium

MOBILNY SYSTEM ODCZYTU SIECI RADIOMODEMÓW 433MHz OPIS TECHNICZNY

obsług dowolnego typu formularzy (np. formularzy ankietowych), pobieranie wzorców formularzy z serwera centralnego,

Program SMS4 Monitor

INTERFEJSY SYSTEMÓW ELEKTRONICZNYCH. Interfejsy klasy RS

Ćwiczenie 1 Wędrujące światełko

SML3 październik

Instytut Teleinformatyki

organizacja procesora 8086

Pytka PicBoard1. Pytka prototypowa wspópracuje z programatorami JuPic, PicLoad, ICD, ICD2. Opis pytki

Systemy wbudowane Mikrokontrolery

Układ transmisji szeregowej AVR

Mikrokontroler 80C51/52

MIKROKOMPUTERY JEDNOUKŁADOWE RODZINY MCS - 51

Instrukcja do oprogramowania ENAP DEC-1

Instrukcja dla pracowników Uniwersytetu Rzeszowskiego.

1.2 Schemat blokowy oraz opis sygnałów wejściowych i wyjściowych

Mikrokontroler Intel dr inż. Wiesław Madej

Ogólne przeznaczenie i możliwości interfejsu sieciowego przepływomierza UniEMP-05 z protokołem MODBUS. ( )

Opis procedur asemblera AVR

Laboratorium elektryczne. Falowniki i przekształtniki - I (E 14)

System midzybankowej informacji gospodarczej Dokumenty Zastrzeone MIG DZ ver Aplikacja WWW ver. 2.1 Instrukcja Obsługi

Instrukcja obsługi programu Pilot PS 5rc

Zadania do wykonaj przed przyst!pieniem do pracy:

interfejs szeregowy wyświetlaczy do systemów PLC

3.2. Zegar/kalendarz z pamięcią statyczną RAM 256 x 8

Aby w pełni przetestować układ o trzech wejściach IN_0, IN_1 i IN_2 chcemy wygenerować wszystkie możliwe kombinacje sygnałów wejściowych.

Organizacja typowego mikroprocesora

Rejestry procesora. Nazwa ilość bitów. AX 16 (accumulator) rejestr akumulatora. BX 16 (base) rejestr bazowy. CX 16 (count) rejestr licznika

s FAQ: NET 08/PL Data: 01/08/2011

Eugeniusz ZIÓŁKOWSKI 1 Wydział Odlewnictwa AGH, Kraków

MODBUS RTU wersja M1.14 protokół komunikacyjny wyświetlaczy LDN

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Tytuł: Instrukcja obsługi Modułu Komunikacji internetowej MKi-sm TK / 3001 / 016 / 002. Wersja wykonania : wersja oprogramowania v.1.

Instrukcja Obsugi Programu

PRUS. projekt dokumentacja końcowa

MODUŁ PAMICI VIDEO. Nr Ref. 1082/88

Zagadnienia zaliczeniowe z przedmiotu Układy i systemy mikroprocesorowe elektronika i telekomunikacja, stacjonarne zawodowe

Liczniki, rejestry lab. 08 Mikrokontrolery WSTĘP

Podział Internetu radiowego WIFI konfiguracja

Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej

Spis treci. Dzie 1. I Omówienie sprztu serii S7-300/400 (wersja 0904) II Instalacja urzdze S7 (wersja 0807) Kurs Diagnostyka Zaawansowana S7

Transkrypt:

IMiO PW, LPTM, wiczenie 6, Komunikacja z komputerem -1- wiczenie 6 Komunikacja z komputerem (cze RS232)

IMiO PW, LPTM, wiczenie 6, Komunikacja z komputerem -2-1. Cel wiczenia Celem!wiczenia jest zapoznanie si# z portem szeregowym mikrokontrolera 8051/52 oraz sposobem oprogramowywania tego portu. 2. Opis portu szeregowego 8051 Klasyczne mikrokomputery 8051/52 maj, port szeregowy (UART), umo2liwiaj,cy szeregowe przesy3anie informacji (8-bitowych s3ów danych) liniami portu P3: RxD (P3.0 - wej<cie szeregowe) i TxD (P3.1 - wyj<cie szeregowe). Port mo2e pracowa! w jednym z czterech trybów (Tabela 1). Zamiana postaci danych z równoleg3ej na szeregow, i odwrotnie oraz sterowanie wysy3aniem s3owa odbywa si# automatycznie. Dane odebrane przez port szeregowy s, zapisywane do rejestru wej<ciowego transmisji szeregowej, dane wysy3ane s, pobierane z rejestru wyj<ciowego transmisji szeregowej. Oba te rejestry s, umieszczone w przestrzeni adresowej wewn#trznej pami#ci danych jako rejestr specjalny SBUF, pod tym samym adresem 99H. Zapisanie danych do SBUF powoduje wpisanie ich do rejestru wyj<ciowego, natomiast odczytanie z SBUF powoduje odczytanie zawarto<ci rejestru wej<ciowego. Tabela 1. Tryby pracy portu szeregowego w 8051. Tryb SM0 SM1 Opis 0 0 0 Transmisja synchroniczna, znaki o<miobitowe taktowane sygna3em zegarowym. 1 0 1 Transmisja asynchroniczna, znaki o<miobitowe, szybko<! okre<lana programowo. 2 1 0 Transmisja asynchroniczna, znaku dziewi#ciobitowe, szybko<! 1/32 lub 1/64 cz#stotliwo<ci zegara. 3 1 1 Transmisja asynchroniczna, znaki dziewi#ciobitowe, szybko<! okre<lana programowo. Do kontroli pracy portu szeregowego s3u2y rejestr steruj,cy SCON (Rys.1.) znajduj,cy si# pod adresem 98H. Znaczenie poszczególnych bitów tego rejestru przedstawiono w Tabeli 2. SM0 SM1 SM2 REN TB8 RB8 TI RI Rys. 1. S3owo steruj,ce SCON SCON Tabela 2. S3owo steruj,ce SCON Bit Znaczenie SM0 definiuje tryb pracy (patrz Tabela 1) SM1 definiuje tryb pracy (patrz Tabela 1) SM2 Bit steruj,cy umo2liwiaj,cy tworzenie sieci zbudowanej z µc 8051 komunikuj,cych si# ze sob, w trybie 2 i 3. Je2eli SM2 = 1, to maskowane jest odebranie znaku, w którym D8 = 0 (znacznik RI

IMiO PW, LPTM, wiczenie 6, Komunikacja z komputerem -3- REN TB8 RB8 RI TI nie jest ustawiany, znak nie jest zapisywany do rejestru SBUF). Je2eli SM2 = 0, to warto<! dziewi,tego bitu (D8) nie jest istotna dla dzia3ania uk3adów transmisji szeregowej. Przed wys3aniem znaku warto<! tego bitu mo2e by! ustalana programowo i wpisywana do znacznika TB8, a po odebraniu znaku odczytywana ze znacznika RB8. Dla trybu 0 bit powinien by! wyzerowany. Ustawienie w stan 1 wcza (uaktywnia) odbiornik umo2liwia odbiór danych. Warto* bitu ustawiana programowo. Dziewi,ty bit danej, która ma zosta! wys3ana w trybach 2 i 3, zmieniany programowo. Dziewi,ty bit odebranego znaku (tryb 2 i 3). W trybie pierwszym bit przyjmuje warto<! odebranego bitu stopu (gdy SM2 = 0). W trybie 0 nie jest wykorzystywany. Zerowanie bitu odbywa si# programowo. Znacznik przerwania odbiornika. Znacznik jest ustawiany sprz#towo po odebraniu s3owa. Znacznik zerowany programowo. Znacznik przerwania nadajnika. Znacznik jest ustawiany po wys3aniu s3owa. Znacznik zerowany programowo. 2.1. Tryby pracy portu szeregowego Tryb 0 (synchroniczny) W trybie 0 port szeregowy pracuje jako nadajnik lub odbiornik 8-bitowych s3ów szeregowych (pierwszy bit najmniej znacz,cy). S3owa te s, przesy3ane po linii P3.0 (RxD) w obie strony, a odbierane lub nadawane przez zewn#trzny rejestr przesuwaj,cy, taktowany sygna3em zegarowym wysy3anym na lini# P3.1 (TxD) (Rys.2.). Cz#stotliwo<! sygna3u taktuj,cego wynosi f XTAL /12. Wys3anie znaku jest inicjowane przez wykonanie dowolnego rozkazu, który wpisuje dane do rejestru SBUF. ZakoIczenie wysy3ania znaku powoduje ustawienie znacznika TI w rejestrze SCON. Odebranie ca3ego znaku powoduje ustawienie znacznika RI w rejestrze SCON (Rys.3). Ustawienie znacznika TI lub RI jest sygna3em zg3oszenia przerwania z portu szeregowego. Przyj#cie tego przerwania (gdy nie jest ono zamaskowane) nie powoduje automatycznego wyzerowania znaczników, a zatem ich stan mo2e by! w programie obs3ugi odczytany w celu identyfikacji przyczyny przerwania. Znaczniki powinny zosta! wyzerowane programowo. Rys. 2. Przyk3adowe wykorzystanie portu szeregowego 8051 w Trybie 0.

IMiO PW, LPTM, wiczenie 6, Komunikacja z komputerem -4- Rys.3. Zale2no<ci czasowe portu szeregowego 8051 dla Trybu 0. Tryb 1 (asynchroniczny) - zapewnia realizacj# standardowej, dupleksowej transmisji asynchronicznej w formacie: bit START, 8 bitów danych (pierwszy LSB), bit STOP (Rys.4.). Dane s, wysy3ane lini, TxD, a odbierane lini, RxD (Rys.6.). Podczas odbioru bit stopu zostaje zapisany na bicie RB8 rejestru SCON. Sygna3em taktuj,cym uk3ad transmisji szeregowej (zegarem transmisji) jest sygna3 przepe3nienia licznika T1 z uk3adu czasowo licznikowego. Szybko<! transmisji jest wi#c programowalna zgodnie z zale2no<ci,: f SMOD 2 fosc = 32 12 256 ( TH1) SMOD jest najstarszym bitem rejestru specjalnego PCON (niedost#pnego bitowo). Symbol PCON nie jest zdefiniowany w asemblerze, zatem trzeba ten symbol zdefiniowa! lub pos3u2y! si# adresem tego rejestru (87H). Cz#stotliwo<! oscylatora f osc = 11,059 MHz. TH1 to jeden z dwóch rejestrów licznika T1, taktuj,cego szeregowy przesy3 danych. Rys.4. Rys.3. Zale2no<ci czasowe portu szeregowego 8051 dla Trybu 1. Tryb 2 (asynchroniczny) - dane s, wysy3ane lini, TxD, a odbierane lini, RxD. Transmisja danych odbywa si# w porcjach 11-bitowych: bit startu (0), 8 bitów danych (pierwszy LSB), programowalny 9-ty bit danych, oraz bit stopu (1) (Rys.5.). Przy wysy3aniu danych 9-ty bit danych pochodzi z bitu TB8 rejestru specjalnego SCON (bitowi temu mo2na programowo

IMiO PW, LPTM, wiczenie 6, Komunikacja z komputerem -5- nada! odpowiedni, warto<!). Podczas odbioru 9-ty bit danych jest zapisywany do bitu RB8. Cz#stotliwo<! transmisji jest równa 1/32 lub 1/64 cz#stotliwo<ci oscylatora: f 2 = 64 SMOD f osc Tryb 3 (asynchroniczny) - dane s, wysy3ane przez wyprowadzenie TxD, a odbierane z RxD. Przesy3 danych odbywa si# w porcjach 11-bitowych: bit startu (0), 8 bitów danych (najpierw LSB), programowalny 9-ty bit danych, oraz bit stopu (1). Przy wysy3aniu danych 9- ty bit danych pochodzi z bitu TB8 rejestru specjalnego SCON (bitowi temu mo2na programowo nada! odpowiedni, warto<!). Podczas odbioru 9-ty bit danych jest zapisywany do bitu RB8. Cz#stotliwo<! przesy3u jest regulowana tak samo jak w trybie 1. Rys.5. Rys.3. Zale2no<ci czasowe portu szeregowego 8051 dla Trybu 2,3. Uwaga: tryby 2 i 3 s3u2, do komunikacji wieloprocesorowej. 2.2. Przerwanie od portu szeregowego Port szeregowy zg3asza przerwanie w dwóch przypadkach: kiedy odebra3 bajt (znacznik RI) oraz kiedy zakoiczy3 wysy3anie bajtu (znacznik TI). Je2eli przerwanie jest uaktywnione to wówczas nast#puje sprz#towy skok pod adres 23H i tam powinien si# znalek! skok do procedury obs3ugi przerwania. Sens przerwania zwi,zanego z odbiorem jest oczywisty - port szeregowy musi bowiem poinformowa! mikrokontroler, 2e nale2y odczyta! odebrany bajt (bajt ten znajduje si# w rejestrze SBUF). Powód, dla którego zaimplementowano tak2e przerwanie zwi,zane z wysy3aniem bajtu jest nieco bardziej skomplikowany. Inicjacji transmisji dokonuje si# zapisuj,c bajt, który chcemy wys3a!, do rejestru SBUF. Z punktu widzenia szybko<ci dzia3ania mikrokontrolera komunikacja szeregowa jest procesem powolnym. Przy typowej szybko<ci transmisji 9600 bitów na sekund# wysy3anie jednego bajtu trwa ok 1 ms, tymczasem cykl maszynowy 8051 wynosi ok. 1 µs. Operacja zapisu bajtu do rejestru SBUF trwa jeden (mov SBUF, A) lub dwa (mov SBUF, # L ) cykle maszynowe. Zapisanie do rejestru SBUF kolejnego bajtu, zanim port zakoiczy3 transmisj# poprzedniego, spowodowa3oby przek3amania. Z zapisem nast#pnego bajtu trzeba zatem zaczeka! do momentu, kiedy zg3osi si# przerwanie zwi,zane z wysy3aniem znaku (znacznik TI), które informuje nas o tym, 2e poprzedni bajt zosta3 wys3any. Poniewa2 portowi szeregowemu przypisano tylko jeden wektor przerwania, programista musi mie! mo2liwo<! sprawdzenia w procedurze obs3ugi przerwania, z którym przypadkiem ma do czynienia (odbiór czy transmisja). Z tego wzgl#du znaczniki przerwania TI i RI nie s automatycznie zerowane po przyj#ciu przerwania. Je2eli RI = 1, to zg3osi3o si# przerwanie zwi,zane z odbiorem, a je2eli TI = 1, to zg3osi3o si# przerwanie zwi,zane z wys3aniem bajtu. Mo2e si# zdarzy!, 2e oba przerwania zg3osi3y si# jednocze<nie. Przed wyj<ciem z procedury obs3ugi przerwania nale2y wyzerowa! znaczniki przerwania, gdy2 w przeciwnym razie

IMiO PW, LPTM, wiczenie 6, Komunikacja z komputerem -6- program wejdzie z powrotem do procedury obs3ugi przerwania (znaczniki przerwai s, testowane w ka2dym cyklu maszynowym). Rys.6. Schemat po3,czenia portu szeregowego dla trybów 1,2,3. 3. Programowanie portu szeregowego 3.1. Programowanie rejestru SCON Komunikacja z komputerem narzuca nast#puj,ce za3o2enia: - port szeregowy musi pracowa! w trybie 1 lub 3, bo potrzebna jest regulowana cz#stotliwo<! przesy3u danych, wybieramy tryb 1, zatem SM0=0, SM1=1 - chcemy, aby przerwanie zwi,zane z odbiorem zosta3o zg3oszone tylko wtedy, kiedy bit stopu jest poprawny (RB8=1), zatem SM2=1 - chcemy mie! mo2liwo<! odbierania znaków, zatem REN=1 - nale2y wyzerowa! znaczniki przerwania, zatem TI=RI=0 - warto<ci bitów TB8 i RB8 nie maj, znaczenia Wykonujemy zatem instrukcj#: mov SCON, #01110000B 3.2. Programowanie licznika T1 Rejestr TMOD nie jest dost#pny bitowo: GAT E C/T M1 M0 GAT E C/T M1 M0 1444442444443 1444442444443 licznik T1 licznik T0 - bramkowanie licznika T1 nie jest potrzebne, zatem GATE=0 - licznik powinien zlicza! impulsy zegara, zatem C/T=0 - licznik powinien pracowa! w trybie 2 (8-bitowy z automatycznym prze3adowaniem), zatem M1=1, M0=0

IMiO PW, LPTM, wiczenie 6, Komunikacja z komputerem -7-0 0 1 0 x x x x 1444442444443 1444442444443 licznik T1 licznik T0 Je2eli do rejestru TMOD uprzednio wpisano warto<! okre<laj,c, konfiguracj# licznika T0 (przegl,danie klawiatury), to nale2y wykona! instrukcje: and TMOD,#0FH orl TMOD, #20H Przerwanie zwi,zane z licznikiem T1 nie jest nam potrzebne, wi#c trzeba je zdezaktywowa! (mog3oby si# przyda! tylko wtedy, gdyby potrzebna by3a tak niewielka szybko<! przesy3u, 2e licznik musia3by pracowa! jako 16-bitowy, konieczne by3oby wtedy programowe prze3adowanie licznika w procedurze obs3ugi przerwania), zatem ET1=0 (bit IE.3) clr ET1 3.3. Okre*lenie szybko*ci transmisji Zak3adamy, 2e ustalona szybko<! transmisji wynosi 9600 bitów/s, zatem SMOD=0, a warto<! rejestru TH1 wynosi FDH: mov 87H, #0 mov TH1, #0FDH Licznik musi zosta! uruchomiony: setb TR1 Aby mo2liwe by3o przyj#cie znaku, trzeba uaktywni! przerwanie zwi,zane z portem szeregowym: setb setb ES EA 3.4. Procedura inicjacji portu szeregowego Ostatecznie procedura inicjacji portu szeregowego ma nast#puj,c, posta!: Sport_Init: mov SCON, #01110000B ; zaprogramowanie portu szeregowego and TMOD,#0FH ;wyzerowanie programowania T1 orl TMOD, #20H ; zaprogramowanie licznika T1 mov TH1, #0FDH ; okre<lenie szybko<ci transmisji mov TL1, #0FDH mov 87H, #0 ; SMOD=0 clr ET1 ; dezaktywacja przerwai od T1 setb TR1 ; uruchomienie T1 setb TReady ; flaga definiowana przez u2ytkownika, informuje ;o tym czy port zakoiczy3 transmisj# bajtu setb EA ; globalna aktywacja przerwai setb ES ; aktywacja przerwania od portu szeregowego

IMiO PW, LPTM, wiczenie 6, Komunikacja z komputerem -8- ret 3.5. Procedura obsugi przerwania Procedura obs3ugi przerwania znajduje si# pod adresem 4023H org jmp RSInt: 4023H RSInt ;zachowanie kontekstu jb TI, transmisja ; obsluga odebranego znaku mov A, SBUF ; odczytanie znaku clr RI ; kasowanie znacznika przerwania zwi,zanego ;z odbiorem (receive) jmp RS_Exit transmisja: setb Tready clr TI ; kasowanie znacznika przerwania zwi,zanego z transmisj, RS_Exit: reti ; odtworzenie kontekstu 4. Zadanie do wykonania Wykorzystuj,c uprzednio napisany program obs3uguj,cy klawiatur# i wy<wietlacz ciek3okrystaliczny zrealizowa! dwukierunkow, komunikacj# systemu uruchomieniowego 8051 z komputerem poprzez port szeregowy. Na pocz,tku program u2ytkownika przesy3a do komputera napis pocz,tkowy (zdefiniowany przez u2ytkownika). Napis ten pojawi si# na ekranie komputera je2eli uprzednio za3adujemy program Tera Term. Po wy<wietleniu napisu pocz,tkowego program u2ytkownika przechodzi do normalnego trybu komunikacji, tj. znaki wprowadzone z klawiatury komputera PC maj, by! wy<wietlone na wy<wietlaczu LCD systemu uruchomieniowego (Tera Term automatycznie wysy3a te znaki przez port szeregowy komputera, mo2na je zatem odebra! przez port szeregowy 8051), natomiast znaki wprowadzone z klawiatury systemu maj, by! wy<wietlone zarówno na

IMiO PW, LPTM, wiczenie 6, Komunikacja z komputerem -9- wy<wietlaczu LCD, jak i na ekranie komputera (trzeba wys3a! te znaki przez port szeregowy 8051, wówczas Tera Term automatycznie odbierze je i poka2e na ekranie komputera). Na ocen2 bardzo dobr: Napisa! program wpisywania z terminala sta3ej 16-bitowej z mo2liwo<ci, edycji i rozpoznawaniem znaku ENTER (S1=). Przekszta3ci! wprowadzon, sta3, na posta! heksadecymaln, i wys3a! na terminal. UWAGA!!! Wysy3anie napisu pocz,tkowego mo2na zorganizowa! w taki sposób, 2e pierwszy znak napisu zapisywany jest do rejestru SBUF w programie g3ównym (mo2e to by! jaka< procedura), natomiast wszystkie pozosta3e w procedurze obs3ugi przerwania. Wysy3anie znaków do komputera w normalnym trybie komunikacji (za pomoc, klawiatury) jest nieco bardziej skomplikowane, bo procedura obs3ugi przerwania nie wie czy jest jaki< znak do wys3ania. Dlatego trzeba wprowadzi! flag# Tready, której stan informuje program g3ówny czy transmisja poprzedniego bajtu zosta3a zakoiczona, czy nie. W ten sposób decyzj# o tym, czy jest jaki< znak do wys3ania podejmuje procedura obs3ugi klawiatury, a w przypadku gdyby nale2a3o taki znak wys3a!, trzeba tylko przetestowa! flag# Tready, 2eby sprawdzi! czy port jest wolny. Po zapisaniu znaku do SBUF nale2y t# flag# wyzerowa!.