Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Требования к знаниям и умениям учащихся




ЦИФРОВЫЕ И МИКРОПРОЦЕССОРНЫЕ УСТРОЙСТВА

 

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

для учащихся специальностей

2-45 01 33 – Сети телекоммуникаций

2-45 01 32 – Системы радиосвязи, радиовещания и телевидения

 

В 4 частях

 

Часть 4

 

Минск


УДК 81.332

ББК 32.97

Ц75

Рекомендовано к изданию

кафедрой инфокоммуникационных технологий

07.04 2014 г., протокол № 10

 

Составители:

В. И. Богородов, преподаватель высшей категории кафедры инфокоммуникационных технологий;

Н. М. Новикова, преподаватель первой категории кафедры инфокоммуникационных технологий

 

Рецензент

Е. В. Новиков, профессор кафедры инфокоммуникационных технологий, канд. техн. наук

    Ц75 Цифровые и микропроцессорные устрой­ства: лабораторный практикум для учащихся специально­стей 2-45 01 33 – Сети телекоммуникаций, 2-45 01 32 – Си­стемы радиосвязи, радиовещания и телевидения. В 4 ч. Ч.4 / сост. В. И. Богородов, Н. М. Новикова. – Минск: ВГКС, 2014. – 104 с. ISBN   Приводятся методические указания к лабораторным работам № 12…20 по микропроцессорной технике, в которых рассматриваются основы программирования простых восьмиразрядных микропроцессоров с применением симулятора Sim8085 и 16-разрядных микроконтроллеров dsPIC33F в интегрированной среде MPLAB IDE. Предназначено для учащихся и преподавателей колледжа.   УДК 81.332 ББК 32.97

© Учреждение образования

«Высший государственный

колледж связи», 2014


ВВЕДЕНИЕ

 

В четвертой части лабораторного практикума приводятся методические указания к лабораторным работам № 12…20 по микропроцессорной технике. Рассматривается методика составления программ на языке Ассемблер для простых восьмиразрядных микропроцессоров (МП) их выполнения на симуляторе МП Sim8085, а также методика составления приложений на языках Ассемблер и С для программирования микроконтроллеров dsPIC33F и их выполнения в интегрированной среде MPLAB IDE (версия 8.89) на учебном стенде НТЦ-31.000.

В работе по подготовке лабораторного практикума принимала участие преподаватель первой категории кафедры ИКТ Новикова Н. М., которая составила методические указания к лабораторным работам № 19, 20.

 

ЛАБОРАТОРНАЯ РАБОТА № 12
СОСТАВЛЕНИЕ ЛИНЕЙНЫХ И ЦИКЛИЧЕСКИХ ПРОГРАММ НА ЯЗЫКЕ АССЕМБЛЕР

Цель работы

 

1 Изучить приемы программирования последовательных и циклических вычислительных процессов в микропроцессорных системах (МПС), построенных на МП Intel 8085A.

2 Приобрести практические навыки составления линейных и циклических программ на языке Ассемблер для МП Intel 8085A.

Подготовка к выполнению работы

 

1 Повторить по [1] систему команд МП Intel 8085A, форматы данных и команд, способы адресации.

2 Изучить по [1] примеры составления линейной программы инвертирования содержимого ячейки памяти и циклической программы суммирования однобайтных двоичных чисел на языке Ассемблер.

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

4 Подготовить ответы на вопросы для самоконтроля.

5 Подготовить заготовку отчета (см. содержание отчета).

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

 

1 Поясните, как формируется адрес следующей команды в линейных программах?

2 Поясните, как формируется адрес следующей команды в циклических программах при выполнении команд условных переходов на примере команды JNZ 201A h, если условие перехода выполняется либо не выполняется?

3 Поясните, что понимают под способом адресации? Укажите, какие способы адресации используются в МП Intel 8085A и поясните их сущность?

4 Укажите выполняемую операцию, способы адресации, формат, число циклов и тактов, машинный код, а также действия МП в каждом машинном цикле для следующих команд:

 

а) MOV C,D; б) ANA M; в) SUB 10 h;
г) MVI A, 10 h; д) JZ 2010 h; е) CALL 201B h;
ж) CALL 2025 h; з) RET; и) CNC 201F h;
и) LXI B, 2100 h.    

 

Порядок выполнения работы

1 Проверка подготовки учащихся к занятию по вопросам для самоконтроля в виде фронтального или программированного опроса.

2 Выполнить индивидуальное задание № 12.1 Составить схему алгоритма и программу линейного вычислительного процесса на языке Ассемблер для МП Intel 8085A, которая реализует последовательности арифметических или логических операций согласно варианту, заданному в таблице 12.1 (номер варианта выбирается в зависимости от номера учащегося в списке подгруппы учебного журнала группы, т. е. от номера рабочего места).

 

Таблица 12.1 – Исходные данные к индивидуальному заданию № 12.1

 

