Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С
Шрифт:
//********************************************************************
void disable(void) {
PORTDLC = PORTDLC | 0x04;
}
//********************************************************************
//Command: Функция посылает команду отключения на ЖКД
//********************************************************************
void command(unsigned char n) {
status_wait;
PORTP = n;
PORTDLC = 0xFF;
PORTDLC = PORTDLC & 0xFE; //
сброс записи
enable; // сброс флага CE
delay(10); // задержка не менее 80 нс
disable; // включение флага CE
}
//********************************************************************
//Data: Функция пересылает данные на ЖКД
//********************************************************************
void data(unsigned char n) {
status_wait;
PORTP = n;
PORTDLC = 0xFF;
PORTDLC = PORTDLC & 0xF7; // перевести C/D на низкий уровень
PORTDLC = PORTDLC & 0xFE; // перевести WR на низкий уровень
PORTDLC = PORTDLC & 0xFB;
delay(10);
disable;
}
//********************************************************************
//Write: Функция конфигурирует порт P как выходной
//********************************************************************
void write {
DDRP = 0xFF;
}
//********************************************************************
//Read: Функция конфигурирует порт P как входной
//********************************************************************
void read {
DDRP = 0x00;
}
//********************************************************************
//Status_wait: Создает соответствующие задержки между командами ЖКД
//********************************************************************
void status_wait {
char temp = 0x00;
DDRP = 0x00;
PORTDLC = PORTDLC | 0x0F; // сбросить все
PORTDLC = PORTDLC & 0xFD; //
сброс флага RD
enable;
delay(10);
while ((temp & 0x03) != 0x03) {
temp = PORTP;
}
disable;
DDRP = 0xFF;
}
//********************************************************************
//LCD_char: Функция выводит ASCII код на экран ЖКД
//********************************************************************
void LCD_char(unsigned char n) {
data(n-0x20);
command(0xC0);
}
//********************************************************************
//Clearscreen: Функция очищает экран ЖКД
//********************************************************************
void Clearscreen {
int i,j;
Reset_cursor;
for (i=0; i < 16; i++) for (j=0; j<16; j++) LCD_char(' ');
Reset_cursor;
}
//********************************************************************
//Newline: Функция выводит пустую строку на экран ЖКД
//********************************************************************
void newline {
int i;
for (i=0; i < 16; i++)
LCD_char(' ');
}
//********************************************************************
//Reset_cursor: Функция возвращает курсор ЖКД в начальную позицию
//********************************************************************
void Reset_cursor {
data(0x00);
data(0x10);
command(0x24);
}
//********************************************************************
7.7.7. Некоторые комментарии
Система для игры в «15» использует пять кнопок вспомогательной клавиатуры, чтобы перемещать фишки: стрелку «Вверх», стрелку «Вниз», стрелку «Вправо», стрелку «Влево» и кнопку «Выбор». Кроме того, расположение фишки определяется номерами строки и столбца. Однажды сформированная, система может использоваться для игры взрослыми и детьми.
Поделиться:
Популярные книги
Измена. Тайный наследник
1. Тайный наследник
Фантастика:
фэнтези
5.00
рейтинг книги
Инквизитор Тьмы
1. Инквизитор Тьмы
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Наследник
3. Династия
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Ротмистр Гордеев 3
3. Ротмистр Гордеев
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
(Не)нужная жена дракона
5. Хроники Драконьей империи
Любовные романы:
любовно-фантастические романы
6.89
рейтинг книги
Идеальный мир для Лекаря 28
28. Лекарь
Фантастика:
юмористическое фэнтези
аниме
фэнтези
5.00
рейтинг книги
Сыночек в награду. Подари мне любовь
1. Суровые отцы
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Инквизитор Тьмы 2
2. Инквизитор Тьмы
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Генерал Скала и ученица
2. Генерал Скала и Лидия
Любовные романы:
любовно-фантастические романы
6.30
рейтинг книги
Искатель 1
1. Валинор
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Сердце Дракона. Том 10
10. Сердце дракона
Фантастика:
фэнтези
героическая фантастика
боевая фантастика
7.14
рейтинг книги
Печать мастера
6. Гибрид
Фантастика:
попаданцы
технофэнтези
аниме
фэнтези
6.00
рейтинг книги
Выстрел на Большой Морской
4. Сыщик Его Величества
Детективы:
исторические детективы
полицейские детективы
8.64
рейтинг книги
Кодекс Крови. Книга VII
7. РОС: Кодекс Крови
Фантастика:
боевая фантастика
попаданцы
аниме
5.00