Общие сведения об объектах изучения

Л.А. Торгонский

Микропроцессорные ЭВС

Лабораторный практикум

для студентов специальностей 211000.62 – «Проектирование
центральных и периферийных устройств»
и 091005 – «Комплексное обеспечение информационной
безопасности автоматизированных систем»

В-Спектр

Томск – 2012

УДК 681.31

ББК 32.97

Т 60

Т 60Торгонский Л.А. Проектирование центральных и периферийных устройств ЭВС-2: Методические указания по лабораторным работам. – Томск: В-Спектр, 2012. – 104 с.

ISBN 978-5-91191-240-6

В сборник включены описания и методические указания лабораторных работ по дисциплинам «Проектирование центральных и периферийных устройств ЭВС» и «Микропроцессорные ЭВС» для специальностей 211000 и 090105. Работы выполняются на микропроцессорных стендах, ядром которых являются микропроцессоры с разделёнными магистральными шинами доступа к совмещённой памяти команд/данных и однокристальные микроЭВМ со встроенной разделенной памятью команд и данных.

ISBN 978-5-91191-240-6

© Л.А. Торгонский, 2012

© ТУСУР, каф. КИБЭВС, 2012

Содержание

Введение……………………………………………………………………..4

Лабораторная работа 1

Изучение лабораторных стендов УС-80....................................................... 5

Лабораторная работа 2

Изучение и исследование системы команд учебных стендов................. 10

Лабораторная работа 3

Исследование арифметико-логического устройства (АЛУ)
учебных стендов................................................................................................. 27

Лабораторная работа 4

Подготовка и отладка программы обработки числовой информации.... 31

Лабораторная работа 5

Микропроцессорное управление вводом/выводом и контроль
времени............................................................................................................... 36

Лабораторная работа 6

Микропроцессорное управление матричной клавиатурой
и источником звука........................................................................................... 48

Лабораторная работа 7

Микропроцессорное управление матричным семисегментным табло.. 59

Лабораторная работа 8

Микропроцессорное правление электромеханическими исполнительными механизмами...................................................................................................... 64

Лабораторная работа 9

Управление вводом/выводом и контроль времени
учебного стенда УС-51 (УМПК-51)................................................................. 79

Введение

В сборнике приведены описания десяти лабораторных работ, исполняемых на микропроцессорных стендах. Для исполнения по учебным поручениям предлагается от четырёх до восьми работ.

В стендах применены в качестве центральных три разных модификации микропроцессоров:

– с классической архитектурой взаимодействия с памятью и периферией по трём шинам (микропроцессор фирмы intel 808X);

– с параллельными физически разделёнными шинами доступа к полям памяти команд и данных (гарвардская архитектура микропроцессора фирмы intel 803X – 805Х);

Разнообразие микропроцессорного базиса стендов предоставляет более широкие возможности для демонстрации общих и специфических ресурсов микропроцессоров.

Сведения о стендах и приёмах работы с ними приведены в справочном пособии «Учебные стенды», изданном отдельной брошюрой и размещенном в локальной сети (ЛВС) кафедры в папке учебных материалов по изучаемой дисциплине.

Программная часть работ с учебными стендами, исключая возможность контроля процессов и управления в реальном времени (таймер, звук, внешние входные и выходные сигнал могут быть лишь абстрактными моделями), может отлаживаться на моделирующих программах, имитирующих работу стендов. Программа «УМПК80» позволяет готовить программу, вводить её в модель, проверять правильность исходного текста программы, выполняет ассемблирование и дизассемблирование, отрабатывает исполнение объектного кода программы, включает информационные индикаторы. Работа этой программы симулирует выполнение команд микропроцессора i8080.

Аналогичные возможности предоставляются программой «Single-Chip Machine 2» в отношении ОМЭВМ 8051.

Лабораторная работа 1

Изучение лабораторных стендов УС-80

Цель работы

Ознакомление с конструкцией, подсистемами процессора, памяти, ввода/вывода микропроцессорных стендов УС-80 (учебный микропроцессорный комплект УМК и учебное отладочное устройство УОУ) и освоение приемов работы со стендами.

Задание на лабораторную работу

1.3.1. Ознакомьтесь со сведениями по архитектуре базового микропроцессора, составом программных моделей, назначением и расположением органов управления и индикации учебных стендов УМК и УОУ, приёмами включения и выключения стендов, приемами ввода, размещения, контроля команд и данных в объектах их хранения стендов.

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

1.3.3. Для отчета зафиксируйте сведения:

– по составу и специфике режимов функционирования стенда;

– по составу допустимых операционных процедур стенда;

– по составу органов управления, индикации и их форматах;

– по принятому в стендах распределению адресного пространства подсистемы памяти, адресам и назначению портов подсистемы ввода/вывода;

– по составу и назначению доступных пользователям управляющих программ стенда УМК.

1.3.4. Предложите эскиз функциональной схемы, соответствующей составу органов управления и контроля, режимам функционирования стенда УМК в базисе регистров, шинных формирователей, модулей памяти, необходимых логических элементов.

1.3.5. Руководствуясь материалами справочного пособия «Учебные стенды», подготовьте по завершению цикла лабораторных работ функциональную схему стенда УОУ на уровне отличий от УМК.

Листинг представления программы и результата исполнения

Адрес размеще-ния кода команды Код команды Метки Обозначение команды Действие по алгоритму Содержимое регистров и ячеек памяти после выполнения
  37h   mvi B,37h ;Загрузка регистра В процессора числом  
  M0: mov A,B ;Пересылка числа из регистра В в регистр А  
  С6   adi 25h ;Сложение содержимого регистра А с числом 25h  
  FE 5C   cpi 5Ch ;Сравнение результата сложения с числом 5Сh  
  C2 XXL XXH   Jnz M0 ;Переход по несовпадению по метке М0  
  YYL YYH   sta Mem ;Передача результата сложения в выбранную ячейку памяти Меm  
  FF   rst 7 ;Выход в резидентную программу «Монитор»  

5. Команды, состоящие из двух (или трех) байт в ячейки памяти необходимо заносить в следующем порядке:

– первыми заносятся цифры первого байта команды;

– второй байт заносится в следующую ячейку памяти (с адресом, увеличенным на единицу);

– при наличии третьего байта после первого байта заносится в следующую ячейку памяти младший байт операнда из записи команды и затем старший байт операнда.

Пример: Размещение команды sta 0B50, для которой три байта в h-формате соответственно представлены числами 32h, 0вh, 50h, в ячейках с адресами 1000, 1001, 1002 будет следующим: в ячейке памяти с адресом 1000 помещается число 32h в ячейке с адресом 1001 – число 50h, и в ячейке с адресом
1002 – число 0Вh.

1.4.5. Пользуясь материалами справочного пособия «Учебные стенды», запустите на исполнение введённую программу в автоматическом режиме выполнения.

1.4.6. Повторите выполнение программы в пошаговом режиме, сопоставляя состояния адреса, данных, состояния процессора с прогнозируемыми значениями.

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

Содержание отчета по работе

1.5.1. Отчет оформляется один на бригаду из одного-двух исполнителей.

1.5.2. В отчете с титульным листом установленной формы (см. прил. А1) необходимо представить следующие сведения:

– наименование и цель работы;

– задание на работу;

– краткую характеристику стенда УМК (по составу доступных пользователю органов управления и индикации, распределению памяти, адресов портов в соответствии с материалами справочного пособия);

– результаты работы:

а) таблицу 1.1 с программой по выбранному варианту и результатами контроля текущего содержимого ячеек памяти, регистров после выполнения очередных команд;

б) функциональную схему учебного стенда УМК с пояснениями;

в) функциональные схемы узлов УОУ (отсутствующих в составе схемы стенда УМК);

1.5.3. Подготовите устные ответы по вопросам самоконтроля (см. разд. 1.6 в руководстве).

Вопросы для самоконтроля

1.6.1. Как подготовить к работе стенд УМК, УОУ?

1.6.2. Какие сообщения являются признаками готовности стенда?

1.6.3. Какие процедуры программы «Монитор» допустимы для стенда УМК? УОУ?

