Operácie

MMP Cvičenie 3: Rozdiel medzi revíziami

Z SensorWiki

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 zo dňa a času 14: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 
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;
}

Arduino:

Misc: