
Надёжность / кустов / надёжность / ПЕЧАТЬ / л4 2-я часть
.docМІНІСТЕРСТВО ТРАНСПОРТУ ТА ЗВ'ЯЗКУ УКРАЇНИ
Українська державна академія залізничного транспорту
Кафедра СКС
Лабораторна робота №4 (ч.2)
«Способи програмного формування часових затримок»
Виконав: студент
гр. 1-3-АТЗс
Кочоєв О.В.
Прийняв: викладач
Мамонов А.В.
Харків 2009
Мета
роботи: дослідження
способів побудови програм часових
затримок мовою асемблера в середовищі
AVR Studio, застосування директив асемблера,
функцій у командах вихідного файлу,
складання й використання підпрограм,
вивчення способів виконання й налагодження
програм з використанням програмного
симулятора.
Задание 2. Разработка и исследование программы формирования временной задержки с двумя циклами
Програма
формування часової затримки тривалістю
15
мс
; Призначення імен перемінним (регістрам), константам і
; початкової адреси програми:
.include "m128def.inc"
.def NC1=r16
.equ N1=15
.org 0
; Програма:
ldi NC1, N1 ; Завантаження молодшого байта
; лічильника циклів
vp: ldi YL, low(5000) ; Завантаження старшого байта
; лічильника циклів
ldi YH, high(5000) ; Завантаження старшого байта
; лічильника циклів
povtor: sbiw YL, 1 ; Декремент умісту лічильника
; циклів
brne povtor ; Повернення на початок циклу
; (мітку povtor), якщо вміст
; лічильника циклів не дорівнює
; нулю
dec NC1
brne vp
nop ; Немає операції
nop
Розрахункові дані:
Таблиця 5.1 – Варіанти завдання 2
Вариант |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
Задержка, мс |
70 |
75 |
80 |
85 |
90 |
95 |
100 |
105 |
110 |
115 |
120 |
125 |
Расчет числа циклов для обеспечения времени задержки в 75мс:
N1=t/t2=t/5=75/5=15 (циклов)
Висновок:
Програма складається з двох циклів – внутрішній і зовнішній. Загальна кількість зовнішнього циклу – 15 разів. Після кожного проходу зовнішній цикл зменшується на один до того часу, коли буде дорівнювати нулю. В цьому випадку программа закінчує свою роботу. При кожному проході одного зовнішнього циклу, виконується внутрішній цикл з 5000 повторень
Під час виконання даної лабораторної роботи ми досліджували способи побудови програм часових затримок мовою асемблера в середовищі AVR Studio, застосовували директив ассемблера, функції у командах вихідного файлу, складали та використовували підпрограми, вивчали способи виконання й налагодження програм з використанням програмного стимулятора.