1.6.4. Как записать, проверить, модифицировать содержимое ячеек ОЗУ в УМК? УОУ?

1.6.5. По каким адресам и в каком объеме можно размещать программы пользователя в ОЗУ учебных стендов УМК, УОУ?

1.6.6. По каким адресам можно размещать данные для программ пользователя в стендах УМК, УОУ?

1.6.7. Какова реакция стендов УМК, УОУ на нажатие клавиши «сброс»? Что происходит с записанными в ОЗУ программами пользователя и данными?

1.6.8. Какова реакция стенда УМК на нажатие клавиши «ПР»? В чем отличия реакции в сравнении с использованием клавиши «Сброс»?

1.6.9. Как завершить отработку одной процедуры для перехода к следующей? Например, от работы с памятью к модификации регистров? В УМК? УОУ?

1.6.10. Какие пошаговые режимы реализованы в стендах УМК и УОУ? В чем различия способов реализации пошагового режима в УМК и УОУ?

1.6.11. Как подключены двоичные индикаторы контроля шин в УМК для пошагового режима?

1.6.12. Какой процессор использован в учебных стендах?

1.6.13. Что индицируется на светодиодах регистра состояния?

1.6.14. Известно, что в УОУ семисегментный дисплей управляется иначе, чем в УМК? В чем состоит отличие?

1.6.15. В чем сходство и в чем отличие подключения клавишных модулей в УМК и УОУ?

1.6.16. Какие возможности управления дисплеем имеются в УОУ? Можно ли отключить дисплей? Если «да», то как?

1.6.17. Что выполняет команда заданного набора? Какие объекты программной модели в ней задействованы?

1.6.18. Для чего последней командой в программе набора применена команда RST 7 для УМК и RST 4 в УОУ? Что произойдет, если названные команды не ввести в программу, а программу запустить на исполнение?

1.6.19. Что происходит в процессоре по нажатию клавиши «СТ» для УМК и клавиши «RUN» для УОУ? В чем различие результата?

1.6.20. При обращении к отсутствующим ячейкам памяти учебные стенды по чтению выводят код FF16. Объясните результат.

1.6.21. Прокомментируйте реакцию стендов УМК и УОУ на обращение по записи по адресам ПЗУ и адресам, где отсутствуют ячейки памяти ОЗУ.

Лабораторная работа 2

Изучение и исследование системы команд учебных стендов

Цель работы

Экспериментально исследовать программные модели и временные процессы исполнения команд из системы команд базового микропроцессора стендов УМК, УОУ, УМПК-80.

Задание на лабораторную работу

2.2.1. Выполните анализ и экспериментальную проверку на учебном стенде набора команд микропроцессора по критериям классификации команд:

– по функциональному;

– по формату представления;

– по временным диаграммам процессов на шинах адресов, данных и управления.

Варианты наборов команд к исследованию представлены в табл. 2.1.

Таблица 2.1

Варианты заданий

Команды варианта
MOV C, B LXI B, 0900 STAX B IN 91 ADD M MVI M, 36 LHLD 0900 XCHG OUT 90 ADC M MOV C, M SHLD 0900 PCHL IN 90 SUB M MOV M, C STA 0900 JMP 0900 OUT 91 SBB M MOV A, D SPHL LDA 0980 IN 30 SUI B1 MOV B, E LDAX D SHLD 0930 OUT 90 DCR E
Команды варианта
MOV B, A LDA 0A00 OUT 98 RLC JMP 0880 RRC XRI 3C JNC 0840 CALL 08C0 STAX D RAR ORI 88 JNZ 0880 CALL 08B0 MOV M, B RAL CPI 33 JP 0850 CZ 08B0 LXI H, 0900 DAA INR D JC 0950 IN F1 STA 0B01 MVI А, 58 LXI H, 0900 SHLD 0950 ADD M OUT 90

2.2.2. Представить отчёт по работе с пояснениями по листингу и временным диаграммами.

Содержание отчета по работе

2.6.1. Отчет оформляется один на бригаду из одного-двух исполнителей.

2.6.2. Отчет должен содержать:

