Iš senų lazerinių printerių aš išlupau keletą Optrex DMC50264N LCD modulių. Tai LCD su Mitsubiši M50530-026FP ir M50521FP čipetu. Tai 4 eilučių ir 16 simbolių ekraniukai. Prijungimas prie kompiuterio tik per 3 kontrolinius laidus. Ant LCd modulio yra paprastuti nuoseklus-paralelinis keitiklis padarytas su 74HC164A mikroschema. Visi mygtukai esantys ant modulio kontroliuojami panašiai, su 74HC166A.
Ant plokštelės yra vienas lizdas J1. Jo išvadai: 1- EXE, 2- +5V, 3- FPD, 4- GND, 5- CLCK, 6- GND, 7- FPS, 8- +24V.
LCD naudojama tik: GND, +5V, +24V (LCD kontrastas, kita nuo 10…24V), CLCK, FPD, EXE.
Maitinimo šaltiniai ir taip aiškūs. FPD tai duomenys perduodami į registrą, kurie užfiksuojami su CLCK pagalba. EXE tai tiesiogiai pajuntas į LCD kontrolerį, ir impulsas reikškia, kad duomenys užkrauti ir reikia vykdyti komandą. LCD kontroleris gali būti valdomas naudojant 8+3 bitus arba 4+3 bitus. Šiame modelyje kontroleris pajungtas per 4+3 valdymą. Taigi programuotojas per pirmą komandą turi pranešti kontroleriui, kad naudos 4 bitų interfeisą.
Duomenys persiunčiami nuo vyriausio bito iki jauniausio (MSB iki LSB). Bitai pajungti sekančia tvarka:(MSB) nc nc oc1 oc2 d7 d6 d5 d4 (LSB). Kad iškoduoti LCD aš parašiau mažą programą MS Visual Basic’e ir pprijungiau LCD modulį prie LPT porto per kelis TTL buferius. Šitas modulis sriobia gana dideles sroves per duomenų portą. Taip pat, gana didelės srovės teka per maitinimo laidus, ypač kai aš panaudojau mažiuką ROHM BP5311 5V->24V DC/DC konverterį, kad jis iš 5V gamintu LCD kontrastui reikalingą įtampą.
Programa labai paprasta. Duomenys surašyti lange binariniam pavidale išsiunčiami per LPT portą į LCD modulį. Pajungimas: LPT D3(kontaktas 5)=DATA-FPD, D4(kontaktas 6)=CLCK, D2(kontaktas 4)=EXE
O štai ir rezultatas:
Mygtukai nuskaitomi panašiai. Ir dar vienas momentas. Aš nepastebėjau jokio RESET įvado, todėl programuotojas turi būti labai atidus.
Pats svarbiausias yra pirmasis baitas siunčiamas į LCD kontrolerį. Aš nutariau, kad geriausiai siusti &H0D0B, (&HDB). Tai SF komanda: I/O=4bit, Font=8, Duty=10, RAM=11 (4 eilutės x 40 žodžai). Dėl to, kad matosi tik pirmi 16 simbolių, programuotojas turi persiuntinėti 24 tuščius simbolius arba tiesiogiai perstatyti kursorių į naują vietą.
gracias