Mikrokontroler je nepogrešljiv sestavni del številnih majhnih, a zelo uporabnih domačih naprav, kot so: vremenska postaja, elektronski termostat, elektronska varuška… Za vsak končni izdelek bomo nemalokrat odšteli veliko več, kot če se projekta lotimo sami.

V zadnjem nadaljevanju bomo na osnovi mikrokontrolerja PIC18F26J50 izdelali digitalno uro, ki jo bomo nastavljali preko vodila USB. Želimo neodvisno aplikacijo, ki lahko z lastnim napajanjem deluje tudi brez PC. Zato bomo pri programiranju uporabili tudi programski jezik C in Microchip razvojno okolje MPLAB.
Kako deluje digitalna ura s prikazovalnikom LCD?

Načrt za izgradnjo
Digitalno uro lahko sestavimo na osnovi osnovne vezave PIC18F2xJ50 ali PIC18F2550 na vodilo USB. Z uporabo vodila USB se izognemo potrebi po lastnem napajanju, hkrati pa lahko preverimo vse funkcije digitalne ure. Na spletni strani PC USB Projects, v sekciji Custom Projects, je v članku Basic circuit for PIC18F24J50 or PIC18F26J50 to work over USB (slov. Osnovno vezje za delovanje PIC18F24J50 ali PIC18F26J50 preko USB) opisan priklop mikrokontrolerjev PIC18F2xJ50 na PCjevo vodilo USB (https://sites.google.com/site/pcusbprojects/5-custom-projects/basic-circuit-for-pic18f24j50-to-work-over-usb). Primer lahko razširimo tako, da dodamo kristalni resonator iz dveh 12 pF kondenzatorjev in visokega kristala z lastno frekvenco 32,768 kHz, ki je idealen za poganjanje strojno podprte digitalne ure.
Zdaj nam ostane le še priklop LCD. Zanj potrebujemo 6 digitalnih izhodov. Vhod LCD, R/W (branje/pisanje), fiksno povežemo na maso, s čemer sicer izgubimo možnost branja podatkov z LCD, a prihranimo eno nožico na mikrokontrolerju. Glavni razlog za tako odločitev pa ni v prihranku ene nožice, temveč v tem, da se želimo izogniti vgradnji napetostnega pretvornika, ki bi bil nujno potreben pri prenosu signalov iz LCD na 3,3 V vhode-izhode. PIC18F2xJ50 imajo tudi pet nožic, ki so odporne na 5,5 V, vendar jih bomo dve potrebovali za strojno podporo vodilu I2C. Zato ne preostane drugega, kot da LCD povežemo samo kot izhodno napravo in uporabimo standardne zakasnilne čase pri komunikaciji z njim, namesto signala »zaseden« (angl. busy), ki je aktiven takrat, ko LCD procesira ukaz in ne more sprejeti novih podatkov ali ukazov.
Programiranje LCD
Navodila za uporabo LCM1602K-FL-YBS, ki so na voljo na spletu, so dokaj pomanjkljiva in dajo začetniku, z malo ali nič izkušnjami s priklopom LCD, premalo informacij. To velja še posebej, če želimo uporabljati 4-bitni način delovanja. Zato ni odveč, če poiščemo tudi originalna SUNPLUSovs navodila za krmilnik SPLC780D, ki vsebujejo vse potrebno za začetek programiranja.
Osnovna zgradba in delovanje PIC18 (10)
2014_SE219_59