– наименование работы;

– цель работы;

– задание на работу;

– краткую характеристику ресурсов лабораторного стенда, применяемых в работе;

– результаты исследования команд (по форме табл. 2.2);

– результаты исследования временных диаграмм команд в форме временных диаграмм по примеру рис. 2.2;

– заключение и выводы по результатам работы.

Вопросы для самоконтроля

2.7.1. Как процессор «отличает» команду от данных?

2.7.2. Какая информация кодируется в команде?

2.7.3. Поясните понятия «код операции» и «операнд».

2.7.4. Сколько операндов требуется для команд пересылок?

2.7.5. Сколько операндов требуется для команд преобразования данных? Сколько может указываться явно?

2.7.6. Прямую и косвенную регистровые адресации в учебных источниках определяют как неявную и как явную. С чем связана такая неоднозначность определений?

2.7.7. Какая информация отображается в слове состояния программы?

2.7.8. Назовите и прокомментируйте состав слова PSW для МП i8080?.

2.7.9. Прокомментируйте формат регистра F?

2.7.10. Определите состояние и числовой результат в регистре F после сложения чисел 37 и 79. Какие значения установятся в результате вычитания этих чисел?

2.7.11. Какой объект программной модели МП и какое значение примет после извлечения команды jmp 0960? После выполнения?

2.7.12. Какие объекты программной модели МП и какие значения примут после извлечения команды Сnc 0970 размещенной с адреса 0820? После выполнения, если бит «Сr» до приема команды был обнулён?

2.7.13. Определите понятие «М-цикл».

2.7.14. Поясните состояния сигнальных линий МП i8080 в первом такте М-цикла. Какие состояния процессора и для чего кодируются в соответствующем слове данных в первом такте?

2.7.15. Определите число М-циклов в команде п. 6.12, если бит «Сr» в слове состояния программы установлен («Cr» = 1)?

2.7.16. Какими способами можно занести байт данных в ячейку ОЗУ в стендах УМК, УОУ?

2.7.17. Перечислите варианты загрузки двухбайтовых слов в ячейки ОЗУ стендов УКМК, УОУ?

2.7.18. Как, используя команды МП, можно оставить незанятой область ОЗУ, выбранную для размещения программы?

2.7.19. Каким набором команд можно направленно изменить содержимое регистра состояний F рассмотренного в работе МП ? Состояния каких разрядов регистра нельзя изменить?

2.7.20. Изобразите временную диаграмму сигнала на линии «Чтение памяти» при выполнении команды jmp 0100, размещенной в ОЗУ с адреса 0100?

Приложение А1

(Справочное)

Кодировочная таблица МП i8080 и стенда

Старшая тетрада

  A B C D E F  
nop       mov B,B mov D,B mov H,B mov M,B add B sub B ana B ora B rnz rnc rpo rp
lxi B lxi D lxi H lxi SP mov B,C mov D,C mov H,C mov M,C add C sub C ana C ora C pop B pop D pop H pop PSW
stax B stax D shld sta   mov B,D mov D,D mov H,D mov M,D add D sub D ana D ora D jnz jnc jpo jp
inx B inx D inx H inx S P mov B,E mov D,E mov H,E mov M,E add E sub E ana E ora E jmp out xthl di
inr B inr D inr H inr M mov B,H mov D,H mov H,H mov M,H add H sub H ana H ora H cnz cnc cpo cp
dcr B dcr D dcr H dcr M mov B,L mov D,L mov H,L mov M,L add L sub L ana L ora L push B push D push H push PSW
mvi B mvi D mvi H mvi M mov B,M mov D,M mov H,M hlt add M sub M ana M ora M adi sui ani jri
rlc   ral   daa stc mov B,A mov D,A mov H,A mov M,A add A sub A ana A ora A rst rst rst rst
        mov C,B mov E,B mov L,B mov A,B adc B sbb B xra B cmp B rz rc rpe rm
