Чтение онлайн

на главную - закладки

Жанры

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

Пак Дэниэл Дж.

Шрифт:

 char code[4]; //массив для введенной пользователем

//последовательности символов

 initialize_lcd ; //инициализация ЖК индикатора

 initialize_key; //инициализация портов для клавиатуры

 for (k=0; k<4; k++) //разрешает 4 раза ввести комбинацию из

 { //4 символов

count = 0;

putcommands(0x01);

lcd_print("Enter Code:");

while (count < length) //обработка 4
нажатий клавиатуры

{

for(i=0; i<=50; i++) //ожидание ввода символа

{

PORTB = 0х01; //опрос первого ряда клавиатуры

keypress = PORTB;

key = keypad(keypress, first);

if (key != 'Z') //если клавиша нажата

{

printf("%c", key);

code[count] = key; //записать очередной символ в

//массив ввода

count++; //перейти к сканированию следующего

//символа

}

}

for(i=0; i<= 50; i++) // ожидание ввода символа

{

PORTB = 0х02; //опрос второго ряда клавиатуры

keypress = PORTB;

key = keypad(keypress, second);

if (key != 'Z') {

printf("%с", key);

code[count] = key; //записать очередной символ в

//массив ввода

count++; //перейти к сканированию следующего

//символа

}

}

for(i=0; i<= 50; i++) //ожидание ввода символа

{

PORTB = 0х04; //опрос третьего ряда клавиатуры

keypress = PORTB;

key = keypad(keypress, third);

if (key != 'Z') {

printf("%c", key);

code[count] = key; //записать очередной символ в

//массив ввода

count++; //перейти к сканированию следующего

//символа

}

}

for(i=0; i<= 50; i++) //ожидание ввода символа

{

PORTB = 0х08; //опрос четвертого ряда клавиатуры

keypress = PORTB;

key = keypad(keypress, fourth);

if (key != 'Z') {

printf("%c", key);

code[count] = key; //записать
очередной символ в

//массив ввода

count++; //перейти к сканированию следующего

//символа

}

}

} //очередные 4 символа введены, можно сверять с эталонными

/*Проверка соответствия кода на эталонный*/

j = 0;

for(i=0;i<3;++i) //проверка по каждому символу эталонной

//последовательности

{

if(pin[i]==code[i]) //очередной символ правильный

{

j++;

} else //очередной символ неправильный

{

j--;

}

}

if (j == (length - 1)) //если j=3, то все символы введены правильно

{

putcommands(0x01);

lcd_print("Access Granted");

}

else //символы введены неправильно

{

putcommands(0x01);

lcd_print("Access Denied");

}

 }

 putcommands(0x01);

 lcd_print(" Goodbye ! "); //конец попыток ввода

}

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

/*Перечень функций, которые использованы в этой программе */

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

/* Функции, программный код которых был приведен ранее по тексту главы*/

char which_key(unsigned int keypress);

void delay_5ms(void);

void delay_100us(void);

void initialize_lcd(void);

void putchars(unsigned char с);

void putcommands(unsigned char d);

void lcdprint(char *string);

Поделиться:
Популярные книги

Солнечный корт

Сакавич Нора
4. Все ради игры
Фантастика:
зарубежная фантастика
5.00
рейтинг книги
Солнечный корт

О, мой бомж

Джема
1. Несвятая троица
Любовные романы:
современные любовные романы
5.00
рейтинг книги
О, мой бомж

Возвышение Меркурия. Книга 2

Кронос Александр
2. Меркурий
Фантастика:
фэнтези
5.00
рейтинг книги
Возвышение Меркурия. Книга 2

Вы не прошли собеседование

Олешкевич Надежда
1. Укротить миллионера
Любовные романы:
короткие любовные романы
5.00
рейтинг книги
Вы не прошли собеседование

Метаморфозы Катрин

Ром Полина
Фантастика:
фэнтези
8.26
рейтинг книги
Метаморфозы Катрин

Эволюция мага

Лисина Александра
2. Гибрид
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Эволюция мага

Попаданка для Дракона, или Жена любой ценой

Герр Ольга
Любовные романы:
любовно-фантастические романы
7.17
рейтинг книги
Попаданка для Дракона, или Жена любой ценой

Истинная поневоле, или Сирота в Академии Драконов

Найт Алекс
3. Академия Драконов, или Девушки с секретом
Любовные романы:
любовно-фантастические романы
6.37
рейтинг книги
Истинная поневоле, или Сирота в Академии Драконов

Сумеречный Стрелок 5

Карелин Сергей Витальевич
5. Сумеречный стрелок
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Сумеречный Стрелок 5

Кодекс Охотника. Книга XXI

Винокуров Юрий
21. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XXI

Возвышение Меркурия. Книга 17

Кронос Александр
17. Меркурий
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия. Книга 17

Переиграть войну! Пенталогия

Рыбаков Артем Олегович
Переиграть войну!
Фантастика:
героическая фантастика
альтернативная история
8.25
рейтинг книги
Переиграть войну! Пенталогия

Волков. Гимназия №6

Пылаев Валерий
1. Волков
Фантастика:
попаданцы
альтернативная история
аниме
7.00
рейтинг книги
Волков. Гимназия №6

Картофельное счастье попаданки

Иконникова Ольга
Фантастика:
фэнтези
5.00
рейтинг книги
Картофельное счастье попаданки