Заказ работы

Заказать
Каталог тем

Самые новые

Значок файла Зимняя И.А. КЛЮЧЕВЫЕ КОМПЕТЕНТНОСТИ как результативно-целевая основа компетентностного подхода в образовании (3)
(Статьи)

Значок файла Кашкин В.Б. Введение в теорию коммуникации: Учеб. пособие. – Воронеж: Изд-во ВГТУ, 2000. – 175 с. (4)
(Книги)

Значок файла ПРОБЛЕМЫ И ПЕРСПЕКТИВЫ КОМПЕТЕНТНОСТНОГО ПОДХОДА: НОВЫЕ СТАНДАРТЫ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ (4)
(Статьи)

Значок файла Клуб общения как форма развития коммуникативной компетенции в школе I вида (10)
(Рефераты)

Значок файла П.П. Гайденко. ИСТОРИЯ ГРЕЧЕСКОЙ ФИЛОСОФИИ В ЕЕ СВЯЗИ С НАУКОЙ (11)
(Статьи)

Значок файла Второй Российский культурологический конгресс с международным участием «Культурное многообразие: от прошлого к будущему»: Программа. Тезисы докладов и сообщений. — Санкт-Петербург: ЭЙДОС, АСТЕРИОН, 2008. — 560 с. (13)
(Статьи)

Значок файла М.В. СОКОЛОВА Историческая память в контексте междисциплинарных исследований (14)
(Статьи)

Каталог бесплатных ресурсов

ЛР Программная реализация временных задержек

 

 
 
 
 
Министерство образования и науки Украины
Севастопольский национальный технический университет
 
 
Кафедра автоматизации
технологических
процессов и производств
 
 
 
 
 
 
 
 
МЕТОДИЧЕСКИЕ УКАЗАНИЯ
к лабораторным работам по дисциплине "Микропроцессорная техника"
 
Лабораторная работа N 6
Программная реализация временных задержек
(для систем на базе микропроцессорного комплекта КР580).
 
 
для студентов специальностей 7.09025
"Автоматизация и компьютерно-интегрированные технологии"
дневной и заочной формы обучения
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Методические указания рассмотрены
 и утверждены на заседании кафедры АТПП
протокол N   от            2003г.
 
 
 
 
 
 
Севастополь
2003
В методическом указании рассмотрена технология программной организации временных задержек для микропроцессора КР580. Рассмотрены примеры программирования.
 
 
 
Методические указания предназначены для студентов направления подготовки 6.0925.
 
Образовательно-квалификационный уровень-бакалавр.
 
Методические указания разработал доцент Волков С.П. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1. Цель и задачи работы.
Цель ? усвоить методы программирования при реализации временных задержек.
Задачи ? овладеть технологией построения алгоритма, расчета заданной длительности задержки и ее программирования.
 
2.Порядок выполнения работы.
Для выполнения лабораторной работы необходимо знать структуру и функционирование модуля центрального процессора (комплект серии К 580), систему его команд, иметь опыт работы с программой "монитор". Ознакомиться с алгоритмами программ для реализации временных задержек, разработать программу для реализации временной задержки требуемой длительности (см. индивидуальное задание), определить требуемое число программных циклов, подготовить УМК к работе, загрузить разработанную программу, определить реальную временную задержку, подготовиться к ответам на контрольные вопросы.
 
3.Алгоритм временной задержки.
В самом простейшем случае программная реализация временных задержек малой длительности представляет собой последовательность холостых команд(NOP). Каждая такая команда обеспечивает задержку на 2 мкс.(2*10Е-6). Таким образом, для программирования задержки времени,на 300мкс(0,0003с) потребуется занять 150 ячеек памяти. Нерациональность такого подхода очевидна.

Рис. 1.Алгоритм подпрограммы
временной задержки.
 