dad B dad D dad H dad SP mov C,C mov E,C mov L,C mov A,C adc C sbb C xra C cmp C ret   pchl   sphl
A ldax B ldax D lhld lda mov C,D mov E,D mov L,D mov A,D adc D sbb D xra D cmp D jnz jc jpe jm A
B dcx B dcx D dcx H dcx S P mov C,E mov E,E mov L,E mov A,E adc E sbb E xra E cmp E   in xcng ei B
C inr C inr E inr L inr A mov C,H mov E,H mov L,H mov A,H adc H sbb H xra H cmp H cz cc cpe cm C
D dcr C dcr E dcr L dcr A mov C,L mov E,L mov L,L mov A,L adc L sbb L xra L cmp L call       D
E mvi C mvi E mvi L mvi A mov C,M mov E,M mov L,M mov A,M adc M sbb M xra N cmp M aci sbi xri cpi E
F rrc rar cma cmc   mov C,A mov E,A mov L,A mov A,A adc A sbb A xra A cmp A rst 1 rst 3 rst 5 rst 7   F
  A B C D E F  

Приложение А2

(Справочное)

Цель работы

Экспериментальное исследование свойств АЛУ учебных стендов и закрепление знаний по организации АЛУ ЭВМ, основам преобразования числовой информации.

Задание на работу

3.2.1. Для набора операций АЛУ микропроцессора учебного стенда, инициируемых командами add B (код 80); sub B (90); cmp В (В8); ana М (А6); ora В (В0); xra В (А8); rlc (07); rrc (0F); inr М (34); dcr В (05); inx В (03); dcx D (1В) составьте функциональную схему АЛУ, соответствующую одношинной организации внутренней магистрали данных.

3.2.2. Подготовьте листинг программы для покомандного прогона приведенного набора команд по форме табл. 2.2 лабораторной работы 2. В графе 5 таблицы отобразите сведения по исходным данным загрузки регистров на входе АЛУ числами перед выполнением операции и сведения о месте и результате выполнения операции. В качестве числовых значений для операций АЛУ используйте номера исполнителей работы по списку группы в hex-формате.

3.2.3. Выполняя покомандный прогон программы, зафиксируйте результаты выполнения операций в части числового результата и состояния битов обобщённых признаков по содержимому регистра F.

3.2.4. Проведите анализ и подготовьтесь к объяснению полученных результатов по отчёту.

Содержание отчета по работе

3.6.1. Отчет оформляется один на бригаду из одного-двух исполнителей.

3.6.2. Отчет должен содержать:

– наименование работы;

– цель работы;

– задание на работу;

– краткую характеристику ресурсов лабораторного стенда, применяемых в работе;

– функциональную схему АЛУ со связями, обеспечивающими доступ к функциональным узлам;

– результаты исследования команд для АЛУ (по форме табл. 2.2);

– заключение и пояснения по результатам работы (если они не сделаны по представлению результатов исследования операций в тексте отчета).

Вопросы для самоконтроля

3.7.1. Какие варианты сумматоров Вам известны? Какой вариант применен в стенде? Ваши мотивы, пояснения?

3.7.2. Какие входы/выходы должны иметь арифметический сумматор?

3.7.3. Для каких вариантов исполнения сумматоров предпочтительно применять при вычитании представление операндов в дополнительном коде? Поясните.

3.7.4. Какие входы/выходы должны присутствовать в функциональном узле АЛУ для операции «И»?

3.7.5. Какие входы/выходы должны присутствовать в функциональном узле АЛУ операции «ИЛИ»? Есть ли отличия в функциональном узле «исключающее ИЛИ» по составу линии входов/выходов?

3.7.6. Какие признаки результата не образуются при выполнении логических операций?

3.7.7. Какие признаки результата должен фиксироваться после выполнения операции сдвига? Почему?

3.7.8. Какие признаки должен фиксироваться по выполнению операций счета? Почему?

3.7.9. Мотивируйте состав функциональной схемы и временную диаграмму управления сумматором при выполнении операции процессором с общей внутренней магистральной шиной данных?

3.7.10. В чем должно быть отличие функциональной схемы сумматора, примененного для выполнения арифметического вычитания? Как изменится временная диаграмма управления сумматором при вычитании чисел?

