Различные типы регистров, используемых в микроконтроллере 8051

Попробуйте наш инструмент устранения неполадок





Реестр - это основная часть микроконтроллеры и процессоры которые обеспечивают быстрый способ сбора и хранения данных. Если мы хотим манипулировать данными с помощью контроллера или процессора, выполняя сложение, вычитание и т. Д., Мы не можем делать это непосредственно в памяти, но для обработки и хранения данных нужны регистры. Микроконтроллеры содержат несколько типов регистров, которые можно классифицировать в соответствии с их содержимым или инструкциями, которые в них работают.

Различные типы регистров микроконтроллера 8051

регистр




Регистр - это небольшое место в ЦП, которое может хранить небольшие объемы данных, используемых для выполнения различных операций, таких как сложение и умножение, и загружать полученные данные в основную память. Регистры содержат адрес ячейки памяти, в которой должны храниться данные. Размер реестра очень важен для современные контроллеры . Например, для 64-битного регистра ЦП пытается сложить два 32-битных числа и дает 64-битный результат.

Типы регистров

Микроконтроллер 8051 содержит в основном регистры двух типов:



  • Регистры общего назначения (регистры с байтовой адресацией)
  • Регистры специальных функций (регистры с битовой адресацией)
8051 RAM память

8051 RAM память

В 8051 микроконтроллер состоит из 256 байтов ОЗУ, которая разделена на два направления, например 128 байтов для общего назначения и 128 байтов для памяти регистров специальных функций (SFR). Память, которая используется для общих целей, называется RAM, а память, используемая для SFR, содержит все регистры, относящиеся к периферии, такие как накопитель, регистр «B», таймеры или счетчики, а также регистры, относящиеся к прерываниям.

Регистры общего назначения

Память общего назначения

Память общего назначения

Память общего назначения называется ОЗУ микроконтроллеров 8051 и разделена на 3 области, такие как банки, область с битовой адресацией и область блокнотов. Банки содержат разные регистры общего назначения, такие как R0-R7, и все такие регистры являются регистрами с байтовой адресацией, которые хранят или удаляют только 1-байтовые данные.


Банки и регистры

B0, B1, B2 и B3 обозначают банки, и каждый банк содержит восемь регистров общего назначения в диапазоне от «R0» до «R7». Все эти регистры имеют байтовую адресацию. Передача данных между регистрами общего назначения в регистры общего назначения невозможна. Эти банки выбираются регистром слова состояния программы (PSW).

Регистры общего назначения

Регистры общего назначения

PSW (Слово состояния программы) Регистр

Регистр PSW - это регистр с побитовой адресацией. Этот регистр отражает состояние операции, выполняемой в контроллере. Регистр PSW определяет выбор банка для RS1 и RS0, как показано ниже. Физический адрес PSW начинается с D0h, а доступ к отдельным битам осуществляется с D0h до D7h.

Регистры PSW

Регистры PSW

Флаг переноски (C) : Адрес флага переноса - D7. Этот флаг переноса изменяется, когда бит генерируется с 7-й позиции.
Когда C = 0 перенос сбрасывается
C = 1 переносных наборов

Перенести флаг

Перенести флаг

Вспомогательный флаг (AC) : Адрес вспомогательного переноса - D5. На этот вспомогательный перенос влияет, когда бит генерируется из 3-й позиции в 4-ю позицию.
AC = 0 вспомогательный сбрасывается
AC = 1 вспомогательный установлен

Вспомогательная переноска (AC)

Вспомогательная переноска (AC)

Флаг переполнения (OV) : Адрес флага переполнения - D2. Когда бит генерируется из 6-й позиции в 7-ю позицию, это влияет на флаг переполнения.

OV = 0 сбрасывает флаг переполнения
OV = 1 набор флагов переполнения

Флаг переполнения

Флаг переполнения

Флаг четности (P) : Адрес флага четности - D0. При выполнении арифметических операций, если результат равен 1, то флаг четности устанавливается, иначе сбрасывается.
RS1 и RS0
RS1 и RS0, биты в регистре PSW, используются для выбора различных ячеек памяти (от bank0 до bank4) в RAM.

Регистры выбора банка

Регистры выбора банка

Ниже приведен пример использования этого регистра.

В следующем примере демонстрируется сложение двух чисел, а затем сохранение окончательного значения в регистре Bank1 с помощью программы уровня сборки.

Org 0000h
MOV PSW, # 00h
МОВ А, 15
ДОБАВИТЬ A, 20
MOV 00h, A
КОНЕЦ

Ассемблерная программа для перемещения 6 натуральных чисел в регистр bank0 R0-R5

Org 0000h (объявление начальных адресов)
MOV PSW, # 00h (открыть память bank0)
MOV r0, # 00h (начальный адрес памяти bank0)
MOV r1, # 01h
MOV r2, # 02h
MOV r2, # 03h
MOV r3, # 04h
MOV r4, # 05h
КОНЕЦ

Ассемблерная программа для перемещения 6 натуральных чисел в регистр bank1 R0-R7

Org 0000h (объявление начальных адресов)
MOV PSW, # 08h (открыть память bank1)
MOV r0, 00h (значение отправляется в память bank1)
MOV r1, 02h
MOV r2, 02h
MOV r2, 03ч
MOV r3, 04ч
MOV r4, 05ч
MOV r5, 06ч
MOV r6, 07h
MOV r7, 08ч
КОНЕЦ

