Предыдущая Следующая

LCD_RS_CLR; //будет передаваться команда

lcd_send_byte(comand); //передача команды

//delay(108000); //задержка 2000 мкс для готовности ЖКИ

lcd_opros(); //ожидание готовности ЖКИ

}

void lcd_init() // инициализация ЖКИ {

lcd_com(0x28); //4-битная шина, 2 строки, символ 5x7 lcd_com(0x01); //очистка дисплея, курсор в нач положение lcd_com(0x06); //дисплей не сдвигать, курсор сдвигать lcd_com(0x0C); //включить дисплей, погасить курсор }

void lcd_clear() //очистка экрана ЖКИ {

lcd_com(0x01); //очистка дисплея, курсор в начальное положение }

//Опрос ЖКИ на предмет его готовности принимать команды и данные

void lcd_opros()

{

LCD_RW_SET; //режим чтения из ЖКИ

LCD_RS_CLR; //будет читаться команда

IOlDIR_bit.Pl_20=0; //---------------------------

IOlDIR_bit.Pl_21=0; // сделать шину данных IOlDIR_bit.Pl_22=0; // входами

IOlDIR_bit.Pl_23=0; //---------------------------

Opros:

delay(100); //

LCD_E_SET; // фронт импульса стробирования записи/чтения ЖКИ

delay(100); //

if (LCD_D7==ON) //(опрос флага BUSY) свободен ли ЖКИ?

{

delay(100); //

LCD_E_CLR; // спад импульса стробирования записи/чтения ЖКИ

delay(100); //

lcd_pulse_E(); //импульс стробирования записи/чтения ЖКИ goto Opros; //

else {

delay(100); //

LCD_E_CLR; delay(lOO); // lcd_pulse_E(); }

LCD_RW_CLR; IOlDIR_bit.Pl_20=l I01DIR_bit.Pl_21=l IOlDIR_bit.Pl_22=l IOlDIR_bit.Pl_23=l delay(100); // }

Этот файл в дальнейшем будет указываться во всех проектах, как подключаемый. В файле содержатся следующие функции: функция начальной инициализации ЖКИ после сброса lcd_init(), функция очистки экрана ЖКИ lcd_clear(), функция передачи в ЖКИ одной команды lcdjcom(comand), функция записи в ОЗУ ЖКИ одного байта данных (индикации на экране ЖКИ одного символа) по текущему адресу lcdjekjdata(date) или по произвольному адресу — led_pro_data(date, addr), функция опроса состояния ЖКИ lcd_opros(), возвращающая управление по готовности последнего, а также несколько вспомогательных функций следующего уровня вложенности. Если пользователем выбран вариант интерфейса с опросом текущего состояния ЖКИ, то в файле необходимо «вручную» раскомментировать (убрать стоящие перед ними символы «//») команды вызова функции lcd_opros() во всех функциях, где они встречаются, а команды вызова функций временных задержек delay(3000) и delay(108000), наоборот, везде закомментировать (поставить перед ними символы «//»). Если выбран вариант с отсутствием опроса (генерации задержек ожидания), необходимо, наоборот, раскомментировать вызовы этих задержек и закомментировать вызовы функции опроса lcd_opros(). Следует заметить, что для такого «быстрого» микроконтроллера, каким является LPC2129, очевидно, рациональнее будет использовать вариант интерфейса ЖКИ с опросом его состояния (в этом случае, программа тратит значительно меньшее общее время на индикацию). Определения и макросы задания состояний линий подключения ЖКИ к микроконтроллеру содержатся в файле hardware.h. Там же находятся определения констант-фонтов русского и латинского алфавитов HD44780-cob-местимого ЖКИ.


Предыдущая Следующая



НА ГЛАВНУЮ | ЧТО ТАКОЕ PIC ? | ПРОГРАММАТОР | ПРОЕКТЫ | СТАТЬИ | ССЫЛКИ | КАРТА САЙТА
Hosted by uCoz