3.7.11. Поясните образование результата на примере выполнения операции арифметического сложения чисел 5Вh и В9h?

3.7.12. Поясните образование результата на примере выполнении операции арифметического вычитания числа В9h из 5Вh? Как изменится результат при арифметическом сравнении?

3.7.13. Объектом хранения числа подлежащего инкременту является ячейка памяти с адресом 0А00h. Какой состав АЛУ необходим и какой временной диаграммой сигналов управления можно обеспечить выполнение операции?

3.7.14. Какие результаты ожидаются при выполнении операции И, ИЛИ, «исключающее ИЛИ» над числами 5Вh и В9h, размещенными в регистрах А и В процессора учебного стенда?

Лабораторная работа 4

Подготовка и отладка программы обработки
числовой информации

Цель работы

Освоение приемов программирования, ввода и отладки программ на учебном стенде, развитие практических навыков и умения программировать задачи обработки информации для микроконтроллеров.

Задание на лабораторную работу

4.2.1. Подготовьте массив чисел и определите число Nmax для сравнения в h-формате в соответствии с материалом разд. 4.4 для заданного варианта.

4.2.2. Подготовьте алгоритм, программу суммирования членов числового массива и размещения результатов согласно математической формулировке задачи, приведенной в разд. 4.4.

4.2.3. Выполните отладку программы на стенде и. продемонстрируйте функционирующую программу руководителю занятия.

4.2.5. Оформите отчет по лабораторной работе в соответствии с требованиями разд. 4.6 руководства по форме и содержанию. Сдайте отчёт руководителю занятия для контроля.

Содержание отчета по работе

4.6.1. Отчет оформляется один на бригаду из одного– двух исполнителей.

4.6.2. Отчет должен содержать:

– наименование работы;

– цель работы;

– задание на работу с данными варианта;

– краткую характеристику ресурсов лабораторного стенда, применяемых в работе;

– алгоритм решения задачи с комментарием к блокам по выбору адресов и регистров;

– листинг программы, с представлением входных/выходных параметров программы, задействованных в программе объектов программной модели стенда, комментария в форме ссылок на номера блоков алгоритма;

– заключение по выполненной работе в части оценки объема программы, объёма под программные данные и времени выполнения программы.

Вопросы самоконтроля

4.7.1. Что называют входными параметрами программы?

4.7.2. Что называют выходными параметрами программы?

4.7.3.Какой способ адресации данных массива предпочтительно использовать для выполняемого задания? Почему?

4.7.4. Какой способ адресации предпочтительно использовать для сохранения результатов выполняемого задания?

4.7.5. Что понимается под понятием «программная модель» программируемого устройства?

4.7.6. Какие объекты программной модели микропроцессора i8080А используются при выполнении команды арифметического сложения содержимого регистра А и ячейки памяти М?

4.7.7. Какие команды поддерживают условное переключение программы с одного направления на другое? Какому требованию должна удовлетворять программа, чтобы условное переключение было предсказуемым?

4.7.8. Как предусмотреть и определить вариант завершения исполнения программы на лабораторном стенде УМК, если их несколько?

4.7.9. Известно, что разбиение алгоритма решения задачи и соответствующей ему программы на части позволяет сократить время отладки. Что необходимо предусматривать в алгоритме выполнения структурированной программы?

4.7.10. Когда целесообразно и когда необходимо использовать подпрограммы в основной программе?

4.7.11. Как влияет применение подпрограмм на объем основной программы? Поясните мотивы утверждения.

4.7.12. Как влияет применение подпрограмм на время исполнения основной программы? Поясните мотивы утверждения.

4.7.13. Что означают термины «отладка программы» и «тестирование программы»? В чем сходство? В чем отличие?

4.7.14. Как организовать счет в основной программе? Почему предпочтительно вести счет циклов в сторону уменьшения содержимого счетчика?

4.7.15. Как определить факт завершения счета на восьмиразрядном программном счетчике? На шестнадцатеричном счетчике? На счетчике большей разрядности?

4.7.16. Как определить допустимое место массива данных для размещения в оперативной памяти стенда?