Поэтому для организации временной задержки используются простые программные циклы. Их сущность заключается в том, что в один из регистров РОН (например, в регистр В) записывается число, которое после прохождения каждого цикла уменьшается на единицу. Циклический процесс продолжается до тех пор, пока содержимое указанного регистра не обнулится. Это является признаком выхода из цикла. Очевидно, что длительность задержки зависит от загружаемого в регистр числа, определяющего количество отрабатываемых циклов, а также времени выполнения каждой команды, входящей в программу. Для удобства ис     пользования разработанной программы ее рекомендуется выполнить в виде подпрограммы. Графический алгоритм подобной подпрограммы представлен на рисунке 1.

 
4. Разработка программы временной задержки
Текст программы, соответствующий структуре графического алгоритма (рисунок 1) можно представить в следующем виде (таблица.1).
Таблица 1.

Метка
Мнемокод
Время выполнения
(мкс)
Комментарий
TIME 1
PUSH B
t1=5,5
Содержимое регистра В запомнить в стеке
 
MVI B, "N"
t2=3,5
Загрузка N в регистор B числа циклов 
L1
DCR B
t3=2,5
Уменьшение B на единицу
 
JNZ L1
t4=5,0
Если не 0 возврат на метку L1
 
POP B
t5=5,0
Восстановить регистр B из стека
 
RET
t6=5,0
Возврат из подпрограммы

 
6. Определение числа программных циклов " N" для организации требуемой временной задержки.
Для достижения заданной временной задержки необходимо определить значение числа N повторений программных циклов, вводимого в регистр "В". Искомое число N определяется временем выполнения команд, входящих в данную программу. Если временная задержка выполнена в виде подпрограммы, то при расчёте необходимо учитывать время на обращение к подпрограмме (CALL TIME 1, t0=8,5 мкс) и выхода из подпрограммы (RET, t6=5,0 мкс).
Согласно таблице1 длительность временной задержки:
T1=t0+t1+t2+N*(t3+t4)+t5+t6.
Откуда требуемое число повторений N :
T1-t0-t1-t2-t5-t6
N=
t3+t4
 
После определения N его необходимо перевести в шестнадцатиричный код и записать в соответствующем месте подпрограммы.
Пример. Определить применительно к подпрограмме TIME 1 количество N повторений программных циклов, обеспечивающих временную задержку T1=300 мкс.
t0=8,5 мкс; t1=5,5 мкс; t2=3,5 мкс; t3=2,5 мкс; t4=5,0 мкс;
t5=5,0 мкс; t6=5,0 мкс;
T1=300 мкс;
Требуемое число повторений:
300-8,5-5,5-3,5-5,0-5,0
N=                                                   = 36,3
2,5+5,0
 
Принимаемое число повторений N=36. Действительная выдержка времени:
T1д=8,5+5,5+3,5+36(2,5+5,0)+5,0+5,0=297,5 мкс.
Относительная ошибка составит:
Т1-Т1д                                   300-297,5
Т=?????????? * 100 % = ??????????? * 100 % =0,83 %
              Т1                                                   300
Как показали расчеты ошибка составляет весьма малую величину и в большинстве случаев ошибкой до 1% можно пренебречь.
Однако в тех случаях, когда необходимо повысить точность получения требуемых временных задержек в текст программы можно вставить команду NOP (t7=2мкс). Причем если эту команду вставить вне цикла, то
Т1д=t0+t1+t2+N*(t3+t4)+t5+t6+t7=297,5+2=299,5 мкс.
и в этом случае:
 
           T1-T1д                               300-299,5
T=????????? * 100 % = ??????????? * 100 % =0,16 % .
             T1                                       300
