Умный дом

Таблица команд микроконтроллера PIC16F628A

Таблица П.1. Описание полей кодов операций PIC16F628A

Поле

Описание

F

Адрес регистра (от 0x00 до 0x7F)

W

Рабочий регистр (аккумулятор)

Ь

Бит, адресуемый внутри 8-битового регистра

K

Константа или метка

X

Не обслуживаемое расположение (= 0 или 1). Ассемблер будет генерировать код с х = 0. Это рекомендованная форма использования для совместимости со всеми программными средствами Microchip

D

Выбор адресата: d = 0, сохранить результат в W; d = 1, сохранить результат в регистре f. По умолчанию d = 1

Label

Имя метки

TOS

Top of Stack (Верх стека)

PC

Program Counter (Счетчик команд)

PCLATH

Program Counter High Latch (Защелка старшего байта счетчика команд)

GIE

Global Interrupt Enable bit (Бит глобального разрешения прерываний)

WDT

Watchdog Timer/Counter (Watchdog Таймер/Счетчик)

TO

Time out bit (Бит окончания по времени)

PD

Power-down bit (Бит сброса по питанию)

Dest

Адресуется либо регистр W, либо определенный положением регистр

П

Опции

О

Содержимое

—>

Назначить

< >

Поле бита регистра

Є

Во множестве

Italics

Пользовательский термин (шрифт courier)

Мнемоника, операнды

Описание

Циклы

14-битовый код

Статус, касается

Примечания

Байт-ориентированные регистровые операции

ADDWF f, d

Сложить W и f

1

00 0111 dfff ffff

C. DC. Z

1.2

ANDWF f, d

«И» W с f

1

00 0101 dfff ffff

Z

1.2

CLRF £

Очистить f

1

00 0001 1fff ffff

Z

2

CLRW -

Очистить W

1

00 0001 0000 0011

Z

COMF f, d

Дополнение f (двоичное - инвертировать все цифры и добавить 1)

1

00 1001 dfff ffff

Z

1.2

DECF f, d

Декремент f

1

00 0011 dfff ffff

Z

1.2

DECFSZ f, d

Декремент f, Пропустить, если 0

1(2)

00 1011 dfff ffff

1.2,3

INCF f, d

Инкремент f

1

00 1010 dfff ffff

Z

1,2

INCFSZ f, d

Инкремент f, Пропустить, если 0

1(2)

00 1111 dfff ffff

1,2,3

IORWF f, d

Включающее «ИЛИ» W с f

1

00 0100 dfff ffff

Z

1.2

MOVF f, d

Переместить f

1

00 1000 dfff ffff

Z

1,2

MOVWF f

Переместить W в f

1

00 0000 1fff ffff

NOP -

Нет операции

1

00 0000 OxxO 0000

RLF f, d

Сдвинуть влево через перенос

1

00 1101 dfff ffff

С

1,2

RRF f, d

Сдвинуть вправо через перенос

1

00 1100 dfff ffff

С

1,2

SUBWF f, d

Вычесть W из f

1

00 0010 dfff ffff

С, DC, Z

1,2

SWAPF f, d

Поменять местами полубайты f

1

00 1110 dfff ffff

1,2

XORWF f, d

Исключающее «ИЛИ» W с f

1

00 0110 dfff ffff

Z

1,2

Бит-ориентированные регистровые операции

BCF f, b

Очистить бит f

1

01 OObb bfffffff

1.2

BSF f,■b

Установить бит f

1

01 01 bb bfffffff

1.2

BTFSC f, b

Проверить бит f, пропустить, если сброшен

1(2)

01 10bb bfffffff

3

BTFSS f, b

Проверит бит f, пропустить, если установлен

1(2)

01 11bb bfffffff

3

Операции управления и с константами

ADDLW k

Сложить константу и W

1

11 111 x kkkk kkkk

C, DC, Z

ANDLW k

«И» константы с W

1

11 1001 kkkk kkkk

Z

CALL k

Вызвать подпрограмму

2

10 Okkk kkkk kkkk

TO. PD

CLRWDT -

Очистить сторожевой таймер (Watchdog)

1

00 0000 0110 0100

GOTO k

Перейти к адресу

2

10 1kkk kkkk kkkk

IORLW k

Включающее «ИЛИ» константы с W

1

11 1000 kkkk kkkk

Z

MOVLW k

Переместить константу в W

1

11 OOxx kkkk kkkk

RETFIE -

Возврат из прерывания

2

00 0000 0000 1001

RETLW k

Возврат с константой в W

2

11 01 xx kkkk kkkk

RETURN -

Возврат из подпрограммы

2

00 0000 0000 1000

TO, PD

SLEEP -

Переход в режим Standby

1

00 0000 0110 0011

SUBLW k

Вычесть W из константы

1

11 11 Ox kkkk kkkk

C, DC, Z

XORLW k

Исключающее «ИЛИ» константы с W

1

11 1010 kkkk kkkk

Z

Os К)

00 >

CO CO (Л

Q

?

X *

І Q

Примечания.

1. Когда модифицируется регистр I/O как функция сама по себе (то есть, MOVF PORTB, 1), используемое зна­чение будет то же, что значение на самом выводе. На­пример, если данные на выводе, конфигурированном как ввод «1», сбрасываются внешним устройством, воз­вращаемые данные - это «О».

2. Если эта инструкция выполняется на регистре TMR0 (и применено d = 1), предделитель будет очищен, если назначен для TimerO Module.

3. Если счетчик команд (PC) модифицируется или прове­ряемое условие истинно, инструкция требует двух цик­лов. Второй цикл выполняется как NOP.

Умный дом

Вторая версия основной программы на языке С++

/****************^ * TOC o "1-3" h z Copyright (С) 2006 by Vladimir Gololobov * * vgololobov@yandex. ru * * * * This program is free software; you can redistribute it …

Циклы

Циклы выполняют выражения или блоки выражений до тех пор, пока выражение условия не становится истинным. Наша программа требует двух циклов (один вложен в дру­гой). Пока пользователь желает угадывать последовательно­сти: { …

Две полезные схемы

Первая схема относится к настенному выключателю, работа­ющему по протоколу XI0. Что полезного можно почерпнуть из этой схемы? Например, организацию сканирования сети и управления триаком. Схему я привожу, как она сохранилась …

Как с нами связаться:

Украина:
г.Александрия
тел./факс +38 05235  77193 Бухгалтерия
+38 050 512 11 94 — гл. инженер-менеджер (продажи всего оборудования)

+38 050 457 13 30 — Рашид - продажи новинок
e-mail: msd@msd.com.ua
Схема проезда к производственному офису:
Схема проезда к МСД

Оперативная связь

Укажите свой телефон или адрес эл. почты — наш менеджер перезвонит Вам в удобное для Вас время.