Читайте также:
|
|
Тема: «Изучение разработки и отладки программ контроллера»
Цель занятия: Ознакомление с основными этапами разработки и моделирования программ, построением модели решаемой задачи.
Отрабатываемые вопросы
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 | Нарушение авторских прав