Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
3
Добавлен:
25.11.2017
Размер:
59.9 Кб
Скачать

МІНІСТЕРСТВО ТРАНСПОРТУ ТА ЗВ'ЯЗКУ УКРАЇНИ

Українська державна академія залізничного транспорту

Кафедра СКС

Лабораторна робота №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, застосовували директив ассемблера, функції у командах вихідного файлу, складали та використовували підпрограми, вивчали способи виконання й налагодження програм з використанням програмного стимулятора.

Соседние файлы в папке ПЕЧАТЬ