Cтраница 2
Другая, более интересная возможность связана с использованием функциональной клавиатуры во время выполнения программы. При нажатии функциональной клавиши в этом случае происходит прерывание вычислительного процесса и управление передается подпрограмме обработки, приписанной к данной клавише. [16]
Большая подгруппа клавиш с обозначениями элементарных функций ( показательных, логарифмических, прямых и обратных тригонометрических и некоторых других) имеется в более сложных моделях инженерных микрокалькуляторов. Поскольку предусмотренное конструкцией этих моделей количество автоматически выполняемых подпрограмм для вычисления этих функций обычно значительно больше количества клавиш, которые можно разместить на лицевой панели прибора, часть клавиш отводится для выполнения двух функций, при этом одна выполняется при непосредственном нажатии данной клавиши, а другая - после предварительного нажатия клавиши [ F ], называемой префиксной, или клавишей совмещенной функции. В некоторых моделях, например БЗ-38, БЗ-21, БЗ-34, МК-54, часть клавиш выполняет даже три функции. [17]
Это приводит к перемещению наборных линеек влево или вправо, в зависимости от того, куда сместились вырезы на этих линейках - с верхнего правого положения в нижнее левое или наоборот. Сдвинутая вправо наборная линейка находится в положении токовый импульс, сдвинутая влево - в положении бестоковый импульс. Таким образом наборные линейки устанавливаются в положение, соответствующее телеграфному коду для данной клавиши. [18]
Перепрограммирование функциональных клавиш может привести к ошибочной работе прикладных программ, которые также используют данные клавиши. [19]
Простейшая структура данных, состоящая из нескольких элементов данных, называется списком. Данные запоминаются в последовательности, соответствующей списку, обычно таким же образом, каким они создаются или генерируются. Структура данных ВХОДНАЯ ЗАПИСЬ системы, которая использу т клавишный ввод информации, является примером списка. При каждом нажатии клавиши оператором запоминается символьный код, обозначаемый данной клавишей. Когда оператор заканчивает ввод данных, список содержит символьные коды, соответствующие последовательности нажатия клавиш оператором. Примером клавиатуры, предназначенной для использования в системе расчета за покупки, является клавиатура, изображенная на рис. 2.2. В системе этого типа входная последовательность может состоять из значений величины счета или цены изделия. Рассмотрим, как проектируются в таких системах процедуры обработки структуры данных ВХОДНАЯ ЗАПИСЬ в модуле ПОДДЕРЖКИ ВХОДНОЙ ЗАПИСИ. [20]
Любая функция может задаваться с клавиатуры или от вычислительного комплекса. Для определения позиции на экране служит указатель, который перемещается с помощью специальных клавиш. Помимо основных алфавитно-цифровых и управляющих клавиш на клавиатуре имеется 16 технологических клавиш, смысл которым может приписывать потребитель. При нажатии клавиши в вычислительный комплекс посылается кодовая комбинация, идентифицирующая данную клавишу. [21]
Для подготовки к вводу данных подобного рода, а также для вывода их из машины можно использовать стандартную аппаратуру, широко применяемую в технике связи - так называемые телетайпы. Основу телетайпа составляет обычная электрифицированная пишущая машинка, соединенная с перфоратором бумажной ленты. Каждая строка этой ленты имеет фиксированное количество позиций ( дорожек), в которых могут наноситься пробивки - мы будем рассматривать пятидорожеч-ные перфоленты. При нажатии каждой клавиши пишущей машинки производится печать на бумаге соответствующего знака и одновременно на очередную строку перфоленты наносится определенная комбинация пробивок, поставленная в соответствие данной клавише ( данному знаку), после чего лента продвигается на одну строку вперед. На пятидорожечной перфоленте возможны 32 различные комбинации пробивок в одной строке, что дает возможность непосредственно изображать на ленте в закодированном виде 32 различных знака. [22]
Клавиатура обслуживается микропроцессором в режиме прерывания. Микропроцессор выполняет операции опроса, подавления переходных колебательных процессов и дешифрации. Рассмотрим обслуживание клавиатуры, содержащей 18 клавиш. Ее электрическая схема представляет три горизонтальных линии и шесть вертикальных. У каждого пересечения линий помещен ключ, контакты которого при нажатии клавиши замыкаются на малый интервал времени. Вследствие этого данная вертикальная линия соединяется с соответствующей горизонтальной. На вертикальные линии последовательно с определенной частотой подаются импульсы. В течение интервала прерывания микропроцессор, располагающий информацией, на какой из вертикальных линий в данный момент имеется импульс, опрашивает три горизонтальных линии. Если при опросе нажата, апример, клавиша, соединяющая пятую вертикальную линию со второй горизонтальной, и в момент опроса на пятую вертикальную линию подан импульс, то на второй горизонтальной линии, пока замкнут ключ, будет логический нуль. Таким образом микропроцессор определяет, какая клавиша была нажата, направляет эту информацию ( в числовой форме) в ОЗУ и выдает команду подсвета светодиода, соответствующего данной клавише. Опрос клавиатуры проводится микропроцессором примерно 100 раз в секунду и продолжительность опроса составляет около 100 икс. [23]