Logo GenDocs.ru

Поиск по сайту:  


Загрузка...

Лабораторная работа №4 - файл Отчет №4.doc


Лабораторная работа №4
скачать (19.4 kb.)

Доступные файлы (1):

Отчет №4.doc74kb.18.02.2007 17:51скачать

содержание
Загрузка...

Отчет №4.doc

Реклама MarketGid:
Загрузка...
Министерство Образования Российской Федерации

Уфимский Государственный Авиационный Технический Университет

Кафедра Автоматизированных технологических систем

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

по дисциплине «Вычислительные машины, системы и сети»
НАПИСАНИЕ И ОТЛАДКА УПРАВЛЯЮЩИХ ПРОГРАММ

С ИСПОЛЬЗОВАНИЕМ КОМАНД МИКРОПРОЦЕССОРА


Выполнила: студентка гр. АТП-3XX

К. Г.

Проверил: Никитин Ю. А.
Уфа 2006

НАПИСАНИЕ И ОТЛАДКА УПРАВЛЯЮЩИХ ПРОГРАММ

С ИСПОЛЬЗОВАНИЕМ КОМАНД МИКРОПРОЦЕССОРА
^ 1. Цель работы:
Дальнейшее углубление знаний микропроцессора. Изучить назначение и взаимодействие регистров, ячеек памяти, а также кодов и команд микропроцессора. Научиться разрабатывать и отлаживать простейшие управляющие программы с использованием команд микропроцессора. Для этого разрабатывается и реализуется управляющая программа линейной интерполяции для станка с ЧПУ.
^ 2. Теоретическая часть
АЛГОРИМТМ ИНТЕРПОЛЯЦИИ

Рассмотрим алгоритм, обеспечивающий управление движением режущего инструмента в станке с контурным устройством числового программного управления.

В станках с ЧПУ указанного типа имеется возможность перемещения инструмента одновременно и согласованно по двум или более координатам, что позволяет обрабатывать сложные криволинейные поверхности. Такими устройствами ЧПУ оснащают, например, токарные и фрезерные станки.

Станки с ЧПУ реализуют управляющую программу, описывающую требуемую траекторию и режимы обработки. Траектория движения инструмента состоит из участков, разделенных, так называемыми опорными точками. Между опорными точками траектория может быть представлена или отрезком прямой линии или дугой окружности.

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

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

Интерполяция выполняется с целыми числами, каждая единица которых соответствует наименьшему перемещению рабочего органа станка или, что то же самое - дискретности перемещения. Это позволяет задавать перемещения целым числом дискрет.

Алгоритмы линейной и круговой интерполяции изучаются в других дисциплинах или объясняются преподавателем.

В целом, алгоритмы интерполяции можно разделить на две группы. К 1-й относятся алгоритмы, задачей которых является определение момента выдачи единичных приращений по координатам (квантов перемещения). Частота выдачи приращений зависит от скорости изменения координаты. Алгоритмы 2-й группы отличаются постоянством периода расчета текущих значений координат и задача алгоритмов состоит в определении приращения координаты, накопленного за этот период (квант времени). Квант времени неизменен, приращения зависят от скорости изменения координат. К одному из методов реализации алгоритмов 1-й группы относится метод оценочной функции.

Рассмотрим (рис.) движение по методу оценочной функции вдоль прямой, т. е. при линейной интерполяции. Начало воспроизводимого участка прямой условно совмещается с началом координат. Для этого достаточно в качестве координат хк, ук конечной точки задавать приращения Δх и Δу. На рисунке показано положение прямой в первом квадранте (Δх, Δy — положительные). Для воспроизведения кривых в других квадрантах справедлив тот же алгоритм, но выходным сигналам на привод присваивается знак приращения.

Плоскость координат делится на две полуплоскости: над прямой и под прямой. Оценочная функция F(x, у) вводится таким образом, чтобы в верхней полуплоскости выполнялось условие F(x, у) > 0, в нижней — F(x, y) < 0, на прямой — F(x, y) = 0.

Управление движением происходит по следующим правилам. Если в данный момент (при данном состоянии текущих координат) значение оценочной функции положительно [F(x, у)>0], то делается шаг по координате х, если отрицательно [F(x, у) < 0] — шаг по координате у. При F(x, у) = 0 можно выполнить шаг по любой координате.

(рис.)

В качестве оценочной функции в любой точке можно принять разность текущего у и расчетного ур значений координаты у при заданном значении х. Из уравнения прямой у = kx= укк а имеем расчетное значение координаты ур = хк)х. Следовательно, F(x, y) = y - хк

или, поскольку имеет значение только знак функции, эквивалентное выражение для оценочной функции

F(x, y)= yxk - xyk (1)

Составим рекуррентные выражения для вычисления очередного значения оценочной функции через ее предыдущее значение. Если выполняется шаг по координате у, то оценочная функция изменяется следующим образом

F(xiyi+1)= yi+1 xk - xiyk= yi xk - xiyk+ xk (2)

