+++ title = "AVR - LCD panel - #1 Program" perex_e = " Kompatibilní zapojení: LCD panel s ATmega8 Ke stažení: LCD_001.c == LCD_001.pdf == LCD_001.htm . . " tags = ["Článek", "Bastlení", "Konstrukce", "2012"] +++ Kompatibilní zapojení: LCD panel s ATmega8 Ke stažení: LCD_001.c == LCD_001.pdf == LCD_001.htm . . * * * <title>Untitled</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta name="generator" content="SynEdit HTML exporter"> <style type="text/css">&amp;lt;!-- body { color: #000000; background-color: #FFFFFF; } .cpp1-assembler { } .cpp1-brackets { } .cpp1-comment { color: #008000; font-style: italic; } .cpp1-float { color: #000080; } .cpp1-hexadecimal { color: #000080; } .cpp1-character { } .cpp1-identifier { } .cpp1-illegalchar { } .cpp1-number { color: #000080; } .cpp1-octal { color: #0000FF; } .cpp1-preprocessor { } .cpp1-reservedword { font-weight: bold; } .cpp1-space { color: #008080; } .cpp1-string { color: #800000; } .cpp1-symbol { } --&amp;gt;</style> ``` /* Začínáme s novým přípravkem ATmega_lcd_uni, který je vybaven znakovým LCD displejem a klávesnicí. LCD displej má zobrazovací kapacitu dva řádky po šestnácti sloupcích (32 znaků) znaky (písmenka a speciální znaky jsou uložené přímo v paměti displeje a přibližně odpovídají ASCII tabulce (viz datasheet displeje rc1602b-biw-esx) Protože je ale výrobci jasné, že by někdo mohl chtít na displeji zobrazovat i jiné znaky, než které jsou uvedeny v tabulce, ponechal 8 míst volných, kam si můžeme nahrát vlastní znaky Většinou se tato místa využívají pro písmena s českou interpunkcí (ta v základní tabulce nejsou) Klávesnice je tvořena dvěma řadami po třech tlačítkách, což je pro většinu aplikací dostatečný počet. Navíc je ke každému tlačítku sériově připojena dioda, a to tak, že lze rozlišit i více stisknutých tlačítek najednou. Je tedy možné používat dvojhmaty (i "vícehmaty"), což nám rozšiřuje počet samotných tlačítek o jejich vzájemné kombinace. */ /* Jak už to v programování bývá, první co program napíše, je text "Hello World". Náš první program tedy bude dělat to samé, ale protože jsme Češi, přidáme ještě tuto hlášku v češtině. Nejprve ale musíme do našeho programu vložit rutiny pro komunikaci s displejem, a soubor s konfigurací pinů mikrokontroléru pro tento přípravek. jedná se o soubory "atmega_lcd_uni_cfg.c" a "lcd.c". Soubor "atmega_lcd_uni_cfg.c" obsahuje informace o tom, ke kterým pinům je připojen displej a ke kterým je připojena klávesnice. Musí být proto vložen ještě před souborem "lcd.c". Soubor "lcd.c" obsahuje rutiny pro práci s displejem. Nemusíme se tedy starat o to jak s displejem komunikovat, ale můžeme již rovnou na něj posílat data pomocí již hotových funkcí. Funkce v souboru "lcd.c" jsou: void lcd_ini (void);//inicializace displeje (nastavení pinů a zahájení komunikace) void lcd_char (unsigned char dat);//napíše znak pomocí ASCII kódu (písmena, čísla) void lcd_num3 (unsigned int num,unsigned char znak);//napíše cislo (3 cifry) void lcd_num2 (unsigned char num,unsigned char znak);//napíše cislo (2 cifry) ```