//Program pro vyzkouseni funkcnosti modulu s LCD a mikropocitacem ATmega8//MLAB 21.11.2011 (JACHO)//vytvoreno v programu AVR studio 4//Propojení pinù modulu s LCD a ATmega8 (jejich nastavení se provádí v lcd.h)//PIN_D0 PC3//PIN_D1 PB4//PIN_D2 PB5//PIN_D3 PB3//PIN_E PB1//PIN_RS PB2//pri spravne funkci se na LCD zobrazi na prvem a druhem radku LCD je OK//je dulezite spravne propojit modulu, napajet je a mit spravne nastaveny konstrast (pro zacatek potenciometr do prostred drahy)#include <avr/io.h>#include <stdio.h>#include <avr/iom8.h>#include "lcd.h"#include "lcd.c"#include <util/delay.h>#define MAXDISPLBUFFER 20 //buffer pro lcd display//-----------------------------------------------------------------------------int main(void){LCD_init(); //Inicializace LCDchar zasobnik[19];sprintf(zasobnik,"LCD je OK"); //vlozi text do zasobnikLCD_gotoxy(0,0); //definuje kam se zacne zapisovat na LCDProcesDispl(zasobnik);LCD_gotoxy(0,2);ProcesDispl(zasobnik);_delay_ms(1);return 0;}void ProcesDispl(char *data) //zajiuje tisk øetìzce na lcd{uint8_t a,b;for (a=0;a<MAXDISPLBUFFER;a++){switch (*(data+a)){case 0: *data = 0;return;case '\n': LCD_gotoxy(1,2);break; //posun na druhej øádekcase '\r': LCD_gotoxy(1,1);break;case '\a': LCD_gotoxy(6,2);break; //posun na 2.øádek 6.políèkocase '\f': LCD_gotoxy(1,1);for (b=0;b<8;b++) LCD_putc(0x20);LCD_gotoxy(1,2);for (b=0;b<8;b++) LCD_putc(0x20);LCD_gotoxy(1,1);break;default : LCD_putc(*(data+a));}}*data = 0;}