MMP Cvičenie 3: Rozdiel medzi revíziami
Zo stránky SensorWiki
Bez shrnutí editace  | 
				|||
| Riadok 25: | Riadok 25: | ||
=== LCD Modul ===  | === LCD Modul ===  | ||
[[Obrázok:ParallaxLCDAppMod.jpg|  | [[Obrázok:ParallaxLCDAppMod.jpg|left]]  | ||
'''Vlastnosti:'''  | '''Vlastnosti:'''  | ||
Verzia z 08:18, 20. október 2011
Programovateľný LCD displej
- Toto je skompilovaná ukážka možností práce s displejom.
 
Ďalej máte k dispozícii knižnicu (lcd.c, lcd.h) 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 pochopiť, 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.
 
LCD Modul

Vlastnosti:
- 2x8 LCD Displej bez podsvetlenia
 - 4 Tlačítka
 - Trimer na zmenu kontrastu
 
Technické parametre:
- Napájanie: 5 V @ 15 mA
 - Pripojenie: 4-Bit parallel interface (Hitachi HD44780 compatible)
 - Rozmery: 60 x 50 x 20 mm
 - Pracovná teplota: 0 až +70 °C
 


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
 - 2x16 Parallel LCD datasheet
 - Podrobné manuály sú aj u výrobcu Hantronix.
 
 
- Peter Ouwehand: How to control a HD44780-based Character-LCD
 - Ian Harries: HD44780-Based LCD Modules'
 - Tomáš Dresler: Inteligentní displeje a jejich připojení k PC. [hw.cz]
 - Nuts & Volts: Demystifying Character Based LCDs
 - Stamp Works - pp. 73 and more [1]
 
Arduino
/*
  LiquidCrystal Library - Hello World
 
 Demonstrates the use a 16x2 LCD display.  
 
   The circuit:
 * LCD RS pin to digital pin 12
 * LCD R/W pin to digital pin 12
 * LCD Enable pin to digital pin 11
 * LCD D4 pin to digital pin 4
 * LCD D5 pin to digital pin 5
 * LCD D6 pin to digital pin 6
 * LCD D7 pin to digital pin 7                    
 */
#include <LiquidCrystal.h>           // include the library 
// initialize the library with the numbers of the interface pins
//  LiquidCrystal(RS, RW, EN, D4, D5, D6, D7) 
LiquidCrystal lcd( 3,  2,  1,  4,  5,  6,  7);
void setup() {
  // set up the LCD's number of columns and rows: 
  lcd.begin(16, 2);
  // Print a message to the LCD.
  lcd.print("Ahoj!");
}
void loop() {
  // set the cursor to column 0, line 1
  // (note: line 1 is the second row, since counting begins with 0):
  lcd.setCursor(0, 1);
  // print the number of seconds since reset:
  lcd.print(millis()/1000);
}
Misc: