Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Dodatok_1.doc
Скачиваний:
1
Добавлен:
04.09.2019
Размер:
706.05 Кб
Скачать

Блок-схема

Підпрограма затримки Delay

12). Розробити програму перетворення двійкового однобайтного слова, прийнятого в паралельному форматі в послідовний формат.

.device AT90S1200

.include "1200def.inc"

ser r18 ;усі біти регістра R18 встановлюються в одиницю

out ddrb,r18 ;настроювання порту B на вивід

in r16,pind ;ввід даних з порту D у регістр R16

qq:

sbis pind,7 ;якщо сьомий біт порту D дорівнює 1, то програма

;пропускає наступну команду

rjmp qq ;перехід на мітку qq

bst r16,0 ;копіювання нульового біта регістра R16 у

;біт-акумулятор

bld r17,0 ;завантаження в нульовий біт регістра R17 значення

;біта-акумулятора

out portb,r17 ;вивід значення регістра R17 на порт B

rcall delay ;виклик підпрограми затримки

bst r16,1 ;копіювання першого біта регістра R16 у

;біт-акумулятор

bld r17,0 ;завантаження в нульовий біт регістра R17 значення

;біта-акумулятора

out portb,r17 ;вивід значення регістра R17 на порт B

rcall delay ;виклик підпрограми затримки

bst r16,2 ;копіювання другого біта регістра R16 у

;біт-акумулятор

bld r17,0 ;завантаження в нульовий біт регістра R17 значення

;біта-акумулятора

out portb,r17 ;вивід значення регістра R17 на порт B

rcall delay ;виклик підпрограми затримки

bst r16,3 ;копіювання третього біта регістра R16 у

;біт-акумулятор

bld r17,0 ;завантаження в нульовий біт регістра R17 значення

;біта-акумулятора

out portb,r17 ;вивід значення регістра R17 на порт B

rcall delay ;виклик підпрограми затримки

bst r16,4 ;копіювання четвертого біта регістра R16 у

;біт-акумулятор

bld r17,0 ;завантаження в нульовий біт регістра R17 значення

;біта-акумулятора

out portb,r17 ;вивід значення регістра R17 на порт B

rcall delay ;виклик підпрограми затримки

bst r16,5 ;копіювання п'ятого біта регістра R16 у

;біт-акумулятор

bld r17,0 ;завантаження в нульовий біт регістра R17 значення

;біта-акумулятора

out portb,r17 ;вивід значення регістра R17 на порт B

rcall delay ;виклик підпрограми затримки

bst r16,6 ;копіювання шостого біта регістра R16 у

;біт-акумулятор

bld r17,0 ;завантаження в нульовий біт регістра R17 значення

;біта-акумулятора

out portb,r17 ;вивід значення регістра R17 на порт B

rcall delay ;виклик підпрограми затримки

end:

rjmp end ;стрибок на мітку end

delay: ;підпрограма затримки

clr r19 ;очищення регістра R19

clr r21 ;очищення регістра R21

clr r20 ;очищення регістра R20

n1:

inc r19 ;інкремент (+1) регістра R19

cpi r19,255 ;порівняння регістра R19 з 255

brne n1 ;якщо R19¹255, то програма переходить на мітку n1

inc r20 ;інкремент (+1) регістра R20

cpi r20,255 ;порівняння регістра R20 з 255

brne n1 ;якщо R20¹255, то програма переходить на мітку n1

inc r21 ;інкремент (+1) регістра R21

cpi r21,16 ;порівняння регістра R21 з 16

brne n1 ;якщо R21¹16, то програма переходить на мітку n1

ret ;вихід із підпрограми затримки

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]