Организация ЭВМ. Довгий П.С - 38 стр.

UptoLike

38
Основная программа ввода числа с клавиатуры (фиксируется нажатие
клавиши, идентифицируется клавиша и формируется текущее значение числа с
переводом 10/2).
Алгоритм последовательного сканирования
1) Формирование кода сканирования строк P3[7..4]=7.
2) Контроль нажатия клавиши(установить код и сформировать
прерывание).
3) Идентифицировать замкнутый переключатель по коду 0x79.
4) Ожидание размыкания считыванием кода с порта P3, в младшей
тетраде
кода (должно быть 0x0F).
#include <reg51.h>
float numb; //целое число при вводе
char digit; //цифра, вводимая с клавиши
//предопределение функцийпозволяет в любом порядке вводить их в конце
//программы
char xdata mas[8]; //формирование строки символов из вводимых цифр
void Int00(void);
//ввод десятичного числа цифра за цифрой
//идентификация цифры по коду клавиши
main ()
{
EX0=1; //маски
прерываний
IT0=1; //тип прерыванияпо фронту
EA=1; //разрешение прерываний
while (1); //ожидание прерываний
}
void Int00(void) interrupt 0 //фиксировать нажатие клавиши по прерыванию
INT0
{
switch (P3)
{ case 0x01: digit=’0’; break;
case 0xfe: digit=’1’; break;
case 0x02: digit=’2’; break;
case 0xfd: digit=’3’; break;
case 0x79: digit=4; break;
case 0xfb: digit=5; break;
case 0x08: digit=6; break;