MMP Cvičenie 3: Rozdiel medzi revíziami
Zo stránky SensorWiki
Bez shrnutí editace |
Bez shrnutí editace |
||
Riadok 1: | Riadok 1: | ||
== Programovateľný LCD displej == | |||
* [http://ap.urpi.fei.stuba.sk/mmp/cvic4.hex Toto] je skompilovaná ukážka možností práce s displejom. | |||
Ďalej máte k dispozícii nachystaný vzorový projekt [download] v ktorom je pripravené makefile a knižnica pre prácu s LCD. Po nahratí všetko rozbaľte do jedného adresára a v PN si vytvorte nový projekt, ktorý bude obsahovať všetky rozbalené súbory. | |||
Pripravené sú funkcie: | |||
void lcdInit4(void); // inicializácia displeja 4-bitovo | |||
unsigned char lcdBusyWait(void); // čaká, kým LCD nie je pripravený na ďalší príkaz | |||
// ak vrati 1, OK | |||
// ak vrati 0, vyprsal timeout | |||
void lcdControlWrite(unsigned char c_data); // zapíše príkaz do displeja | |||
void lcdDataWrite(unsigned char w_data) ; // zapíše znak na LCD na aktuálnu pozíciu | |||
void delay_ms(unsigned int ms); // oneskorenie v milisekundách | |||
Úlohy | |||
Najprv sa snažte pochoopiť, ako je vytvorený vzorový program, kde sa konfiguruje pripojenie LCD k portom, skontrolujte konfiguráciu. Potom s pomocou manuálu k displeju zobrazte na displeji nejaký text a zrealizujte nasledovné funkcie: | |||
1. posun kurzora doprava / dolava tlacitkami | |||
2. posun obsahu displeja doprava / dolava tlacitkami | |||
3. kurzor '_' a kurzor '||' | |||
4. napíšte funkciu funkcia void lcdGotoXY(riadok, stlpec) | |||
5. clear displeja (a obnovenie povodneho obsahu displeja) | |||
6. zobrazit znak BETA vo formate 5x10 | |||
* Nuts & Volts: [http://www.parallax.com/dl/docs/cols/nv/vol1/col/nv31.pdf Demystifying Character Based LCDs] | * Nuts & Volts: [http://www.parallax.com/dl/docs/cols/nv/vol1/col/nv31.pdf Demystifying Character Based LCDs] | ||
* [http://www.parallax.com/Portals/0/Downloads/docs/prod/audiovis/Hit44780.pdf Hitachi 44780 Driver] | * [http://www.parallax.com/Portals/0/Downloads/docs/prod/audiovis/Hit44780.pdf Hitachi 44780 Driver] |
Verzia z 12:10, 4. október 2010
Programovateľný LCD displej
- Toto je skompilovaná ukážka možností práce s displejom.
Ďalej máte k dispozícii nachystaný vzorový projekt [download] v ktorom je pripravené makefile a knižnica pre prácu s LCD. Po nahratí všetko rozbaľte do jedného adresára a v PN si vytvorte nový projekt, ktorý bude obsahovať všetky rozbalené súbory.
Pripravené sú funkcie:
void lcdInit4(void); // inicializácia displeja 4-bitovo unsigned char lcdBusyWait(void); // čaká, kým LCD nie je pripravený na ďalší príkaz
// ak vrati 1, OK // ak vrati 0, vyprsal timeout
void lcdControlWrite(unsigned char c_data); // zapíše príkaz do displeja void lcdDataWrite(unsigned char w_data) ; // zapíše znak na LCD na aktuálnu pozíciu
void delay_ms(unsigned int ms); // oneskorenie v milisekundách
Úlohy
Najprv sa snažte pochoopiť, ako je vytvorený vzorový program, kde sa konfiguruje pripojenie LCD k portom, skontrolujte konfiguráciu. Potom s pomocou manuálu k displeju zobrazte na displeji nejaký text a zrealizujte nasledovné funkcie:
1. posun kurzora doprava / dolava tlacitkami 2. posun obsahu displeja doprava / dolava tlacitkami 3. kurzor '_' a kurzor '||' 4. napíšte funkciu funkcia void lcdGotoXY(riadok, stlpec) 5. clear displeja (a obnovenie povodneho obsahu displeja) 6. zobrazit znak BETA vo formate 5x10
- Nuts & Volts: Demystifying Character Based LCDs
- Hitachi 44780 Driver
- 2x16 Parallel LCD datasheet
- Stamp Works - pp. 73 and more [1]
![](/sensorwiki/images/8/80/Acrob_LCD_Schematic.png)
Zdrojáky
#include "lcd.h"
int main(void)
{
unsigned char znak;
lcdInit4();
lcdControlWrite(1<<LCD_CLR);
for(znak='A';znak<'E';znak++)
lcdDataWrite(znak);
lcdControlWrite(0x40+0x80);
for(znak='F';znak<'Q';znak++)
lcdDataWrite(znak);
while (1);
return 0;
}
Arduino:
Misc: