|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Лабораторная работа №2. Тема: «Изучение разработки и отладки программ контроллера»Тема: «Изучение разработки и отладки программ контроллера» Цель занятия: Ознакомление с основными этапами разработки и моделирования программ, построением модели решаемой задачи. Отрабатываемые вопросы 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.
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.) |