Serijski LCD prikazovalnik

Transcription

Serijski LCD prikazovalnik
NAVODILA
AX ELEKTRONIKA d.o.o.
Se­rij­ski LCD pri­ka­zo­val­nik
Več­krat se mi je že do­go­di­lo, da bi do­lo­če­ne po­dat­ke mo­ral pri­ka­zo­va­ti na
LCD-ju. V ko­li­kor sem v do­lo­če­ni a­pli­ka­ci­ji upo­ra­bil mi­kro­kon­tro­ler, ki je imel
do­volj V/I pri­ključ­kov, po­tem sem LCD pri­klju­čil na mi­kro­kon­tro­ler di­rekt­no. Se
mi je pa že do­go­di­lo, da sem v svo­ji a­pli­ka­ci­ji upo­ra­bil majh­ne 8-pin mi­kro­kon­
tro­ler­je (npr. AT90S2343 ali AT­tiny 15), pri ka­te­rih pa že v os­no­vi ni bilo do­volj
pri­ključ­kov za samo de­lo­va­nje na­pra­ve, kaj še­le za kr­mi­lje­nje LCD-ja, ki zahteva vsaj 6 pri­ključ­kov mi­kro­kon­tro­ler­ja. Se­rij­ski LCD je re­ši­tev tega prob­le­ma!
Mar­sik­do, ki bo za­gle­dal zgor­nji na­slov, se
bo vpra­šal: kaj neki je to? Ne­ka­te­ri od vas se­
rij­ski LCD pri­ka­zo­val­nik že poz­na­jo. Se­rij­ski
LCD pri­ka­zo­val­nik je sa­mo­stoj­no vez­je za
pri­ka­zo­va­nje po­dat­kov, ki do vez­ja pri­de­jo
po RS232 vo­di­lu. V na­šem pri­me­ru smo to
raz­ši­ri­li tudi na ne­po­sred­no po­ve­za­vo dveh
mi­kro­kon­tro­ler­jev, pod po­go­jem, da upo­rab­
lja­ta iste na­pe­tost­ne ni­vo­je.
Sli­ka 1: Elek­trič­na she­ma se­rij­ske­ga LCD-ja.
Opis vez­ja
Na sli­ki 1 si po­glej­mo elek­trič­no she­mo se­rij­
ske­ga LCD-ja. Kot vi­di­te, je she­ma se­rij­ske­ga
LCD-ja eno­stav­na. Kot srce na­pra­ve je upo­
rab­ljen zna­ni AT90S2313 mi­kro­kon­tro­ler, ki
po­skr­bi, da se se­rij­ski sig­na­li, ki pri­de­jo po
RS232 vo­di­lu us­trez­no pri­ka­že­jo na LCD-ju.
LCD je na mi­kro­kon­tro­ler spo­jen s 4-bit­nim
vo­di­lom, ki za­se­de naj­manj pri­ključ­kov mi­
kro­kon­tro­ler­ja.
Opa­zi­li bo­ste, da je v vez­ju tudi in­te­gri­ra­no
vez­je MAX232, ki po­skr­bi za pre­tvor­bo ni­vo­
jev sig­na­lov. Do­da­no je še vez­je MC34054,
ki je re­set vez­je za AT90S2313. V pri­me­ru, da
v va­ši a­pli­ka­ci­ji ne po­tre­bu­je­te kva­li­tet­ne­ga
re­set vez­ja, lah­ko MC34054 tudi iz­pu­sti­te.
Vez­ju je se­ve­da do­dan še 5 V na­pe­tost­ni re­
gu­la­tor in pa 11,0592MHz kvarč­ni kri­stal.
1
Fotografija izdelanega serijskega LCD-ja.
V she­mi bo­ste opa­zi­li 4 ko­nek­tor­je. Za­kaj je
po­trebno to­li­ko ko­nek­tor­jev? Pri na­čr­to­va­
nju vez­ja sem imel v mi­slih uni­ver­zal­nost
vez­ja. Ti­sti, ki bo­ste po­tre­bo­va­li se­rij­ski LCD
pri­ka­zo­val­nik, ki ga kr­mi­li­te po RS232, si bo­
ste vgra­di­li DB9 ko­nek­tor ter vez­ju do­da­li
MAX232. Ti­sti, ki bo­ste se­rij­ski LCD priklju­či­
li na Bas­com test­no ploš­čo, bo­ste upo­ra­bi­li
10-pin IDC ko­nek­tor in MAX232. Ti­sti pa, ki
ve­ste, da bo­ste se­rij­ski LCD pri­klju­či­li ne­po­
sred­no na mi­kro­kon­tro­ler, bo­ste iz­pu­sti­li
MAX232 ter DB9 ko­nek­tor in po­ve­za­li Rx pri­
klju­ček se­rij­ske­ga LCD-ja na Tx priklju­ček mi­
kro­kon­tro­ler­ja. V vez­ju sem pred­vi­del tudi
Tx pri­klju­ček, ki naj bi slu­žil za even­tual­ne
bo­do­če a­pli­ka­ci­je, kjer naj bi se­rij­ski LCD mo­
dul tudi vra­čal do­lo­če­ne po­dat­ke nad­zor­ne­
mu mi­kro­kon­tro­ler­ju.
Opa­zi­li bo­ste tudi, da sem v vez­ju pred­vi­del
5 pri­ključ­kov za pro­gra­mi­ra­nje AT90S2313 v
vez­ju. To uteg­ne pri­ti prav vsem ti­stim, ki
bo­ste pro­gram nad­gra­je­va­li in »na­vi­ja­li« po
svo­jih že­ljah.
Opis pro­gram­ske opre­me
Pri pro­gram­ski opre­mi se ne bom spuš­čal
v po­drob­no­sti pro­gra­ma. Bis­tvo pro­gra­ma
je v tem, da AT90S2313 sprej­me do­lo­če­no
kodo, ki jo pri­ka­že na LCD-ju. Po­dat­ki so v ob­
li­ki ASCII kode. Vse sku­paj te­me­lji na ASCII
ko­dah, ki sem jih spre­je­mal iz ter­mi­nal­ske­
ga okna in to tako, da sem tip­kal po PC-jevi
tip­kov­ni­ci. Ker sem upo­rab­ljal 16x2 LCD, je
potreb­no šte­ti šte­vi­lo spre­je­tih zna­kov. Ko
sprej­me­mo 17. znak, mo­ra­mo sko­či­ti v spod­
njo vr­sti­co LCD-ja. Po­dob­no je pri spre­je­mu
32. zna­ka, ko se vr­ne­mo v zgor­njo vr­sti­co. Se­
ve­da je pri spre­je­tih ko­dah po­treb­no upo­šte­
va­ti še ne­kaj »po­seb­nih« kod.
Ena tak­šnih po­seb­nih kod je prav go­to­vo
»En­ter«, ozi­ro­ma pre­hod v novo vr­sti­co. Pro­
gram mora že na za­čet­ku pred­vi­de­ti, ali je
znak, ki ga je spre­jel En­ter ali ne. V ko­li­kor je
spre­je­ti znak En­ter, mo­ra­mo ve­de­ti, v ka­te­ri
vr­sti­ci se kur­zor na­ha­ja. V ko­li­kor se kur­zor
na­ha­ja v zgor­nji vr­sti­ci, mora sko­či­ti v spod­
njo vr­sti­co in obrat­no. Ved­no pa se ob spre­je­
2
CD z navodili je priložen
Kosovnica:
Kosovnica:
Razpored elementov na tiskanem vezju.
V ko­li­kor spre­je­ti znak ni En­ter, pro­gram
pre­ver­ja, ali je spre­je­ti znak Backs­pa­ce. To
po­me­ni, da bri­še­mo za eno me­sto v levo. Ko
pri­de­mo do zad­nje­ga me­sta v zgor­nji vr­sti­
ci LCD-ja, mora na­sled­nji spre­je­ti Backs­pa­ce
znak po­bri­sa­ti zad­nji znak v spod­nji vr­sti­ci.
Na­sled­nji znak, ki je še upo­šte­van, pa je Spa­
ce ozi­ro­ma pre­sle­dek. Pre­sle­dek ni nič dru­ge­
ga kot pre­mik kurzor­ja v de­sno. V bis­tvu na
LCD-ju pi­še­mo pra­zen pro­stor (ASCII znak
32).
3
Šifra
Naziv
Kolièina
5KIT0028
MINIPIN - serijski LCD KIT
1,0000
1ELD0073
DISPLAY 2x16 LCD (02 CMC 216 N)
1,0000
5ELU0148
CPU AT90S2313-10PI - DIL
1,0000
1ELU0068
IC MAX232 (HIN 232)
1,0000
1ELU0159
IC MC 34064P-5 TO92
1,0000
1ELC0055
IC LM7805-to ohišje
1,0000
1CON0011
KONEKTOR DB9 F - 90
1,0000
1CON0026
KONEKTOR SPEEDY 10 M lp
1,0000
1CON0068
LETEV ENO. 32 PIN - Ž lomljiva nizka
5,0000
1CON0098
LETEV ENO. 36 PIN - Ž lomljiva visoka
14,0000
1CON0057
LETEV ENO. 40 PIN - M
25,0000
1CON0033
PODNOŽJE DIL20
1,0000
1CON0031
PODNOŽJE DIL16
1,0000
1ELC0028
KOND.KER. 100N
7,0000
1ELC0044
KOND.KER. 33P
2,0000
1ELC0091
KOND.EL. 2U2/63V
1,0000
1ELR0200
UPOR 10K, 1/4W
1,0000
1ELR0185
UPOR TRIM 1K-ležeèi
1,0000
1ELD0002
DIODA 1N4148
1,0000
1ELQ0001
QUARTZ 11.0592 MHz nizki
1,0000
1TIV0092
TIV LCD serijski LCD - MINIPIN
1,0000
1CON0005
JUMPER
1,0000
1KAB0029
KABEL FLAT 4 ŽILNI (ali 1 ŽILNI)
0,0500
Oznaka
LCD
LCD
IC4
IC4
IC3
IC3
IC2
IC2
IC1
IC1
P2
P2
P3
P3
P1
P1
P1
P1 J1-J7
LCD,
IC4
LCD, J1-J7
IC3
IC4
C1-3,
IC3 5-7,10
C8,
9 5-7,10
C1-3,
C4
C8, 9
R1
C4
TP1
R1
D1
TP1
X1
D1
TIV
X1
TIV
Kosovnica serijski LCD.
Spodnja stran tiskanega vezja.
mu En­ter zna­ka kur­zor po­sta­vi v prvi stol­pec
LCD-ja.
MINIPIN - serijski LCD KIT
Za­klju­ček
Tako, se­rij­ski LCD pri­ka­zo­val­nik je pri­prav­
ljen za pri­kaz po­dat­kov, ki jih bo pre­jel po
RS232 vo­di­lu, ali jih bo do­bil ne­po­sred­no v
UART-u mi­kro­kon­tro­ler­ja. Se­rij­ski LCD lahko
pri­klju­či­te na RS232 svo­je­ga PC-ja in ga preiz­
ku­si­te v ter­mi­nal­skem oknu. V ter­mi­na­lu na­
sta­vi­te ko­mu­ni­ka­cij­sko hi­trost na 4800 Bd,
po­ve­že­te se­rij­ski ka­bel na us­tre­zen iz­hod­ni
port in voi­la, LCD bo pri­ka­zo­val po­dat­ke, ki
jih bo­ste tip­ka­li po tip­kov­nici.
V ko­li­kor bo­ste se­rij­ski LCD po­ve­za­li ne­po­
sred­no na dru­gi mi­kro­kon­tro­ler, mo­ra­te
prav tako na­sta­vi­ti ko­mu­ni­ka­cij­sko hi­trost
mi­kro­kon­tro­ler­ja na 4800 Bd in po­ve­za­ti Tx
mi­kro­kon­tro­ler­ja z Rx na se­rij­skem LCD-ju.
V li­te­ra­tu­ri, ki je na vo­ljo na sple­tu, sem
na­šel ko­mer­cial­ne se­rij­ske LCD-je, ki ima­
jo set uka­zov dru­ga­čen kot naš LCD. Ker je
pro­gram v AT90S2313 na vo­ljo v iz­vor­ni kodi,
si ga bo­ste ti­sti, ki vam na­bor uka­zov ne us­
tre­za, lah­ko spre­me­ni­li po svo­jih po­tre­bah.
Meni se je zde­lo upo­rab­no prav to, da lah­ko
upo­rab­lja­mo se­rij­ski LCD v po­ve­za­vi s PCjem in mi­kro­kon­tro­ler­ski­mi si­ste­mi, ki ima­
jo vgra­je­no RS232 vo­di­lo.
Izdelava
Pri izdelavi je treba popvezati pine J6 in pine
J7 kot je narisano na sliki1. Pri trimerju lahko
izbirate vrednost od 500Ω do 10kΩ. LCD pa
4
Fotografija izdelanega s spodnje strani in zgornje strani