4.7.17. Что следует предусматривать в основной программе при включении в ее состав подпрограмм?

4.7.18. Как определить объем программы и выбрать объем памяти команд под размещение программы?

4.7.19. Какой объем памяти необходим под размещение данных в решаемой по варианту задаче?

Лабораторная работа 5

Микропроцессорное управление
вводом/выводом и контроль времени

Цель работы

Развитие практических навыков программно-управляемого ввода / вывода и формирования временных пауз.

Задание на лабораторную работу

5.2.1. Подготовить алгоритм и программу для стенда УМК, оснащенного блоком расширения ввода/вывода М1, по которой принимаются два ключевых слова (размерность каждого слова – один байт), набираемых на цифровых фиксируемых переключателях блока расширения М1 и по условиям их состояния выполняется программа управления включением/выключением световых индикаторов. Первое слово набирается исполнителями работы до запуска выполнения программы.

5.2.2. Если первое принятое слово совпадает с заданным по варианту исполнителей первым словом, то на время Т1 включается светодиод, управляемый по линии D0 шины данных МП и стенда УМК для нечетного числа или управляемый по линии D1 шины данных – для четного. Время Т1 для всех вариантов заданий равно 15 сек. В течение интервала времени Т1 исполнители лабораторного занятия имеют возможность устанавливать на переключателях второе ключевое слово.

5.2.3. По истечению паузы Т1 программа должна выполнить приём второго слова с переключателей блока М1 и, если второе слово принятое совпадает с заданным по варианту, то двоичный код его должен быть выведен на время Т2 на линейку светодиодов, управляемых разрядными линиями D7-D0 шины данных стенда. После истечения паузы Т2 исполнение программы завершается включением светодиода, управляемого по линии D7 шины данных и выходом в системную программу «Монитор».

5.2.4. Если первое принятое слово не совпадёт с заданным по варианту, то должен быть включён светодиод, управляемый по линии D6 шины данных и выполнен выход в программу «Монитор». Аналогично, если второе принятое слово не совпадёт с заданным по варианту исполнителей словом, то должен быть включён светодиод, управляемый по линии D5 шины данных и выполнен выход в программу «Монитор».

Варианты заданий предусматривают индивидуальный код состояний переключателей в hex-формате и времени Т2 (сек) в десятичном формате. Коды задания представляются в форме

YY XX TT,

где YY – байт кода первого числа образуется из цифр номера специальности на факультете и последней цифры года набора;

ХХ – байт кода второго числа образуется из цифр номера группы на курсе и номера бригады исполнителей в группе;

ТТ – длительность паузы Т2 (сек) образуется делением десятичного эквивалента кода ХХ на 2 и округлением результата на уменьшение до целого.

Пример кодирования задания: Код 72 23 11 соответствует группе 72-2, третьей бригаде исполнителей и время Т2 сек = 23 /2 = 11 сек.

Признак приказа

Режим группы А

Режим 0 0 0 1 Ввод C

Режим 1 0 1 0 Вывод C С0-С3

Режим 2 1 0

А0-А7 Ввод А 1 1 Ввод В

Вывод А 0 0 Вывод В В0-В7

Содержание отчета

5.6.1. Отчет оформляется один на бригаду из одного– двух исполнителей.

5.6.2. Отчет должен содержать:

– наименование работы;

– цель работы;

– задание на работу с данными варианта;

– краткую характеристику ресурсов лабораторного стенда, применяемых в работе и регистровый эквивалент функциональной схемы подключения к ППА светодиодов и переключателей;

– алгоритм решения задачи с комментарием к блокам по выбору адресов и регистров;

– листинг программы, с представлением входных/выходных параметров программы, задействованных в программе объектов программной модели стенда, комментария в форме ссылок на номера блоков алгоритма;

– заключение по выполненной работе в части оценки объема программы, объёма под программные данные и времени выполнения программы.

Вопросы для самоконтроля

5.7.1. Определите источник и приемник в рамках понятия «опрос» датчика?

5.7.2. В чем отличие понятий «цифровой», «непрерывный» датчик в отношении к МП контроллеру и внешним объектам?

