Kompatibilní zapojení: LCD panel s ATmega8

Ke stažení: lcd.c == lcd.pdf == lcd.htm


/*---------------------------------------------------------------------------

soubor: lcd.c
verze:  1.0
datum:  13.1.2012
popis:

Obsluzne rutiny pro displej 2x16 znaku s radicem HD44780

-Komunikace je ctyrbitova (pouzivaji se pouze piny displeje D4 - D7)
-Displej je v rezimu "pouze zapis" (signal "R/W" displeje je uzemen)
-Displej je pripojen k mikrokontroleru pouze signaly: RS, EN a D4 az D7.

Tento soubor vynikl upravou souboru "mojelib.h" jehoz autora bohuzel neznam.

---------------------------------------------------------------------------*/

#include <avr/pgmspace.h>  // pgm_read_byte()

#ifndef	setb	//setb = makro ze souboru "wait.c"
#include "wait.c"
#endif

//Defaultni definice pinu, ke kterym je displej pripojen
#ifndef PORT_RS
#define PORT_RS 	PORTD
#define DDR_RS 		DDRD
#endif
#ifndef PORT_EN
#define PORT_EN 	PORTD
#define DDR_EN 		DDRD
#endif
#ifndef PORT_D4
#define PORT_D4 	PORTD
#define PORT_D5 	PORTD
#define PORT_D6 	PORTD
#define PORT_D7 	PORTD
#define DDR_D4 		DDRD
#define DDR_D5 		DDRD
#define DDR_D6 		DDRD
#define DDR_D7 		DDRD
#endif
#ifndef   RS
#define		RS 		2
#endif
#ifndef   EN
#define 	EN 		3
#endif
#ifndef   D4
#define 	D4 		4
#define 	D5 		5
#define 	D6 		6
#define 	D7 		7
#endif

// Funkce pro displej:
void lcd_ini  (void);                   //inicializace
void lcd_instr(unsigned char ins);      //napis instrukci
void lcd_char (unsigned char dat);      //napis znak
void lcd_num3  (unsigned int num,unsigned char znak); //napis cislo (3 cifry)
void lcd_num2  (unsigned char num,unsigned char znak);//napis cislo (2 cifry)