Operácie

MMP Cvičenie 3: Rozdiel medzi revíziami

Z SensorWiki

(Arduino)
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.
 
 
Ďalej máte k dispozícii knižnicu ([[AVR lcd.c|lcd.c]], [[AVR lcd.h|lcd.h]]) s fungujúcou inicializáciou displeja a príkazmi na ovládanie.
 
Pripravené sú funkcie:
 
<source lang="c">
 
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
 
</source>
 
  
 
=== Ú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.
 
  
  
Riadok 40: Riadok 20:
  
  
 +
 +
[[Obrázok:Acrob_LCD_Schematic.png|center]]
 +
 +
[[Obrázok:Acrob_LCD_Schema2.png|800px|center]]
 +
 +
 +
=== Ú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.
  
  
 +
* [http://ap.urpi.fei.stuba.sk/mmp/cvic4.hex Toto] je skompilovaná ukážka možností práce s displejom.
  
[[Obrázok:Acrob_LCD_Schematic.png|center]]
+
Ďalej máte k dispozícii knižnicu ([[AVR lcd.c|lcd.c]], [[AVR lcd.h|lcd.h]]) s fungujúcou inicializáciou displeja a príkazmi na ovládanie.
 +
Pripravené sú funkcie:
 +
<source lang="c">
 +
void lcdInit4(void);                    // inicializácia displeja 4-bitovo
  
[[Obrázok:Acrob_LCD_Schema2.png|800px|center]]
+
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
 +
</source>
  
  

Verzia zo dňa a času 05:59, 21. október 2011

Programovateľný LCD displej

LCD Modul

ParallaxLCDAppMod.jpg

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


Acrob LCD Schematic.png
Acrob LCD Schema2.png


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

  1. . posun kurzora doprava / dolava
  2. . posun obsahu displeja doprava / dolava
  3. . napíšte funkciu funkcia void lcdGotoXY(riadok, stlpec)
  4. . clear displeja (a obnovenie povodneho obsahu displeja)
  5. . zadefinujte si vlastné znaky a zobrazte ich spolu s iným textom. Povinne aspoň jeden znak s diakritikou a znak stupeň, zobrazte teplotu.


  • 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


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

/*
  LiquidCrystal Library - Hello World
 
 Demonstrates the use a 8x2 LCD display.  
 
   The circuit:
 * LCD RS pin to digital pin 3
 * LCD R/W pin to digital pin 2
 * LCD Enable pin to digital pin 1
 * 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(8, 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:




Návrat na zoznam cvičení...