MMP Cvičenie 3: Rozdiel medzi revíziami
Zo stránky SensorWiki
Riadok 5: | Riadok 5: | ||
Ďalej máte k dispozícii knižnicu s fungujúcou inicializáciou displeja a príkazmi na ovládanie. | Ď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: | ||
<source lang="c"> | |||
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 | ||
</source> | |||
Riadok 16: | Riadok 16: | ||
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: | 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: | ||
#. posun kurzora doprava / dolava | |||
#. posun obsahu displeja doprava / dolava | |||
#. napíšte funkciu funkcia void lcdGotoXY(riadok, stlpec) | |||
#. clear displeja (a obnovenie povodneho obsahu displeja) | |||
#. 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]] |
Verzia z 12:20, 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:
- . posun kurzora doprava / dolava
- . posun obsahu displeja doprava / dolava
- . napíšte funkciu funkcia void lcdGotoXY(riadok, stlpec)
- . clear displeja (a obnovenie povodneho obsahu displeja)
- . 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 DEM 16216 SYH-LY
- Displej 2x16 DEM 20231 SYH-PY
- Nuts & Volts: Demystifying Character Based LCDs
- Hitachi 44780 Driver
- 2x16 Parallel LCD datasheet
- Stamp Works - pp. 73 and more [1]
Arduino:
Misc: