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

Блок-схема

8). Розробити програму, що приймає з d0d3 порта D слово і забезпечує парність одиниць у вихідному слові b0b4 порта В.

.device at90s1200

.include "1200def.inc"

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

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

loop:

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

cpi r17,3 ;порівняння регістра R17 з 3

breq m1 ;якщо R17=3, то програма переходить на мітку m1

cpi r17,5 ;порівняння регістра R17 з 5

breq m1 ;якщо R17=5, то програма переходить на мітку m1

cpi r17,6 ;порівняння регістра R17 з 6

breq m1 ;якщо R17=6, то програма переходить на мітку m1

cpi r17,9 ;порівняння регістра R17 з 9

breq m1 ;якщо R17=9, то програма переходить на мітку m1

cpi r17,10 ;порівняння регістра R17 з 10

breq m1 ;якщо R17=10, то програма переходить на мітку m1

cpi r17,12 ;порівняння регістра R17 з 12

breq m1 ;якщо R17=12, то програма переходить на мітку m1

cpi r17,15 ;порівняння регістра R17 з 15

breq m1 ;якщо R17=15, то програма переходить на мітку m1

cpi r17,1 ;порівняння регістра R17 з 1

breq m2 ;якщо R17=1, то програма переходить на мітку m2

cpi r17,2 ;порівняння регістра R17 з 2

breq m2 ;якщо R17=2, то програма переходить на мітку m2

cpi r17,4 ;порівняння регістра R17 з 4

breq m2 ;якщо R17=4, то програма переходить на мітку m2

cpi r17,7 ;порівняння регістра R17 з 7

breq m2 ;якщо R17=7, то програма переходить на мітку m2

cpi r17,8 ;порівняння регістра R17 з 8

breq m2 ;якщо R17=8, то програма переходить на мітку m2

cpi r17,11 ;порівняння регістра R17 з 11

breq m2 ;якщо R17=11, то програма переходить на мітку m2

cpi r17,13 ;порівняння регістра R17 з 13

breq m2 ;якщо R17=13, то програма переходить на мітку m2

cpi r17,14 ;порівняння регістра R17 з 14

breq m2 ;якщо R17=14, то програма переходить на мітку m2

rjmp loop ;перехід на мітку loop (початок програми)

m1:

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

rjmp loop ;перехід на мітку loop (початок програми)

m2: ;

sbr r17,4 ;установка четвертого біта регістра R17

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

rjmp loop ;перехід на мітку loop (початок програми)

Б лок-схема

9). Розробити програму затримки на 3 секунди одиничного імпульсу, що подається на біт d0 порту D.

.device at90s1200

.include "1200def.inc"

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

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

loop:

clr r18 ;очищення регістра R18

out portb,r18 ;вивід значення регістра R18 на порт В

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

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

rjmp loop ;перехід на початок програми (мітку loop)

ldi r18,1 ;присвоїти регістру R18 константу 1

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

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

rjmp loop ;перехід на початок програми (мітку loop)

Delay: ;підпрограма затримки на 3 секунди

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

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

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

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,48 ;порівняння регістра R21 з 48

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

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

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