Регистры специальных функций (SFR)

Регистры специальных функций - это верхнее ОЗУ. в микроконтроллерах 8051 . Эти регистры содержат все регистры, относящиеся к периферии, такие как P0, P1, P2, P3, таймеры или счетчики, последовательный порт и регистры, относящиеся к прерываниям. Адрес памяти SFR начинается с 80h до FFh. Регистр SFR реализован регистрами битового адреса и регистрами байтового адреса.

Регистры специальных функций (SFR)


Регистры специальных функций (SFR)

Аккумулятор, регистр B, Po, P1, P2, P3, IE регистры являются регистрами с побитовой адресацией, все остальные являются регистрами с байтовой адресацией.

Аккумулятор

Аккумулятор, также известный как ACC или A, представляет собой битовый регистр с байтовой адресацией по адресу аккумулятора. Если вы хотите использовать регистр с побитовой адресацией, вы можете использовать один бит (E0) регистра, и вы можете использовать 8-битный аккумулятор как регистр с байтовой адресацией. В аккумуляторе хранятся результаты большинства арифметических и логических операций.

Регистр накопителей

Регистр накопителей

Программа сборки для вычитания, используемая с аккумулятором

Org 0000h
MOV R0, # 09h
MOV A, # 03h (1 байт данных)
SUBB A, 01h (1 байт данных)
КОНЕЦ

B-регистр

B-регистр - это регистр с побитовой адресацией. Вы можете получить доступ к 1 или всем 8 битам по физическому адресу F0h. Предположим, что для доступа к биту 1 мы должны использовать f1. Регистр B используется только для операций умножения и деления.

B-регистр

B-регистр

Программа сборки для умножения, используемая с B-регистром

Org 0000h
MOV A, # 09h
MOV B, # 03h
MUL A, B (Конечное значение сохраняется в A)
КОНЕЦ
Программа сборки для Division, используемая с B-регистром
Org 0000h
MOV A, # 09h
MOV B, # 03h
DIC A, B (окончательное значение сохраняется в A)
КОНЕЦ

Регистры портов

Микроконтроллер 8051 состоит из 4 портов ввода и вывода (P0, P1, P2 и P3) или 32 контактов ввода / вывода. Каждая булавка разработан с транзистором и регистры P. В конфигурация контактов очень важно для микроконтроллера, которое зависит от логических состояний регистров. Конфигурация выводов в виде входа 1 или выхода 0 зависит от логических состояний. Если к биту регистра P применяется логическая 1, выходной транзистор отключает соответствующий вывод, который действует как входной вывод.

Регистры портов 8051

Регистры портов 8051

Программа сборки для переключения светодиодов Port0

ORG 0000h
ВОЗВРАТ: MOV P0, # 00h
ACALL DEL1
MOV P0, # 0FF
ACALL DEL1
SJMP ВОЗВРАЩЕНИЕ
DEL1: MOV R2, # 200
FR: DJNZ R0, # 230
DJNZ R2, DEL
ВЕРНО
КОНЕЦ

Счетчики и регистры

Многие микроконтроллеры состоят из одного или нескольких таймеры и счетчики . Таймеры используются для создания драгоценной временной задержки, а источником таймеров является кварцевый генератор. Счетчики используются для подсчета количества внешних событий - например, объективный счетчик , а источником счетчиков являются внешние импульсы, приложенные к выводу счетчика.

Микроконтроллер 8051 состоит из двух 16-битных таймеров и счетчиков, таких как таймер 0 и таймер 1. Оба таймера состоят из 16-битного регистра, в котором младший байт хранится в TL, а старший байт хранится в TH. Таймер можно использовать как счетчик, а также для работы по синхронизации, которая зависит от источника тактовых импульсов, поступающих на счетчики.

Счетчики и таймеры в микроконтроллерах 8051 содержат два специальных функциональных регистра: TMOD (регистр режима таймера) и TCON (регистр управления таймером) , которые используются для активации и настройки таймеров и счетчиков.

Типы сдвигового регистра

Регистры сдвига - это тип последовательных логических схем, которые в основном используются для хранения цифровых данных. Регистры сдвига - это регистры с битовой адресацией, в которых хранится только один бит данных. Сдвиговые регистры состоят из триггеров - группы триггеров, соединенных в цепочку, так что выходной сигнал одного триггера становится входом следующего триггера.

Все триггеры управляются тактовыми сигналами, которые реализуются D-триггером. Регистры сдвига в основном используются для последовательная связь .

Они подразделяются на 4 типа:

  • Последовательный вход Последовательный выход (SISO)
  • Последовательный параллельный выход (SIPO)
  • Параллельный в последовательном выходе (PISO)
  • Параллельно в параллельный выход (PIPO)
D- триггерный регистр

D- триггерный регистр

Все это разные типы регистров микроконтроллера 8051. Мы надеемся, что мы успешно предоставили вам соответствующий контент с соответствующей программой для каждого регистра. Кроме того, для получения какой-либо помощи в знании кодирования нескольких других регистров вы можете связаться с нами, оставив комментарий ниже.

Фото: