Operácie

MMP Cvičenie 3: Rozdiel medzi revíziami

Z SensorWiki

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 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.
+
Ď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
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 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
  
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:
+
=== Ú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 tlacitkami
+
   1. posun kurzora doprava / dolava
   2. posun obsahu displeja doprava / dolava tlacitkami
+
   2. posun obsahu displeja doprava / dolava  
  3. kurzor '_' a kurzor '||'
 
 
   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. zobrazit znak BETA vo formate 5x10
+
   6. zadefinujte si vlastné znaky a zobrazte ich spolu s iným textom. Povinne aspoň jeden znak s diakritikou a znak stupeň, zobrazte teplotu.
* 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]
 
  
 
[[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 zo dňa a času 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.
Acrob LCD Schematic.png

Zdrojáky

  • Knižnica pre prácu s LCD zapojeným podľa obrázku - lcd.c, lcd.h
#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


Arduino:

Misc: