Operácie

MMP Cvičenie 3: Rozdiel medzi revíziami

Z SensorWiki

(Literatúra)
Riadok 57: Riadok 57:
  
 
* Katalógové listy
 
* Katalógové listy
** Radič Hitachi [http://ap.urpi.fei.stuba.sk/mmp/HD44780 HD44780]
+
** Radič Hitachi [http://ap.urpi.fei.stuba.sk/mmp/HD44780.pdf HD44780]
** Displej 2x16  
+
** Displej 2x16 [http://ap.urpi.fei.stuba.sk/mmp/DEM16216SYH-LY.pdf DEM 16216 SYH-LY]
** Displej 2x16
+
** Displej 2x16 [http://ap.urpi.fei.stuba.sk/mmp/DEM20231SYH-PY.pdf DEM 20231 SYH-PY]
  
 
* 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]

Verzia zo dňa a času 14:19, 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


Arduino:

Misc: