х51 совместимые микроконтроллеры фирмы silicon laboratories (cygnal), страница 2

ADD A, src – сложение без учета бита переноса

Src:

#const

Addr

Ri

@Ri, i=0,1

ADDC A, src – сложение с учетом бита переноса

Src:

#const

Addr

Ri

@Ri, i=0,1

SUBB A, src – вычитание с учетом заема

Src:

#const

Addr

Ri

@Ri, i=0,1

INC src/dst

Src:

a

Addr

Ri

DEC src/dst

Src:

a

Addr

Ri

INC dprt – увеличивает содержимое datapointer на 1

MUL A,B – умножение. Результат = Младший байт в аккумуляторе, старший – в бкумулляторе.

DIV A,B – деление. A – делимое –> частное. B – делитель –> остаток.

Логические операции обнуляют биты переноса

ANL dst, src –логическое умножение


Dst:

A

Addr

Ri

@Ri

Src:

#const

Addr

Ri

@Ri


SWAP A - обмен тетрадами (A[3-0], A[7-4])

RL A – сдвиг влево с переносом выходящего бита в бит Carry

RR A – сдвиг вправо с переносом выходящего бита в бит Carry

RLC A – сдвиг влево с переносом 7 бита в бит Carry; значение Carry переходит в 0 бит

RRC A – сдвиг вправо с переносом 0 бита в бит Carry; значение Carry переходит в 7 бит

CPL A – инверсия А

DA A – десятичная коррекция содержимого аккумулятора. При сложении чисел они должны быть двоично-десятично кодированными

55h + 77h = ССh

DA A -> 32h + CY = 1 -> 132

Пример

B2BCD –Конвертирование двоичного числа в двоично-десятичное

Пусть в А находится число от 0 до 255. ответ – 2 байта: сотни и десятки, единицы

B2BCD:          MOV B, #064h;    (100d)

DIV A, B;

MOV HUND, A;

MOV A, #0Ah;

XCH A, B;

DIV A, B;

SWAP A;

ORL A, B;

MOV ONEDEC, A;

RET;

Пример работы:

A         B

FF       64

02        37

0A       37

37        0A

05        05

50        05

55        05

Команды управления

Передача управления без возврата

SJMP offset (8pазр) +128, -127

AJMP addr (11pазр) переход в рамках 2k

LJMP addr (16pазр)

Вызов с возвратом

ACALL addr (11разр)    

LCALL addr (16разр)

RET – возврат

RETI – return from interruption. Возврат из обработчика прерывания со снятием запроса на прерывание.

JB bit, offset  - Jump Bit

JNB bit, offset – Jump Not Bit

JC offset – Jump Carry

JNC offset

JZ offset

JNZ offset

JBC bit, offset; Jump Bit And Clear – неделимая операция

DJNZ src/dst, offset – DEC and Jump Not Zero – семафор

CJNE  dst, src, offset - сравнение и переход если не 0. Содержимое dst не портится, но CY устанавливается.

Dst      src

A         #, addr

Ri        #

Addr    #

JMP @A+PC; - переход по содержимому аккумулятора (к программному счетчику добавляется содержимое аккумулятора

Битовые операции

MOVB bit, c

MOVB c, bit – с – carry, т.е. в качестве аккумулятора служит бит переноса

ANLB c, bit

ANLB c, \bit

ORLB c, bit

ORLB c, \bit

CPLB bit - инверсия

CLR bit - очистка

SETB bit – установка

Задание тактовой частоты – кварцевый резонатор

(((((((()))))))

С1, С2 – 22-47pF. Если частота > 3Мгц – обеспечивают стабильную работу

Сброс

(((())))

С и R надо выбрать таким образом, чтобы по достижении напряжения питания конденсатор заряжался. ~4.7 мкФ,  ~5.1кОм

Лучше использовать супервизоры питания.

Красивое решение – триггер Шмидта

Порты ввода-вывода

Порт P1

По включению питания все защелки портов устанавливаются в 1.


Управление питанием

PCON – прямо адресуемый регистр управления питанием.

SMOD

-

-

-

GF1

GF0

PD – power down

IDLE

GF – флаги пользователя

SMOD – модификатор скорости обмена по каналу (1 – в 2 раза больше)

IDLE – холостой ход. ЗГ работает, программа не выполняется, но работают таймеры – счетчики, … Выход из режима IDLE по любому прерыванию и RESET

IDLE: ORL PCON, #01;

SJMP IDLE;

PD – Power down – режим пониженного энергопотребления. Не работает ЗГ. Работает только контроллер прерываний по внешним запросам. Выход по Int0, Int1, RESET.

(проп лекция)

Режимы работы процессора

·  По программе

·  Холостого хода (IDLE)

·  Пониженного энергопотребления (Power Down)

·  Насхемная эмуляция (ONCE). В нем процессор вообще не реагирует ни на что, кроме нажатия кнопки сброса

Intel i8052

i8052 = i8051 +

  • 16разр таймер (Т2)
    • Захват (фиксация времени перехода 1->0 на входе)
    • Т2 – высокоскоростной выход
    • Наряду с Т1, Т2 можно использовать для синхронизации последовательного связного адаптера (RCLK, TCLK). При этом приемник и передатчик могут работать на разных частотах
    • T2EX
    • +/-
    • TH2, TL2, T2CON, T2MOD, RCAP2H, RCAP2L
    • Автоперезагрузка (16разр)
  • 128 байт внутренней памяти (IRAM)
  • Power On Flag (POF)

PCON – прямо адресуемый регистр управления питанием.

SMOD

-

-

POF

GF1

GF0

PD

IDLE

POF устанавливается в 1, если происходит подача питания. Старт из холодного режима.

T2CON