Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа №4.doc
Скачиваний:
42
Добавлен:
02.05.2014
Размер:
75.78 Кб
Скачать

Министерство Образования Российской Федерации

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

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

Лабораторная работа № 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 - возврат из процедуры в вызывавшую программу.