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

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

Читайте также:
  1. Embrace: как работает дизайнерское мышление
  2. II. Методическая работа.
  3. II. Сведения о работах, на выполнение которых осуществляется закупка,
  4. IV. ТРЕБОВАНИЯ К КОНТРОЛЬНЫМ РАБОТАМ
  5. IV. Требования к представляемым на Конкурс работам
  6. Samasource: качественно работая, творим добро
  7. TORI и UKE должны работать вместе и меняться ролями во время экзамена.

Тема: «Изучение разработки и отладки программ контроллера»

Цель занятия: Ознакомление с основными этапами разработки и моделирования программ, построением модели решаемой задачи.

Отрабатываемые вопросы

1.Этапы подготовки, трансляции, моделирования программ.

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

Организационно – методические указания

Задание.1. Изучение команд передачи данных.

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

 

$MOD812

MOV R0,#30H; установка адреса 30Н

MOV R2,#4H;установка в счетчик кода 4

MOV R1,#40h; установка адреса 40Н

REP: MOV A,@R0;передача первого числа в аккумулутор

MOV @R1,A;передача первого числа в память

INC R0;увеличение адреса-источника данных

INC R1;увеличение адреса-приемника данных

DJNZ R2,REP;проверка завершения передачи массива

JMP$;останов выполнения программы

END

 

Регистры R0 и R1 используются в качестве регистров адреса массива – источника данных и массива- приемника данных соответственно.

Регистр R2 выполняет функцию счетчика, определяет количество передаваемых данных. Команда DJNZ R2,REP выполняеторганизациюпроверки количества циклов передачи данных.

Директивы $MOD812 И END используются транслятором программы при преобразовании исходного файла программы в машинный 16-ричный машинный код.

1.2.Набрать файл программы в редакторе блокнот и сохранить в папке, присвоив файлу имя с расширением ASM.

1.3.Выполнить трансляцию программы, используя транслятор ASM51.EXE, например: ASM51.EXE PR1.ASM, где PR1.ASM – имя файла программы с расширением ASM.

1.4.Выполнить загрузку 16-ричного кода файла ASM51.НЕХ в симулятор контроллера для последующего выполнения.

1.5.Выполнить отладку программы в пошаговом и автоматическом режимах. Предварительно введите данные в память данных, начиная с ячейки 30Н.

1.6.Выполните оценку времени выполнения программы и объема программы.

Задание 2. Вычисление среднего значения данных, хранящихся в массиве памяти. Вычисленное среднее значение массива вывести в порт Р2.

3.1.Подготовить программу вычисления среднего значения. Массив данных загрузите, начиная с 16-ричного адреса 40Н резидентной памяти данных.

 

; загрузка 4 чисел в память, начиная с ячейки 40Н

$MOD812

MOV 40H,#6;загрузка в ячейки памяти исходных чисел

MOV 41H,#4

MOV 42H,#9

MOV 43H,#8

;суммирование массива чисел

CLR A;обнуление аккумулятора

ADD A,40H;сложение аккумулятора с первым числом

ADD A,41H

ADD A,42H

ADD A,43H

;вычисление среднего значения

MOV B,#4;загрузка в регистр В числа 4

DIV AB;получение среднего в аккумуляторе

MOV P2,A;вывод среднего в порт Р2

END

2.2.Выполнить действия, аналогичные указанным в пунктах 1.2.-1.6.

Задание 3. Изучения обмена кодами между портами Р0 и Р2 с проверкой условия ввода. Данные поступают в контроллер из порта Р0 контроллера и выдаются в исполнительное устройство через порт Р2. Условие разрешения ввода кода хранится в порте Р1.0.

3.1.Разработать программу обмена.

$MOD812

M1: MOV C,P1.0; установка условия разрешения ввода

JNC M1;проверка условия

MOV A,P0;ввод кода с порта Р0

MOV P2,A;вывод кода в порт Р2

CLR C;сброс условия

JMP M1; переход в начало программы

END

3.2.Выполнить действия, аналогичные указанным в пунктах 1.2.-1.6.

Задание 4. Выполнить сравнение двух чисел, хранящихся в регистрах R2 и R3 процессора, большее из них вывести в порт Р2 контроллера.

4.1.Подготовить программу для сравнения двух чисел.

 

$MOD812

MOV P2,#0;очистка порта Р2

M2: MOV A,R2;передача в аккумулятор первого числа

SUBB A,R3;вычитание чисел

JC M1;анализ разности чисел

MOV P2,R2;вывод наибольшего числа в порт Р2

M1: JMP M2;возврат к началу программы

END

4.2.Выполнить действия, аналогичные указанным в пунктах 1.2.-1.6.

 


Дата добавления: 2015-11-30; просмотров: 26 | Нарушение авторских прав



mybiblioteka.su - 2015-2024 год. (0.006 сек.)