Читаем Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С полностью

3. Выдать на порт PORT P байт данных (код символа или команда управления);

4. Перевести линию E в неактивное состояние (логический 0).

В процессе создания на основе этого алгоритма программы управления следует учесть все перечисленные ранее задержки между сигналами.

Программа управления ЖК индикатором. Структура программы управления символьным ЖК индикатором представлена на рис. 5.13,а. Программа включает коллекцию функций, каждая из которых выполняет законченное смысловое действие. Разбиение задачи на отдельные функции — искусство разработчика. От выбранного набора функций и способов передачи параметров между ними зависит число возможных ошибок при последующем использовании этих функций в прикладной программе и компактность файла исполняемых кодов.

а) Набор функций управления

б) Блок-схема алгоритма инициализации

Рис. 5.13. Программное обеспечение для управления цифро-буквенным ЖК индикатором


Блок-схема функции инициализации дисплея представлена на рис. 5.13,б. Она реализует алгоритм начальной установки дисплея, который разработан в соответствии с техническими рекомендациями производителя.

Ниже приведен текст программы на Си для всех функций рис. 5.13,а.

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

/*filename: lcd.c                                                   */

/*содержит программный код для шести функций управления ЖК дисплеем */

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


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

/* Функция initialize_lcd производит начальную установку режимов дисплея */

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

void initialize_lcd(void) {

 delay_5ms();

 delay_5ms();

 delay_5ms(); //задержка 15 мс

 putcommands(0x38); //команда установки формата интерфейса обмена

 delay_5ms();

 putcommands(0x38);

 delay_l00us();

 putcommands(0x38);

 putcommands(0x38) ;

 putcommands(0x0C);

 putcommands(0x01); //очистить дисплей

 putcommands(0x06); //установить режим ввода с автоматическим

                    //увеличением адреса

                    //символа на 1

 putcommands(0x0E); //включить дисплей, режим курсора мигающий

 putcommands(0x02); //установить курсор на первое знакоместо

}


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

/* Функция putchars производит запись одного кода символа в контроллер */

/*дисплея                                                              */

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

void putchars(unsigned char с) {

 DDRP = 0xFF; //установить порт PORT P на вывод

 DDRDLC = DDRDLC | 0x0C; //установить разряды 2 и 3 порта PORT DLC на

                         //вывод

 PORTP = с; //Выдать в порт PORT P код символа с

 PORTDLC = PORTDLC | 0x08; //установить линию RS в 1

 PORTDLC = PORTDLC | 0x04; //установить линию E в 1

 PORTDLC = 0; //установить E и RS в 0

 delay_5ms(); //задержка 5 мс

}


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

/*Функция putcommands производит запись одного кода команды в контроллер */

/*дисплея                                                                */

Перейти на страницу:

Похожие книги

C# 4.0: полное руководство
C# 4.0: полное руководство

В этом полном руководстве по C# 4.0 - языку программирования, разработанному специально для среды .NET, - детально рассмотрены все основные средства языка: типы данных, операторы, управляющие операторы, классы, интерфейсы, методы, делегаты, индексаторы, события, указатели, обобщения, коллекции, основные библиотеки классов, средства многопоточного программирования и директивы препроцессора. Подробно описаны новые возможности C#, в том числе PLINQ, библиотека TPL, динамический тип данных, а также именованные и необязательные аргументы. Это справочное пособие снабжено массой полезных советов авторитетного автора и сотнями примеров программ с комментариями, благодаря которым они становятся понятными любому читателю независимо от уровня его подготовки. Книга рассчитана на широкий круг читателей, интересующихся программированием на C#.Введите сюда краткую аннотацию

Герберт Шилдт

Программирование, программы, базы данных
Разработка приложений в среде Linux. Второе издание
Разработка приложений в среде Linux. Второе издание

Книга известных профессионалов в области разработки коммерческих приложений в Linux представляет СЃРѕР±РѕР№ отличный справочник для широкого круга программистов в Linux, а также тех разработчиков на языке С, которые перешли в среду Linux из РґСЂСѓРіРёС… операционных систем. РџРѕРґСЂРѕР±но рассматриваются концепции, лежащие в основе процесса создания системных приложений, а также разнообразные доступные инструменты и библиотеки. Среди рассматриваемых в книге вопросов можно выделить анализ особенностей применения лицензий GNU, использование СЃРІРѕР±одно распространяемых компиляторов и библиотек, системное программирование для Linux, а также написание и отладка собственных переносимых библиотек. Р

Майкл К. Джонсон , Эрик В. Троан

Программирование, программы, базы данных