Operácie

MMP Cvičenie 3: Rozdiel medzi revíziami

Zo stránky SensorWiki

Balogh (diskusia | príspevky)
Bez shrnutí editace
Balogh (diskusia | príspevky)
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 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 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

  • 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: