Решил попробовать разобраться как сей девайс работает источник
тут
код
Код:
/****Тестовая программа для LCD****/
#include <io.h>
#include <delay.h> //используем стандартную процедуру задержки
#define RS PC0 //RS подключаем к PC0 микроконтроллера
#define EN PC2 //EN подключаем к PC2 микроконтроллера
/***Функция записи команды в LCD***/
void lcd_com(unsigned char p) //'p' байт команды
{
PORTC &= ~(1<<RS); // RS = 0
PORTC |= (1<<EN); // EN = 1 (начало записи команды в LCD)
PORTD = p; // вывод команды на шину DB0-7 LCD
delay_us(100); // длительность сигнала EN
PORTC &= ~(1 << EN); // EN = 0 (конец записи команды в LCD)
delay_us(100); // пауза для выполнения команды
}
/***Функция записи данных в LCD***/
void lcd_dat(unsigned char p) //'p' байт команды
{
PORTC |= (1 << RS)|(1 << EN); //RS = 1, EN = 1 (начало записи команды в LCD)
PORTD = p; //вывод команды на шину DB0-7 LCD
delay_us(100); // длительность сигнала EN
PORTC &= ~(1 << EN); // EN = 0 (конец записи команды в LCD)
delay_us(100); // пауза для выполнения команды
}
/***Функция инициализации LCD***/
void lcd_init(void)
{
lcd_com(0x08); // полное выключение дисплея
lcd_com(0x38); // 8 бит 2 строки
delay_us(100);
lcd_com(0x38); // 8 бит 2 строки
delay_us(100);
lcd_com(0x38); // 8 бит 2 строки
lcd_com(0x38);
lcd_com(0x01); // очистка дисплея
delay_us(100);
lcd_com(0x06); // сдвиг курсора вправо
lcd_com(0x0D); // включение дисплея, мигающий курсор
}
/***Основная программа***/
int main (void)
{
DDRC |= (1 << PC2)|(1 << PC1)|(1 << PC0); // PC0-3 выходы
PORTC = 0x00; // лог. 0 на выходе
DDRD = 0xff; // PD0-7 выходы
PORTB = 0x00;
lcd_init(); // инициализация дисплея
lcd_dat('H'); // выводим символы на экран
lcd_dat('e');
lcd_dat('l');
lcd_dat('l');
lcd_dat('o');
lcd_dat(' ');
lcd_dat('w');
lcd_dat('o');
lcd_dat('r');
lcd_dat('l');
lcd_dat('d');
lcd_dat('!');
}
при компиляции в CodeVisionAvr ругается
Error: C:\Users\dog\Desktop\test\test_cld.c(13): undefined symbol 'PORTC'
Error: C:\Users\dog\Desktop\test\test_cld.c(14): undefined symbol 'PORTC'
Error: C:\Users\dog\Desktop\test\test_cld.c(15): undefined symbol 'PORTD'
Error: C:\Users\dog\Desktop\test\test_cld.c(17): undefined symbol 'PORTC'
Error: C:\Users\dog\Desktop\test\test_cld.c(25): undefined symbol 'PORTC'
Error: C:\Users\dog\Desktop\test\test_cld.c(26): undefined symbol 'PORTD'
Error: C:\Users\dog\Desktop\test\test_cld.c(28): undefined symbol 'PORTC'
Error: C:\Users\dog\Desktop\test\test_cld.c(51): the 'main' function must return 'void' type
Error: C:\Users\dog\Desktop\test\test_cld.c(54): undefined symbol 'PORTC'
Error: C:\Users\dog\Desktop\test\test_cld.c(55): undefined symbol 'DDRD'