5.7.3. Какие сигнальные линии и для каких целей необходимы от МП контроллера для взаимодействия с портами объектов контроля и управления?

5.7.4. С какими объектами стенд УМК может взаимодействовать через блок расширения М1?

5.7.5. Известны варианты способов взаимодействия МП контроллеров с устройствами связи с объектами ввода/вывода, как «синхронные» и «асинхронные». В чем сходство и различия этих способов? Какой способ предпочтителен для объектов, примененных в лабораторном стенде выполняемой работы?

5.7.6. Какие требования предъявляются и какие функциональные узлы требуются для организации «синхронного» ввода с датчиков цифровых состояний? Для «синхронного» вывода?

5.7.7. Средства связи с конкретными объектами ввода/вывода из внешней среды в МП контроллерах могут идентифицироваться, как объекты памяти или объекты внешней среды (внешние объекты, устройства). В чем смысл различий? С чем различия связаны? Какой вариант применен в МП стенде лабораторной работы?

5.7.8. Какими способами можно осуществлять временное согласование в задачах взаимодействия контроллеров с объектами реального мира?

5.7.9. Понятия «абсолютного» и «относительного» контроля времени в задачах контроля процессов? Ограничения для вариантов?

5.7.10. Какие режимы предпочтительны и какие технические средства необходимы для реализации взаимодействия с привязкой к «абсолютному» времени?

5.7.11. Какие технические средства и организационные решения применяются в процессах контроля и управления с “относительной привязкой» по времени?

5.7.12. На чем основывается программный контроль времени в контроллерах?

5.7.13. Какие ограничения связаны с применением программного контроля времени?

5.7.14. Чем определяется длительность временных интервалов при программном контроле? Какие длительности временных интервалов могут быть реализованы по минимальной оценке для разрядности счетных регистров 8, 16?

5.7.15. Поясните специфику алгоритма формирования временного интервала в стенде УМК при использовании в качестве счетного регистра одной из разрешенных системой команд регистровых пар?

5.7.16. Какие технические возможности и особенности применения адаптера КР580ВВ55 использованы в лабораторном стенде?

Приложение А5

(Справочное)

Программируемый параллельный адаптерi 8255

Цель работы

Приобретение и развитие практических навыков программного управления вводом состояний матричных датчиков и выводом сигналов на излучатель звука.

6.2. Задание на лабораторную работу

6.2.1. Подготовьте алгоритм и программу управления для стенда УМК с макетным блоком М1 по следующим условиям:

– должен быть обеспечен ввод и опознание состояния контактной пары заданной клавиши числового поля клавиатуры стенда;

– если заданная клавиша нажата, то через 10 с должен быть выведен звуковой сигнал заданной частоты и длительности согласно индивидуальному варианту;

– если нажата любая другая или одновременно более одной клавиши на активизированной горизонтали матричной схемы подключения контактных пар, то управление должно быть передано системной программе “Монитор” без вывода звука;

– если клавиши, подключенные через активизированную горизонталь, не нажаты, то должно быть обеспечено программное ожидание нажатия клавиш.

Примечание:

1) Задания выполняются по индивидуальным вариантам бригадами из одного-двух исполнителей.

2) Вариант задания образуется из чисел-N1, N2, N3, где N1, N2, N3 – числа в hex-формате, соответствуют цифре года поступления исполнителя в вуз N1, цифре номера группы на курсе N2 и цифре номера бригады исполнителей N3.

3) Цифра N3 соответствует номеру клавиши инициирующей вывод звукового сигнала.

4) Частота звукового сигнала для варианта определяется по выражению

F=50*(N1+1)*N3 (Гц).

5) Длительность вывода звука для варианта определяется по выражению

T= 0.5*(N2*16 +N3) (сек).

Пример:

Задание для шестой бригады группы 578-1 кодируется числами N1=8, N2=1, N=6 и, соответственно, код варианта есть 816h. Звуковой сигнал частотой F=50*9*6=2700 Гц с длительностью звучания Т=0.5*(1*16+6)=11 с должен быть выдан через 10 с после нажатия клавиши «6».

6.2.2

Наши рекомендации