Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОП.1 МУ Практические работы Архитектура ЗВМ 230...docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.97 Mб
Скачать

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

7.1 Назначение и структура АЛУ.

7.2 Пояснить назначении блоков АЛУ в режиме сложения/вычитания.

7.3 Пояснить процесс сложения и вычитания двоичных чисел.

7.4 Пояснить назначении блоков АЛУ В режиме умножения.

7.5 Пояснить процесс умножения двоичных чисел.

Практическая работа № 10

Тема: Изучение языка АССЕМБЛЕР

Цель работы: Получить практические навыки работы с языком АССЕМБЛЕР на примере микроконтроллера КМ1816ВЕ48.

Краткие сведения из теории

Примеры написания программ на языке АССЕМБЛЕР реализующих передачу во внешнее устройство через порт BUS числа импульсов, поступивших в микроконтроллер за заданный интервал времени

Вариант 1.

В зяты два источника импульсов:

  1. задаёт временной интервал (счет по положительному фронту);

  2. Задаёт импульсы, подлежащие счёту;

  3. Счётчик - узел таймер – счётчика микроконтроллера (TCNT), микросхема КМ1816ВЕ48.

Б локи алгоритма 2 и 4 фиксируют появление на входе Т0 соответственно логическую 1 или 0.

Программа:

CLR A :сброс аккумулятора <A>-0

MOV T, A :сброс счётчика:<T>-<A>

M1: JNT0 M1 :ожидание импульса на входе Т0

STRT CNT :запуск счётчика

M2: JTO M2 :ожидание отрицательного

фронта на входе<T0>

STOP CNT :останов счётчика

MOV A, T :пересылка в аккумулятор

содержимого счётчика

OUT BUS, A :вывод данных

Вариант 2

Таймер-счетчик просчитывает импульсы, поступающие на вход Т1; временной интервал задается числовым значением

t-k-tц, где tц - время прохождения одного машинного цикла;

к - число циклов;

t - временной интервал.

П усть t = 700 мкС, при тактовой частоте f = 6 МГц tц = 2f5 мкС, соответственно.

Каждая команда выполняется за два цикла, следовательно, tц ком=5мкС.

k=140 - число циклов

Программа:

CLR A : сброс аккумулятора

MOV T, A : сброс счётчика

STRT CNT : запуск счётчика

MOV R0, #140 :передача в R0 числа повторений

цикла

WAIT: DJNZ R0, WAIT:цикл, задающий временной

интервал

STOP CNT : останов счётчика

MOV A, T : пересылка в аккумулятор

содержимого счётчика

OUTL BUS, A : вывод данных

Временной интервал задается TCNT, работающим в режиме таймера.

Расчет сигналов машинного цикла: при f1= 6 МГц период поступления сигналов в таймер:

tmjn= 2,532 = 80 мкС

tmax = 80256 = 20480 мкс ~ 20 мС

В таймер вносят число 256 - t/80 ,

где t [мкС], и после запуска таймера ожидается момент его переполнения, т.е, установления числа 256; при этом происходит сброс в 0 и выдача переноса TF=1

Пусть нужно определить число импульсов, поступивших на вход микроконтроллера за 12.0 мс.

Вносимое в TCNT число будет 256-12000,0/80=106

Программа решения:

Программа:

MOV A, #106 :передача в аккумулятор числа 106

MOV T, A :пересылка содержимого аккумулятора в таймер

CLR A :сброс аккумулятора

START T :запуск таймера

M1: JTF M2 :выход из цикла при переполнении таймера (TF=1)

JT0 M1 :переход, если нет импульса (Т0=1)

WAIT: JTN0 WAIT :ожидание конца импульса

INC A :инкремент аккумулятора

JMP M1 :безусловный переход

M2: OUTL BUS, A :вывод результата в порт

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

Выписать в таблицу 1 команды АССЕМБЛЕРА из предыдущей части

Таблица 1

Мнемонический код команды

Операнды

Назначение команды

1

2

Для приведенного ниже варианта алгоритма написать программу на языке ассемблер

1

Выполнить опрос сигнала на входе Т0 микроконтроллера с интервалом 100 мкС. После 10-кратного обнаружения «1» на входе Т0 содержимое аккумулятора вывести через порт 1.

2

Определите длительность импульса, поступающего на вход ТО, приняв за единицу временного интервала 100 мкс

3

Определите период импульсной последовательности, поступающей на вход ТО, приняв за единицу временного интервала 1 мс.

4

Подсчитайте количество импульсов, поступающих на входТ1 в течение времени, задаваемого длительностью импульса на входе ТО

5

Подсчитайте число импульсов, поступающих на вход Т1 за время 1 с. Используйте счетчш микроконтроллера.

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

  1. Цель работы

  2. Заполненная таблица 1

  3. Условие задачи, алгоритм и написанная программа для варианта задания, определённого педагогом

  4. Выводы по результатам работы