Wyświetlacz RS-232.pdf
(
257 KB
)
Pobierz
77325212 UNPDF
Wyświetlacz LCD na RS232
Układ jest uniwersalnym wyświetlaczem LCD sterowanym za pośrednictwem portu
RS232. 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 RS232 (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 RS232 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 RS232. 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
Plik z chomika:
hantajo
Inne pliki z tego folderu:
AVR8_Burn-O-Mat_2_1_1_setup.rar
(1613 KB)
avrdude55.rar
(116 KB)
MkAVRCalculator_build_55.rar
(7176 KB)
MkAVRCalculator_build_56.rar
(8103 KB)
poprawka bascavr-IDE.zip
(4634 KB)
Inne foldery tego chomika:
• Wielka baza układów scalonych
Amplitunery
Antena Wi-Fi 2,4Ghz
Car Audio
CB Radio
Zgłoś jeśli
naruszono regulamin