Простейшая микро-ЭВМ

РЕАЛИЗАЦИЯ ДИАЛОГОВОГО РЕЖИМА


Диалоговый режим реализует

взаимодействие человека с вычислительной машиной. Наиболее употребительными техническими средствами, обеспечивающими обмен информацией между человеком и машиной в процессе диалога, являются клавишные устройства и устройства визу­ального отображения (дисплеи). Поскольку ПМ-ЭВМ имеет, хотя и ограниченные по своим возможностям, клавиатуру и светодиодную индикацию, можно попытаться организовать на ней диалоговый режим. Введем в ПМ-ЭВМ следующую програм­му, предназначенную для оценки реакции оператора в диалого­вом режиме:

014000041                                 Ml: LXI H, TAB

014001  110

014002  014

014003257                                 М2: XRA А

014 004 323                                             OUT, OOOQ

014005 000

014006323                                             OUT.001Q

014007 001

014010323                                             OUT, 003Q

014011 003

014012107                                             MOV В, А



014 013 117                                             MOVC, A

014 014 057                                             CMA

014015323                                             OUT, 002Q

014 016 002

014017176                                             MOV A, M

014 020 267                                             ORA A

014021312                                             JZ,M1

014 022 000

014023014

0140243-15                                 M3: CALL DL

014025 277

014 026 000

014027075                                             DCRA

014030302                                             JNZ, M3

014031 024

014 032014

014033323                                             OUT, 002Q

014034 002

014035333                                 M4: IN, 003Q

014 036 003

014037057                                             CMA

014 040 267                                             ORA A

014041312                                             JZ.M6

014042061

014 043 014


014044171                                             MOV А, С

014045323                                             OUT, OOOQ

014 046 000

014047170                                             MOV А, В

014050323                                             OUT, 001Q

014051 001

014052333                                 M5: IN, 003Q

014 053 003

014 054 057                                             CMA

014055267                                             ORA A

014056302                                             JNZ,M5

014 057 052

014 060014

014061315                                 M6: CALLDL

014062277

014 063 000

014064171                                             MOV А, С

014 065 074                                             INR A

014 066 047                                             DAA

014067117                                             MOVC, A

014070170                                             MOV А, В

014071316                                             ACI, OOOQ

014 072 000

014073047                                             DAA

014074107                                             MOVB.A

014075376                                             CPI,005Q

014076005

014077332                                             JC, M4

014 100035

014 101 014

014102043                                             INXH

014 103 303                                             JMP, M2

014 104 003

014 105 014

014110377                                             TAB:

014 111 200

014 112300

014 113 330

014 114000

После ввода программы нажмем кнопки СБРОС и П. Порт 002 высветит число 377Q (все единицы), а индикаторы портов 001 и 000 погашены. Через неизвестный оператору интервал времени индикаторы порта 002 гаснут. В этот момент оператор должен нажать любую (кроме СБРОС) кнопку клавиатуры. В портах 001 и 000 высветится выраженное в двоично-десятич­ном коде время задержки между погасанием индикаторов пор­та 002 и нажатием кнопки.


Порт 001 индицирует десятки и еди­ницы секунд (считая слева), а порт 000 — десятые и сотые доли секунды. После отпускания кнопки через заданный интервал времени индикаторы портов 001 и 000 гаснут, а индикаторы порта 002 снова загораются, чтобы погаснуть через неизвестный интервал времени. Если ни одна кнопка не нажата после погаса­ния индикаторов порта 002, через заданный интервал времени они снова загорятся. Если кнопка нажата до погасания индикато­ров, то портами 001 и 000 индицируется нулевая задержка, т. е. не загорается ни один индикатор.

Оценки времени реакции оператора (в секундах):

0,00 — 0,09 — ошибочное значение, Вы поторопились, попро­буйте снова;

0,10 — 0,14 — исключительная, почти фантастическая реакция;

0,15 — 0,19 — очень хорошая;

0,20 — 0,24 -нормальная;

0,25 — 0,29 -посредственная;

0,30 — 0,34 — плохая;

0,35 — 5,00 - Вы, вероятно, уснули.

Программа может быть использована как для оценки, так и для тренировки реакции. Время задержки гашения индикаторов порта 002 задается количеством циклов задержки, начинающих­ся с метки МЗ. В аккумулятор при каждом замере заносятся последовательно числа из таблицы, хранящейся в ячейках памя­ти, начиная с адреса, задаваемого командой LXIH. Длина табли­цы практически неограниченная. Если в таблице помещено число OOOQ, то при его занесении в аккумулятор на очередном шаге происходит возврат к началу программы и, следовательно, к началу таблицы. Цена младшего разряда, задающего задержку числа, равна задержке, вырабатываемой ПП DL, т. е. 10 мс. После того как индикаторы порта 002 погашены (команда по адресу 014Q 033Q) и до нажатия кнопки с помощью счетчика, организованного на регистровой паре В, подсчитывается коли­чество циклов обращения к ПП DL (команды, начиная с мет­ки Мб). В счетчиках используется команда DAA, поэтому ре­зультат получается в двоично-десятичном коде. При нажатии кнопки содержимое регистровой пары В выводится в порты 001 и 000. Счетчик циклов снова задействуется после отпуска­ния кнопки, и после достижения заданного числа циклов проис­ходит возврат к метке М2 программы, при этом регистровая пара Н инкрементируется, в результате чего при следующем замере в качестве параметра задержки извлекается следующее число из таблицы.Параметры, определяющие работу програм­мы, помещаются по следующим адресам: 014Q 001Q, 014Q 002Q — адрес начала таблицы; 014Q 076Q — время, в те­чение которого индикаторы порта 002 погашены; цена млад­шего разряда — около 1 с.

Обратим внимание на то, что для ввода информации с кла­виатуры не использована ПП SKL, так как при обращении к ней невозможно организовать счет времени (до нажатия кнопки процессор не выходит из ПП).

 

 

 

 

 

 

 

10

 



Содержание раздела