Используя уравнение (1), получим

F(xiyi+1)=F(xi,yi)+xk. (3)

Аналогично, выполняя шаг по координате x получим закон изменения оценочной функции

F(xi+1yi)=F(xi,yi)+yk. . (4)

Для построения прямой линии циклически реализовать указанные

формулы. При соблюдении условия хiк прервать цикл.

Координаты начальной точки рекомендуются хi=0;уi=0.

Координаты конечной точки: xк =100; ук =100 дискрет.

При реализации данного алгоритма на компьютере следует прочертить на экране линию в соответствии с траекторией движения режущего инструмента на металлорежущем станке. При этом следует иметь в виду, что:

Одна станочная дискрета может соответствовать одному пикселю на экране, если преподавателем не задано другое соотношение.

Координатная система компьютера расположена в левом верхнем углу экрана. Поэтому при построении траектории движения за пределами 1-ой четверти окружности требуется перенос координатной системы в центр экрана.

ПРИМЕРЫ

Некоторых кодов команд для микропроцессора Intel 8088:

MOV АХ, [140] - записать в регистр АХ содержимое ячейки №140Н.

ADD АХ, ВХ - сложить содержимое регистров АХ и ВХ. Результат в АХ.

SUB AX, ВХ то же, но вычесть.

ШСАХ - увеличить на 1 содержимое регистра АХ.

СМР АХ, 5 - сравнить содержимое регистра АХ с 5. Выполняется как операция вычитания, но результат не записывается. Состояние флагов изменяются. Проверка их состояния производится командами условного перехода.

JGE [0105] - перейти к указанной ячейке с командой, если больше или равно.

JNZ [0105] — перейти, если результат не равен нулю.

JMP [105] - команда безусловного перехода.

CALL [105] - перейти к исполнению процедуры, начинающейся с ячейки №105.

RET - возврат из процедуры в вызывавшую программу.

^ 3. Выполнение работы.

3.1.Структура программы, написанной с использованием кодов отладчика DEBUG:

  1. Начать программу с ячейки №100Н. Всю программу, включая данные,
    записать в одном сегменте. Для ввода программы использовать программу
    Debug и ее команду А.

  2. Ввести исходные данные (Xi, Yi, Xk, Yk, F). В нашем случае они могут быть записаны, непосредственно в регистры с использованием кода: MOV АХ, 100 и т.д. Всего для этого требуется 5 регистров. Можно, например, использовать АХ, ВХ, СХ, DX, SI. Координаты начальной точки рекомендуются 0x0. Координаты конечной точки - 100x100 пикселей.

Рекомендуется ^ Xi,Yi записать соответственно в СХ и DX, т.к. это далее упростит программу.

3. Включить графический режим экрана, что необходимо для вывода
траектории движения на экран. Команда для включения графического режима экрана вызывается прерыванием INT 10Н. Предварительно требуется записать в регистр АН число 0, в регистр AL 10Н.

4. Реализовать алгоритм расчета координат Xi,Yi. Это должен быть циклический процесс. Прерывание цикла произвести при равенстве значений Xi и Xk. В каждом цикле, после расчета координат, необходимо зажигать точку на экране в соответствии с полученными координатами. Использовать для этого подпрограмму. Подпрограмма вызывается командой: «CALL номер_ячейки_с которой_начинается подпрограмма»

  1. Основную процедуру завершить командой RЕТ. Далее в память компьютера записыва-ется подпрограмма.

  2. Подпрограмма зажигает пиксель на экране. Для этого используется
    команда INT 10Н. Предварительно требуется записать в регистры:

ВХ=0, АН=0С, А1=0А (цвет от 0 до F), СХ-координата Xi, DX - координата Yi.

По указанной причине удобно производить вычисления, поместив текущие координаты Xi и Yi в указанные регистры. Поскольку в подпрограмме используются регистры АХ, ВХ в которых хранятся исходные данные, необходимо предварительно сохранить в стековой памяти их значения. При выходе из подпрограммы содержимое этих регистров нужно восстановить. Для этого использовать команды PUSH и POP.

7. В конце подпрограммы записать команду возврата в основную процедуру: RET.

3.2.Текст программы.

MOV AH,0

MOV AH,10

INT 10

MOV AX, 100

MOV BX, 100

MOV CX, 0

MOV DX, 0

JL 0121

ADD CX, 1

SUB SI, AX

JMP 0126

ADD DX,1

ADD SI, BX

CALL 100

CMP AX, CX

JG 0115

RET

PUSH AX

PUSH BX

MOV BX, 0

MOV AH,0C

MOV AL,0A

INT 10

POP BX

POP AX

RET

^ Вывод: В данной работе мы изучили алгоритм интерполяции, разработали и отладили управляющую программу с использованием кодов отладчика DEBUG для станка с ЧПУ.


Скачать файл (19.4 kb.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации
Рейтинг@Mail.ru