№ варианта Последовательность операций Значения операндов (P = 16)
(A) (B) (C) (D) (E) (M1) (M2)
                 
  M2 = 2((C) + (D)) – (M1)   1A  
  M1 = (B̅) ˅ (A) ˄ (M2)     F0
  M2 = ((M1) – (A)): 2 + 15 h    
  M1 = (C̅) ˅ (M2)) ˄ (A) 2D E1  
  M2 = (D) – 2 (M1) + 10 h    
  M1 = (E̅) ⊕ (A) ()   1F  
  M2 = ((C) – (A)): 4 – (M1)   2D  
  M1 = (D̅) ˄ ((A) ⊕ (M2)) 1E   A0
  M2 = 4((D) – (M1)) + (A)   0A  

 

 

Окончание таблицы 12.1

 

                 
  M1 = ((B) ⊕ (D̅)) ˄ ()     2F
  M2 = (A) + ((M1) – (D)): 2     1A
  M1 = (B) ˄ (A) ⊕ ()     FE
  M2 = 2((M1) – (B)) + (A) 1E 1A 2B
  M1 = (C̅) ⊕ (M2) ˄ (A)      
15* M2 = ((B) ⊕ ()) ˄ (A) + 02 h   2C 0F
Примечания 1 M1 – ячейка памяти по адресу 2020 h. 2 M2 – ячейка памяти по адресу 2021 h. 3 Начальный адрес программы 2000 h. 4 Для варианта №15* приведен пример в методических указаниях.

 

2.1 Составить алгоритм решения задачи. При этом следует помнить, что в МП Intel 8085A арифметическое умножение и деление на 2 выполняется с помощью команд сдвига влево через перенос RAL и вправо через перенос RAR соответственно.

2.2 Составить программу на языке Ассемблер в виде таблицы (таблица 12.2).

 

Таблица 12.2 – Линейная программа на языке Ассемблер к индивидуальному заданию № 12.1

 

Адрес Метка Команда Операнд Машинный код Комментарий
           
           
           
           

 

2.3 Определить ожидаемый результат вычисления. Для этого при выполнении арифметических операций следует подставить в заданное уравнение значения переменных в десятичной системе счисления и выполнить указанные арифметические операции в десятичной системе счисления. Порядок расчета и ожидаемый результат записать в отчет в десятичной и шестнадцатеричной системах счисления.

Логические операции следует выполнять в двоичной системе счисления поразрядно, при этом следует помнить, что логические операции обладают приоритетом. Порядок расчета и ожидаемый результат записать в отчет в двоичной и шестнадцатеричной системах счисления (см. пример в методических указаниях к данной лабораторной работе).

3 Выполнить индивидуальное задание № 12.2 Составить программу циклического вычислительного процесса на языке Ассемблер для МП Intel 8085A по заданному алгоритму, которая реализует умножение двух восьмиразрядных двоичных чисел без учета знака (кодовое умножение) согласно варианту, заданному в таблице 12.3. Начальный адрес программы 2000 h.

 

Таблица 12.3 – Исходные данные к индивидуальному заданию № 12.2

 

Номер варианта Значения операндов (P = 16) Номер варианта Значения операндов (P = 16)
(DE) (A) (DE) (A)
  00A3 B2   00C3 5B
  00B4 C3   00B3  
  00D5     00D2 A3
  00E6     00B1  
  00F1 DA   00C1  
  00D4     00D1  
  00B2     00E1  

 

Пусть множимое хранится в паре регистров DE, где оно занимает младший регистр E, старший регистр D пары регистров установлен в нуль. Множитель хранится в аккумуляторе A. 16-разрядное произведение будем формировать в паре регистров HL. Счетчик числа повторений цикла организуем на регистре B.

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

Таким образом, процесс умножения носит циклический характер. Цикл, содержащий операции сдвига влево содержимого пары регистров HL, формирования и прибавления к содержимому пары регистров HL очередного частичного произведения, должен быть повторен восемь раз. Алгоритм решения задачи представлен на рисунке 12.1.

Блок 1(рисунок 12.1) производит загрузку множимого в пару регистров DE и множителя в регистр A. Блок 2 производит загрузку нулевого значения в пару регистров HL. Блок 3 устанавливает в регистре B (счетчике циклов) начальное значение 8. Блок 4 производит сдвиг на один разряд влево содержимого пары регистров HL (команды DAD HL). Эта операция выполняется путем удвоения содержимого пары регистров: HL (HL) + (HL). Блок 5 предназначен для анализа очередного разряда множителя. Для этого содержимое аккумулятора сдвигается влево, в результате чего очередной разряд множителя пересылается в триггер TC регистра признаков. Блок 6 производит разветвление (условный переход) по содержимому триггера перехода TC. При (TC) = 1 в блоке 7 выполняется операция суммирования множимого к сумме предыдущих частичных произведений в паре регистров HL (команда DAD DE). При (TC) = 0 операция суммирования не выполняется, по команде условного перехода JNC M1 осуществляется переход к команде блока 8. Блок 8 производит вычитание единицы из содержимого регистра B, после чего блок 9 выполняет условный переход по содержимому триггера нуля TZ регистра признаков. Если (TZ) = 0 (содержимое регистра B не равно нулю), то команда условного перехода JNZ M2 производит переход к команде блока 4, вызывая очередное повторение выполнения тела цикла. Если (TZ) = 1 (содержимое регистра B равно нулю), то происходит выход из цикла и переход к очередной команде.