Если команду NOP вставить в тело цикла, то Т1д увеличится на время N*t7=36*2,0=72 мкс, то есть таким образом можно корректировать грубые ошибки временных задержек.
После проверки и уточнения десятичное число N(10) =36 необходимо перевести в шестнадцатиричный код N(16)=24 и загрузить в соответствующее место программы.
Максимальная временная задержка для подпрограммы подобного вида определяется максимальным значением числа N= FF(16)=256(10).
В этом случае
T1 max=8,5+5,5+3,5+256*(2,5+5,0)+5,0+5,0+2,0=1949,5(мкс)
При необходимости получения временных задержек большей длительности необходимы программы обеспечивающие большее количество повторений программных циклов.
 
7. Программная реализация временных задержек
большой длительности.
При реализации некоторых программ , особенно программ управления различными внешними устройствами, появляется необходимость в временных задержках достаточно большой длительности. Для программной реализации таких временных задержек можно использовать алгоритм (рисунок 1),но с увеличением числа N до значений , обеспечивающих требуемую временную задержку. Для этого число N определяющее количество повторений цикла необходимо записать в пару регистров , в этом случае число повторений может достигать FF FF(16) или 65535(10).
Тогда графический алгоритм подпрограммы с использованием пары регистров В,C будет выглядеть так (рисунок 2):
 
 
 
 
 
 
Рисунок.2 Алгоритм подпрограммы временной
задержки большой длительности
 
7.1 Программа временной задержки большой длительности.
Текст программы ,соответствующий структуре графического алгоритма (рисунок 2) можно представить в следующем виде (таблица 2):
Таблица 2.

Метка
Мнемокод
Время выполнения,мкс
Комментарий
TIME 2
PUSH B
t1=5,5
Содержимое регистров В,С и А запомнить в стеке
 
PUSH PSW
t2=5,5
 
LXI B, "N"
t3=5,0
Загрузка числа циклов N в регистры В и С
L2
DCX B
t4=2,5
Уменьшение B и С на единицу
 
MOV A B
t5=2,5
Содержимое В перегрузить в А
 
ORA C
t6=2,0
Логическое "ИЛИ" между А и С
 
JNZ L2
t7=5,0
Если не 0 возврат на метку L2
 
POP PSW
t8=5,0
Восстановить А
 
POP B
t9=5,0
Восстановить регистры В и С из стека
 
RET
t10=5,0
Возврат из подпрограммы

 
7.2 Расчет величины задержки времени
 
Максимальная задержка реализуемая подпрограммой TIME 2 (таблица.2) с учетом времени обращения к подпрограмме и числа N=FF FF(16)= 65535(10) составит :
 
Т2max=8,5+5,5+5,5+5,0+65535*(2,5+2,5+2,0+5,0)+5,0+5,0+5,0=
=786459,5 (мкс) =0,786 (с).
Как и в предыдущем примере увеличить длительность задержки можно добавлением одной или нескольких команд NOP внутри или вне тела цикла.
Задержки длительностью от единиц до десятков секунд можно получить последовательной реализацией нескольких подпрограмм типа TIME1 и TIME2.
 
8. Контрольное задание .
Программно реализовать задержку, длительность которой определяетcя двумя последними цифрами номера зачетной книжки.
Пример: последние цифры номера 78----длительность задержки 7,8 с.
 
9. Состав отчета по лабораторной работе:
- титульный лист;
- цель и задачи лабораторной работы;
- описательный алгоритм;
- графический алгоритм;
- текст программы;
- расчет числа повторений цикла;
- расчет погрешности реализации задержки времени;
- анализ работы программы.
 
10. Контрольные вопросы:
- для каких целей используются временные задержки при микропроцессорном управлении технологическим оборудованием;
- цель лабораторной работы;
- почему целесообразно использовать программные циклы при реализации временных задержек;
- как определить требуемое количество программных циклов;
- каковы    предельные    значения   временных   задержек   по    разработанным программам;
- в чем сущность метода коррекции и уточнение программ временных задержек для обеспечения требуемой точности временной задержки.


Размер файла: 125 Кбайт
Тип файла: doc (Mime Type: application/msword)
Заказ курсовой диплома или диссертации.

Горячая Линия


Вход для партнеров