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

Блок-схема

29). На порт D (d0d7) щомиті подається випадковий двійковий код. Як тільки його значення збігається з заданим (константою) програма зупиняється, а код виводиться на світлодіоди і тримається до скидання.

.device at90s1200

.include "1200def.inc"

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

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

home:

clr r17 ;очищення регістра R17

in r17,pind ;записуємо в регістр R17 значення порту D

cpi r17,85 ;порівняння регістра R17 з числом 85

brne home ;якщо R1785, програма переходить на мітку home

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

end:

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

Блок-схема

30). Варіант кодового замка з комбінацією 5, 2, 7 (d5, d2, d7).

.device at90s1200

.include "1200def.inc"

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

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

loop:

set ;установка в одиницю біта-акумулятора Т

clr r17 ;очищення регістра R17

sbic pind,5 ;якщо п'ятий біт порту D дорівнює 0, то програма

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

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

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

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

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

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

brne end ;якщо R171, програма переходить на мітку end

m1:

sbic pind,5 ;якщо п'ятий біт порту D дорівнює 0, то програма

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

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

main:

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

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

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

bld r18,0 ;завантаження в нульовий біт R18 значення

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

cpi r18,0 ;порівняння регістра R18 з 0

breq main ;якщо R18=0, програма переходить на мітку main

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

brne end ;якщо R181, програма переходить на мітку end

m2:

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

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

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

home:

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

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

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

bld r19,0 ;завантаження в нульовий біт R19 значення

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

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

breq home ;якщо R19=0, програма переходить на мітку home

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

brne end ;якщо R191, програма переходить на мітку end

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

end:

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

Блок-схема

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