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 ==  | == Programovateľný LCD displej ==  | ||
* [http://ap.urpi.fei.stuba.sk/mmp/cvic4.hex Toto] je skompilovaná ukážka možností práce s displejom.    | * [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   | Ďalej máte k dispozícii knižnicu s fungujúcou inicializáciou displeja a príkazmi na ovládanie.  | ||
Pripravené sú funkcie:  | Pripravené sú funkcie:  | ||
void lcdInit4(void);                     	// inicializácia displeja 4-bitovo	  | void lcdInit4(void);                     	// inicializácia displeja 4-bitovo	  | ||
void lcdControlWrite(unsigned char c_data);	// zapíše príkaz do displeja  | 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 lcdDataWrite(unsigned char w_data) ;	// zapíše znak na LCD na aktuálnu pozíciu  | ||
Najprv sa snažte pochoopiť, ako je vytvorený vzorový program,   | === Úlohy ===  | ||
Najprv sa snažte pochoopiť, ako je vytvorený vzorový program, ako 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   |     1. posun kurzora doprava / dolava  | ||
    2. posun obsahu displeja doprava / dolava   |     2. posun obsahu displeja doprava / dolava    | ||
    4. napíšte funkciu funkcia void lcdGotoXY(riadok, stlpec)  |     4. napíšte funkciu funkcia void lcdGotoXY(riadok, stlpec)  | ||
    5. clear displeja (a obnovenie povodneho obsahu displeja)  |     5. clear displeja (a obnovenie povodneho obsahu displeja)  | ||
    6.   |     6. zadefinujte si vlastné znaky a zobrazte ich spolu s iným textom. Povinne aspoň jeden znak s diakritikou a znak stupeň, zobrazte teplotu.  | ||
[[Obrázok:Acrob_LCD_Schematic.png|center]]  | [[Obrázok:Acrob_LCD_Schematic.png|center]]  | ||
| Riadok 63: | Riadok 53: | ||
</source>  | </source>  | ||
=== Literatúra ===  | |||
* Katalógové listy  | |||
** Radič Hitachi [http://ap.urpi.fei.stuba.sk/mmp/HD44780 HD44780]  | |||
** Displej 2x16   | |||
** Displej 2x16  | |||
* 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]  | |||
* 2x16 Parallel LCD [http://www.parallax.com/Portals/0/Downloads/docs/prod/audiovis/lcd2x16par.pdf datasheet]  | |||
* Stamp Works - pp. 73 and more [http://www.parallax.com/Portals/0/Downloads/docs/books/sw/Web-SW-v2.1.pdf]  | |||
Arduino:  | Arduino:  | ||
Verzia z 12:17, 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 knižnicu s fungujúcou inicializáciou displeja a príkazmi na ovládanie. Pripravené sú funkcie:
void lcdInit4(void); // inicializácia displeja 4-bitovo
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
Úlohy
Najprv sa snažte pochoopiť, ako je vytvorený vzorový program, ako 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 2. posun obsahu displeja doprava / dolava 4. napíšte funkciu funkcia void lcdGotoXY(riadok, stlpec) 5. clear displeja (a obnovenie povodneho obsahu displeja) 6. zadefinujte si vlastné znaky a zobrazte ich spolu s iným textom. Povinne aspoň jeden znak s diakritikou a znak stupeň, zobrazte teplotu.

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;
}
Literatúra
- Katalógové listy
- Radič Hitachi HD44780
 - Displej 2x16
 - Displej 2x16
 
 
- Nuts & Volts: Demystifying Character Based LCDs
 - Hitachi 44780 Driver
 - 2x16 Parallel LCD datasheet
 - Stamp Works - pp. 73 and more [1]
 
Arduino:
Misc: