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

Команда nop - Виконати холосту команду

Описання: Команда виконується за один цикл без виконання операції.

Операція:

(i)

No

Синтаксис

Операнди:

Лічильник програм:

(i)

NOP

None

PC< PC + 1

Булеві вирази регістра статусу (SREG)

I

T

H

S

V

N

Z

C

-

-

-

-

-

-

-

-

Приклад:

.device AT90S1200

.include "1200def.inc"

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

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

ldi r17,5 ;записати в регістр R17 число 5

ldi r18,3 ; записати в регістр R18 число 3

add r17,r18 ;додаємо регістри R17 і R18

nop ;почекати (холоста команда)

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

Команда sleep - Встановити режим sleep

Описання: Команда встановлює схему в SLEEP режим, який визначається регістром управління ЦПУ. Коли переривання виводить ЦПУ з SLEEP режиму команда, яка йде за командою SLEEP, буде виконана раніше, ніж відпрацює оброблювач переривання.

Операція

Синтаксис

Операнди:

Лічильник програм:

(i)

SLEEP

None

PC < PC + 1

Булеві вирази регістра статусу (SREG)

I

T

H

S

V

N

Z

C

-

-

-

-

-

-

-

-

Приклад:

.device AT90S1200

.include "1200def.inc"

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

out ddrd,r16 ; налаштування порту В на вивід

ldi r17,0b00110000 ; присвоїти регістру R17 число 001100002

out mcucr,r17 ;дозвіл виконання команди SLEEP, а також вибір економічного ;режиму енерговикористання

ldi r18,0b00001000 ;присвоїти регістру R18 число 000010002

out wdtcr,r18 ;установка роботи сторожового таймера на 16 мс

wdr ;перезапуск сторожового таймера

sleep ;установка режиму SLEEP

m1: inc r19 ;інкремент регістра R19

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

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

Команда wdr - Збросити сторожовий таймер

Описання: Команда зброшує сторожовий таймер (Watchdog Timer). Команда може бути виконана усередині заданого прескалером сторожового таймеру проміжку часу.

Операція:

(i)

Перезапускається WD (сторожовий таймер)

Синтаксис

Операнди:

Лічильник програм:

(i)

WDR

None

PC < PC + 1

Булеві вирази регістра статусу (SREG)

I

T

H

S

V

N

Z

C

-

-

-

-

-

-

-

-

Приклад роботи сторожового таймера розглянутий у попередньому прикладі.

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