Wyświetlacz LCD na RS-232
Układ jest uniwersalnym wyświetlaczem LCD sterowanym za pośrednictwem portu
RS-232. Dzięki zastosowaniu mikrokontrolera ATTINY2313 oraz konwertera
poziomow MAX232 układ mo\e być bezpośrednio podłączony do komputera.
Sterowanie wyświetlaczem odbywa się za pomocą programu przesyłającego kody
ASCI oraz specjalne instrukcje sterujące poło\eniem kursora i włączaniem
podświetlania, na port RS-232 (zamiast specjalnego programu mo\e być dowolny
terminal). Dodatkowo układ mo\e wspołpracować z innym mikrokontrolerem i słu\yć mu jako wyświetlacz
sterowany tylko za pomocą jednej linii sygnałowej. Jest to przydatne szczegolnie gdy chcemy zamontować
wyświetlacz kilkanaście metrow od głownego systemu mikroprocesorowego. Poniewa\ układ wyświetlacza
posiada dwukierunkowy interfejs szeregowy, istnieje mo\liwość podłączenia klawiatury i przesyłanie rozkazow
sterujących pracą urządzenia (od wyświetlacza do urządzenia) za pomocą dodatkowego przewodu.
Działanie:
Schemat ideowy układu został przedstawiony na rysunku poni\ej:
Sercem układu jest mikrokontroler U1 (ATTINY2313) wraz z rezonatorem kwarcowym X1 (16MHz) i dwoma
kondensatorami C1 (22pF) i C2 (22pF). Potencjomatr P1 (10k) umo\liwia regulację kontrastu wyświetlacza
LCD W1 (16x2). Tranzystor T1 (BC556) wraz z rezystorami R1 (3,3k) i R2 (3,3k) umo\liwia sterowanie
podświetlaniem LCD. Rezystor R3 (47R) ogranicza prąd obwodow podświetlania wyświetlacza W1.
Kondensatory C7 (100uF) i C8 (100nF) filtrują napięcie zasilania mikrokontrolera. Układ U2 (MAX232) jest
konwerterem napięć, dostosowuje on stany logiczne występujące na porcie RS-232 do standardow
obsługiwanych przez mikrokontroler. Kondensatory elektrolityczne C3 - C6 (1uF) są konieczne do poprawnej
pracy układu U2. Złącza RxD_G oraz TxD_Vcc umo\liwiają podłączenie zasilania i przewodow sygnałowych
portu RS-232. Poniewa\ port szeregowy jest dwukierunkowy istnieje mo\liwość podłączenie klawiatury i
sterowania drugim mikrokontrolerem lub programem komputerowym. Do tego celu słu\y złącze GP1(wymaga
modyfikacji programu). Do zaprogramowania mikrokontrolera słu\y złącze Prog a dodatkowo jego dwa piny
(nie podłączone do wyświetlacza W1) mogą być wykorzystane w dowolny sposob (po zaprogramowaniu
mikrokontrolera)
Budowa:
Wyświetlacz mo\na zbudować w oparciu u płytkę drukowaną dostępną tutaj. Rysunek w odbiciu lustrzanym
mo\na pobrać tutaj. Monta\ nale\y rozpocząć od wlutowania trzech zworek. Kondensatory elektrolityczne C3-
C7 nale\y zamontować w pozycji le\ącej, tak aby zmieściły się pod wyświetlaczem LCD, znajdującym się nad
całą płytką drukowaną. Złącza Prog i GP1 mogą być w wersji "kątowej", ułatwi to podłączenie po
zamontowaniu wyświetlacza. Rezonator kwarcowy musi być w wersji niskiej z tego samego powodu co le\ące
kondensatory. Pod mikrokontroler i układ U2 nale\y zastosować podstawki. Pomocą w konstrukcji mo\e
okazać się schemat monta\owy dostępny tutaj
Wykaz Elementów:
2x Złącze Śrubowe ARK2(podwójne)
2x Listwa Goldpin 1x4 (GP1)
2x 3,3k
1x 47R
1x Potencjometr Monta\owy 10k
2x 22pF
1x 100nF
4x 1uF Elektrolit
1x 100uF Elektrolit
1x Rezonator Kwarcowy 16MHz
1x BC556
1x Mikrokontroler ATTINY2313 + Podstawka
1x Konwerter Napięć MAX232
1x Wyświetlacz LCD 16x2
Programowanie:
Mikrokontroler został zaprogramowany w wersji demo programu BASCOM AVR firmy MCS Electronics
(http://www.mcselec.com/). Program przedstawiony jest poni\ej:
'************* Konfiguracja uC *****************
'***********************************************
$regfile = "attiny2313.dat"
$crystal = 16000000
$baud = 9600
Config Portb = &B11111111 : Portb = &B11111111
Config Portd = &B11111111 : Portd = &B10111111
Config Lcdpin = Pin , Db4 = Portb.3 , Db5 = Portb.2 , Db6 = Portb.1 , Db7 = Portb.0 , E = Portb.4 , Rs = Portb.5 'mirley test board
Config Lcd = 16 * 2
Cls
Cursor On Blink
'Typ wyswietlacza LCD Kmax*Wmax
Const Kmax = 16
Const Wmax = 2
'********** Konfiguracja uC Koniec ************
'****************** Zmienne *******************
'***********************************************
Dim Znak As Byte
Dim S As String * 1
Dim K As Byte , W As Byte
'************* Zmienne Koniec ****************
'************ Warunki Poczatkowe ***************
'***********************************************
K = 1
W = 1
'******* Warunki Poczatkowe Koniec ***********
'************** Petla glowna ******************
'***********************************************
Do
Inputbin Znak
If Znak <> 0 Then
Select Case Znak
Case 1:
'**************************** podswietlanie
Toggle Portd.6
'****************************
'Case 2....7
Case 8:
'**************************** kasowanie ostatniego (backspace)
Decr K
If K = 0 Then
K = Kmax
Decr W
If W = 0 Then W = Wmax
End If
Locate W , K
Lcd " "
Locate W , K
'**************************** kasowanie ostatniego (backspace)
'Case 9....12
Case 13:
'**************************** enter
Incr W
If W > Wmax Then W = 1
K = 1
Locate W , K
'**************************** enter
'Case 14....26
Case 27:
'**************************** kasowanie calosci(ESC)
Cls
K = 1
W = 1
Locate W , K
'**************************** kasowanie calosci
'Case 28....31
Case 32 To 126:
'**************************** znaki standardowe
S = String(1 , Znak)
Locate W , K
Lcd S
Incr K
If K > Kmax Then
K = 1
Incr W
If W > Wmax Then W = 1
End If
'**************************** znaki standardowe
'Case 127....160
Case 161 To 244:
'**************************** locate
K = Znak And &B00011111
W = Znak And &B01100000
Shift W , Right , 5
If K <= Kmax And W <= Wmax Then
Locate W , K
End If
'**************************** locate
'locate -> Wysylamy wartosc 1kkwwwww (kk-numer kolumny, wwwww-numer wiersza)
'gdzie kk = (01....11) wwwww = (00001.....10100)
'Case 245....255
End Select
End If
Loop
End
'************ Petla glowna Koniec **************
Obsługa:
Do osługi wyświetlacza konieczny jest komputer z programem typu terminal, lub własnym programem
sterującym. Mo\na tak\e wykorzystać drugi mikrokontroler i wysyłać odpowiednie informacje za jego pomocą.
Kody sterujące (wysyłane wartości liczbowe):
1 - Zmiana stanu podświetlania
2...7 - nieu\ywane
8 - Backspace (kasuje ostatnio wpisany znak)
9...12 - nieu\ywane
13 - enter (przejście do następnej linii)
14...26 - nieu\ywane
27 - kasowanie całego tekstu
28...31 - nieu\ywane
32...126 - standardowe znaki według kodu ASCI
127...160 - nieu\ywane
161...244 - pozycja, wartość binarna 1kkwwwww (gdzie kk = (01...11) - numer kolumny, wwwww =
(00001...10100) - numer wiersza)
245...255 - nieu\ywane
Zdjęcia Projektu:
Wyszukiwarka
Podobne podstrony:
PL Instrukcja zmiany oprogramowania odbiorników serii X4 i X7 przez RS 232port szeregowy RS 232RS 232 to RS 232 Optical Isolator Model 232OP4RS 232,RJ 45 cable pinoutsInstrukcja zmiany oprogramowania przez RS 232 (seria 7300)Fundamentals of RS 232 Serial Communications (app note) WW(1)RS 232NMEA0183 to RS 232 RS 422 or RS 485 Model 183CORTester łącza RS 232Instrukcja zmiany oprogramowania przez RS 232 (X402p X403p)RS 232 to RS 232 Port Optical Isolator MODEL 232SPOPWyświetlacz MMI z 6 kanałowym procesorem dźwięku (9VD) action=produkty wyswietl&todo=koszyk&produkt=12&key= action=produkty wyswietl&todo=koszyk&produkt=71&key=IE RS lab 9 overviewwięcej podobnych podstron