Serijski LCD prikazovalnik
Transcription
Serijski LCD prikazovalnik
NAVODILA AX ELEKTRONIKA d.o.o. Serijski LCD prikazovalnik Večkrat se mi je že dogodilo, da bi določene podatke moral prikazovati na LCD-ju. V kolikor sem v določeni aplikaciji uporabil mikrokontroler, ki je imel dovolj V/I priključkov, potem sem LCD priključil na mikrokontroler direktno. Se mi je pa že dogodilo, da sem v svoji aplikaciji uporabil majhne 8-pin mikrokon trolerje (npr. AT90S2343 ali ATtiny 15), pri katerih pa že v osnovi ni bilo dovolj priključkov za samo delovanje naprave, kaj šele za krmiljenje LCD-ja, ki zahteva vsaj 6 priključkov mikrokontrolerja. Serijski LCD je rešitev tega problema! Marsikdo, ki bo zagledal zgornji naslov, se bo vprašal: kaj neki je to? Nekateri od vas se rijski LCD prikazovalnik že poznajo. Serijski LCD prikazovalnik je samostojno vezje za prikazovanje podatkov, ki do vezja pridejo po RS232 vodilu. V našem primeru smo to razširili tudi na neposredno povezavo dveh mikrokontrolerjev, pod pogojem, da uporab ljata iste napetostne nivoje. Slika 1: Električna shema serijskega LCD-ja. Opis vezja Na sliki 1 si poglejmo električno shemo serij skega LCD-ja. Kot vidite, je shema serijskega LCD-ja enostavna. Kot srce naprave je upo rabljen znani AT90S2313 mikrokontroler, ki poskrbi, da se serijski signali, ki pridejo po RS232 vodilu ustrezno prikažejo na LCD-ju. LCD je na mikrokontroler spojen s 4-bitnim vodilom, ki zasede najmanj priključkov mi krokontrolerja. Opazili boste, da je v vezju tudi integrirano vezje MAX232, ki poskrbi za pretvorbo nivo jev signalov. Dodano je še vezje MC34054, ki je reset vezje za AT90S2313. V primeru, da v vaši aplikaciji ne potrebujete kvalitetnega reset vezja, lahko MC34054 tudi izpustite. Vezju je seveda dodan še 5 V napetostni re gulator in pa 11,0592MHz kvarčni kristal. 1 Fotografija izdelanega serijskega LCD-ja. V shemi boste opazili 4 konektorje. Zakaj je potrebno toliko konektorjev? Pri načrtova nju vezja sem imel v mislih univerzalnost vezja. Tisti, ki boste potrebovali serijski LCD prikazovalnik, ki ga krmilite po RS232, si bo ste vgradili DB9 konektor ter vezju dodali MAX232. Tisti, ki boste serijski LCD priključi li na Bascom testno ploščo, boste uporabili 10-pin IDC konektor in MAX232. Tisti pa, ki veste, da boste serijski LCD priključili nepo sredno na mikrokontroler, boste izpustili MAX232 ter DB9 konektor in povezali Rx pri ključek serijskega LCD-ja na Tx priključek mi krokontrolerja. V vezju sem predvidel tudi Tx priključek, ki naj bi služil za eventualne bodoče aplikacije, kjer naj bi serijski LCD mo dul tudi vračal določene podatke nadzorne mu mikrokontrolerju. Opazili boste tudi, da sem v vezju predvidel 5 priključkov za programiranje AT90S2313 v vezju. To utegne priti prav vsem tistim, ki boste program nadgrajevali in »navijali« po svojih željah. Opis programske opreme Pri programski opremi se ne bom spuščal v podrobnosti programa. Bistvo programa je v tem, da AT90S2313 sprejme določeno kodo, ki jo prikaže na LCD-ju. Podatki so v ob liki ASCII kode. Vse skupaj temelji na ASCII kodah, ki sem jih sprejemal iz terminalske ga okna in to tako, da sem tipkal po PC-jevi tipkovnici. Ker sem uporabljal 16x2 LCD, je potrebno šteti število sprejetih znakov. Ko sprejmemo 17. znak, moramo skočiti v spod njo vrstico LCD-ja. Podobno je pri sprejemu 32. znaka, ko se vrnemo v zgornjo vrstico. Se veda je pri sprejetih kodah potrebno upošte vati še nekaj »posebnih« kod. Ena takšnih posebnih kod je prav gotovo »Enter«, oziroma prehod v novo vrstico. Pro gram mora že na začetku predvideti, ali je znak, ki ga je sprejel Enter ali ne. V kolikor je sprejeti znak Enter, moramo vedeti, v kateri vrstici se kurzor nahaja. V kolikor se kurzor nahaja v zgornji vrstici, mora skočiti v spod njo vrstico in obratno. Vedno pa se ob spreje 2 CD z navodili je priložen Kosovnica: Kosovnica: Razpored elementov na tiskanem vezju. V kolikor sprejeti znak ni Enter, program preverja, ali je sprejeti znak Backspace. To pomeni, da brišemo za eno mesto v levo. Ko pridemo do zadnjega mesta v zgornji vrsti ci LCD-ja, mora naslednji sprejeti Backspace znak pobrisati zadnji znak v spodnji vrstici. Naslednji znak, ki je še upoštevan, pa je Spa ce oziroma presledek. Presledek ni nič druge ga kot premik kurzorja v desno. V bistvu na LCD-ju pišemo prazen prostor (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 Enter znaka kurzor postavi v prvi stolpec LCD-ja. MINIPIN - serijski LCD KIT Zaključek Tako, serijski LCD prikazovalnik je priprav ljen za prikaz podatkov, ki jih bo prejel po RS232 vodilu, ali jih bo dobil neposredno v UART-u mikrokontrolerja. Serijski LCD lahko priključite na RS232 svojega PC-ja in ga preiz kusite v terminalskem oknu. V terminalu na stavite komunikacijsko hitrost na 4800 Bd, povežete serijski kabel na ustrezen izhodni port in voila, LCD bo prikazoval podatke, ki jih boste tipkali po tipkovnici. V kolikor boste serijski LCD povezali nepo sredno na drugi mikrokontroler, morate prav tako nastaviti komunikacijsko hitrost mikrokontrolerja na 4800 Bd in povezati Tx mikrokontrolerja z Rx na serijskem LCD-ju. V literaturi, ki je na voljo na spletu, sem našel komercialne serijske LCD-je, ki ima jo set ukazov drugačen kot naš LCD. Ker je program v AT90S2313 na voljo v izvorni kodi, si ga boste tisti, ki vam nabor ukazov ne us treza, lahko spremenili po svojih potrebah. Meni se je zdelo uporabno prav to, da lahko uporabljamo serijski LCD v povezavi s PCjem in mikrokontrolerskimi sistemi, ki ima jo vgrajeno RS232 vodilo. 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