3.1Составить циклическую программу умножения восьмиразрядных двоичных чисел на языке Ассемблер в форме таблицы 12.2.

3.2 Определить время выполнения операции умножения для тактовой частоты равной 4 МГц. Для этого определить количество тактов, требуемое для однократного прохождения цикла алгоритма и полученный результат умножить на восемь. Суммарное число тактов умножить на длительность тактового периода (0,25 мкс).

4 Ответить на контрольные вопросы.

5 Оформить отчет и сдать зачет.

 

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

 

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

1 Наименование и цель лабораторной работы.

2 Выполненные индивидуальные задания № 12.1, 12.2 (условия, алгоритмы и программы).

3 Расчет ожидаемого результата выполнения линейной программы.

4 Расчет времени выполнения операции умножения двух восьмиразрядных двоичных чисел.

5 Ответы на контрольные вопросы.

 

Контрольные вопросы

 

1 Поясните, как проверить переполнение разрядной сетки при выполнении операции суммирования в МП Intel 8085A?

2 Поясните, как умножить на два в МП Intel 8085A?

3 Поясните, как выполнить суммирование двух 16-разрядных двоичных чисел в МП Intel 8085A? Укажите необходимую команду и ее особенности.

 

 

Рисунок 12.1 – Схема алгоритма кодового умножения восьмиразрядных двоичных чисел

 

 

Требования к знаниям и умениям учащихся

В результате выполнения лабораторной работы учащийся должен знать:

– систему команд МП Intel 8085A (К1821BM85A);

– приемы составления линейных и циклических программ.

Должен уметь:

– составлять линейные и циклические программы для простых восьмиразрядных МП на языке Ассемблер;

– расшифровывать команды МП Intel 8085A;

– определять время выполнения программы.

 

Методические указания

 

Рассмотрим пример составления алгоритма, программы на языке Ассемблер и расчета ожидаемого результата для варианта № 15* индивидуального задания № 12.1 (таблица 12.1).

1 Составим алгоритм решения задачи (рисунок 12.2).

 

 

 
A ← (A) ⊕ (B)  
A ← (A) ˄ (C)  
С ← (A)  
A ← (M)  
A ← ()  
A ← (A) + 02 h  
M ← (A)  
Начало
Останов  
Ввод исх. данных

 


Рисунок 12.2 – Схема алгоритма решения задачи к варианту № 15* индивидуального задания № 12.1

 

2 Составим программу решения задачи на языке Ассемблер
(таблица 12.4).

 

Таблица 12. 4 – Пример линейной программы на языке Ассемблер к варианту № 15* индивидуального задания № 12.1

 

Адрес Метка Команда Операнд Машинный код Комментарий
    MVI A, 51 h 3E 51 ; A ← 51 h
    MVI D, 2C h 06 2C ; B ← 2C h
    LXI HL, 2020 h 21 20 20 ; HL ← 2020 h
    MVI M, 0Fh 36 0F ; M ← 0F h
200А   MOV C, A 4F ; C ← (A)
200B   MOV A, M 7E ; A ← (M)
200C   CMA   2F ; A ← ()
200D   XRA B A8 ; A ← (A) ⊕ (B)
200E   ANA C A1 ; A ← (A) ˄ (C)
200F   ADI 02 h C6 02 ; A ← (A) + 02 h
    STA 2021 h 32 21 20 ; М ← (A)
    HLT     ; Останов
Примечание –При загрузке исходных данных в ячейку памяти (ЯП) рекомендуется использовать косвенную адресацию, а при загрузке результата решения задачи – прямую.  

3 Вычислим ожидаемый результат операции. Для удобства введем следующие обозначения: () ⊕ (B) = X1; X1 ˄ (A) = X2.

  (M1) = 0F(16) = 0000 1111(2)
() = F0(16) = 1111 0000(2)

(B) = 2C(16) = 0010 1100(2)

X1 = DC(16) = 1101 1100(2) ˄ (A) = 51(16) = 0101 0001(2)
+
X2 = 50(16) = 0101 0000(2)

02(16) = 0000 0010(2)

(M2) = 52(16) = 0101 0010(2)  

 

 

ЛАБОРАТОРНАЯ РАБОТА № 13
ОБУЧЕНИЕ РАБОТЕ НА СИМУЛЯТОРЕ МИКРОПРОЦЕССОРА Sim8085 Microprocessor Simulator

Цель работы

1 Изучить принципы работы симулятора МП Sim8085 Microprocessor Simulator.

2 Приобрести практические навыки ввода, отладки и выполнения линейных и циклических программ на языке Ассемблер на симуляторе Sim8085 Microprocessor Simulator.

 





Поделиться с друзьями:


Дата добавления: 2016-03-27; Мы поможем в написании ваших работ!; просмотров: 521 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Студент может не знать в двух случаях: не знал, или забыл. © Неизвестно
==> читать все изречения...

2817 - | 2385 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.