Примеры CodeVisionAVR - Исследование LCD CodeVisionAVR
Зміст статті
Интересный пример в интернете, представлен корейским радиолюбителем.
При переводе страницы на русский язык использовался машинный перевод, оригинал страницы здесь
http://blog.naver.com/PostList.nhn?from=postList&blogId=wontae12&categoryNo=8¤tPage=36
Исследование робот codevision ATmega8535 (LCD)
В экспериментах проводиш весь день ... времени на все в обрез и ... ничего, что особенного ...
Чтобы открыть книги, изучать их так трудно .....А исследование это уже весело....... По этим и другим причинам, экспереметировать интересней ...
Как я изучаю codevision "Робот Исследование ATmega8535" ЖК-часть, здесь примеры чтобы учиться.
void main(void)
{
// ЖК-модуль инициализации
lcd_init (16);
lcd_putchar('A');
lcd_putchar('B');
lcd_putchar('C');
} //main
void main(void)
{
// ЖК-модуль инициализации
lcd_init (16);
// 0 Переход к строке колонки 5
lcd_gotoxy(5,0);
lcd_putchar('A');
// вывести 1 строке 6 место
lcd_gotoxy(6,1);
lcd_putchar('B');
}
// Объявления переменных
char disp_1[] = "HELLO !";
char disp_2[] = "Student";
// ЖК-модуль инициализации
lcd_init (16);
// Переход к началу строки на 0
lcd_gotoxy (0,0);
// для HELLO! вывод
lcd_puts(disp_1);
// Переход к началу строки 1
lcd_gotoxy(0,1);
// Строка1 Студент
вывод
в
lcd_puts(disp_2);
// ЖК-модуль инициализации
lcd_init (16);
// Переход к началу строки
lcd_gotoxy (0,0);
// вывод в Line0
lcd_putsf("16*2 LCD TEST");
// Переход к началу Строка1
lcd_gotoxy(0,1);
// Строка1 вывод
lcd_putsf("robotstudy.com");
char disp_1[] = "16*2 LCD TEST";
char disp_2[] = "HELLO !";
char disp_3[] = "Student";
char disp_4[] = "robotstudy.com";
char disp_5[] = "Lee Jaechang";
// объявление переменной,
unsigned char key_val;
// PORTD нижнего 4 бита на входе, выходе, установить верхние 4 бита
// PORTD как нижние 4 бита начальной тянуть, верхние 4 бита установлены в 0
DDRD=0xF0;
PORTD = 0x0F;
// ЖК-модуль инициализации
lcd_init (16);
// очистка экрана
lcd_clear();
lcd_gotoxy(0,0);
lcd_puts(disp_1);
while(1)
{
/ / извлечение значения ниже 4 бита PORTA
key_val = PIND & 0x0F;
// Х0 включается, если
if ( key_val == 0x0E ){
lcd_clear();
lcd_gotoxy(0,0);
lcd_puts(disp_2);
}
// X1 во включенном положении, иначе если
else if (key_val == 0x0D ){
lcd_clear();
lcd_gotoxy(0,1);
lcd_puts(disp_3);
}
// X2 переключатель ON, остальное, если
else if (key_val == 0x0B ){
lcd_clear();
lcd_gotoxy(0,0);
lcd_puts(disp_4);
lcd_gotoxy(0,1);
lcd_puts(disp_5);
}
// X3 переключатель ON, остальное,
else if (key_val == 0x07 ){
lcd_clear();
}
};//while
while(1)
{
// ЖК-модуль инициализации
lcd_init (16);
// HELLO!
lcd_putchar('H');
lcd_putchar('E');
lcd_putchar('L');
lcd_putchar('L');
lcd_putchar('0');
lcd_putchar('!');
/ / Курсор появляется на IR = 0x0E
/ / Раздел 2.1.2 Справочник по командам
_lcd_ready();
_lcd_write_data(0x0E);
delay_ms(1000);
// Курсор появляется и мигает ИК = 0x0F
_lcd_ready ();
_lcd_write_data (0x0F);
delay_ms (1000);
// Нет Курсор мигает IR = 0x0D
_lcd_ready();
_lcd_write_data(0x0D);
delay_ms(1000);
// Не моргнул без курсора IR = 0x0C
_lcd_ready();
_lcd_write_data(0x0C);
delay_ms(1000);
//Disply OFF IR = 0x0A, 0x09, 0x08
_lcd_ready();
_lcd_write_data(0x09);
delay_ms(1000);
}; //while
unsigned char i;
// инициализируем ЖК-модуля
lcd_init(16);
// Выходной сигнал к ЖКИ
lcd_putsf("16*2 LCD TEST");
lcd_gotoxy(0,1);
lcd_putsf("HELLO !");
while(1)
{
// Право 5 квадратов двигаться
for( i=0; i<5; i++)
{
_lcd_ready();
_lcd_write_data(0x1C);
delay_ms(500);
}
// влево 5 квадратов двигаться
for( i=0; i<5; i++)
{
_lcd_ready();
_lcd_write_data(0x18);
delay_ms(500);
}
}; //while
ex221-8 CG RAM ЖК-продукции.
EX232-01 ЖК-вывода числовой переменной.
// Объявление переменной,
unsigned char c_val = 0xA1;
int int_val = 12345;
// 16 * 2 LCD выхода на объявление символьной переменной
char lcd_text[16];
// ЖК-модуль инициализации
lcd_init (16);
// Изменить шестнадцатеричный символ переменной вывод на ЖК-
sprintf(lcd_text, "Char val = 0x%X",c_val);
lcd_gotoxy(0,0);
lcd_puts(lcd_text);
// Десятичное изменения в символьной переменной вывод на ЖК-
sprintf(lcd_text, "int val = %i",int_val);
lcd_gotoxy(0,1);
lcd_puts(lcd_text);
Вот такой молодец, этот парень. Сам иследовал и другим показал. Как это делается....... |
![]() |