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

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

Шрифт:

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);

  • Читать дальше
  • 1
  • ...
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

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