Ответы на вопросы, страница 11
Описание файла
Документ из архива "Ответы на вопросы", который расположен в категории "". Всё это находится в предмете "микропроцессорные устройства" из 9 семестр (1 семестр магистратуры), которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. .
Онлайн просмотр документа "Ответы на вопросы"
Текст 11 страницы из документа "Ответы на вопросы"
К адресному пространству памяти данных примыкает адресное пространство регистров специальных функций SFR (Special Function Register).
Адрес | Символ | Наименование |
0E0H | *АСС | Аккумулятор (Accumulator) |
0F0H | *В | Регистр расширитель аккумулятора (Multiplication Register) |
0D0H | *PSW | Слово состояния программы (Program Status Word) |
080Н | *P0 | Порт 0 (SFR P0) |
090H | *Р1 | Порт 1 (SFR P1) |
0A0H | *P2 | Порт 2 (SFR P2) |
0B0H | *P3 | Порт 3 (SFR РЗ) |
081H | SP | Регистр указатель стека (Stack Pointer) |
083H | DPH | Старший байт регистра указателя данных DPTR (Data Pointer High) |
082H | DPL | Младший байт регистра указателя данных DPTR (Data Pointer Low) |
08CH | TH0 | Старший байт таймера 0 () |
08AH | TL0 | Младший байт таймера 0 () |
08DH | TH1 | Старший байт таймера 1 () |
08BH | TL1 | Младший байт таймера 1 () |
089H | TMOD | Регистр режимов таймеров счетчиков (Timer/Counter Mode Control Register) |
088H | *TCON | Регистр управления статуса таймеров (Timer/Counter Control Register) |
0B8H | *IP | Регистр приоритетов (Interrupt Priority Control Register) |
0A8H | *IE | Регистр маски прерывания (Interrupt Enable Register) |
087H | PCON | Регистр управления мощностью (Power Control Register) |
098H | *SCON | Регистр управления приемопередатчиком (Serial Port Control Register) |
099H | SBUF | Буфер приемопередатчика (Serial Data Buffer) |
Примечание. Регистры, символ которых отмечен знаком (*), допускают адресацию своих отдельных бит при использовании команд из группы команд операций над битами.
Адреса, по которым расположены эти регистры, приведены в таблице.
Отметим, что регистры занимают только часть 128-байтового адресного пространства. Те ячейки памяти с адресами 80H-0FFH, которые не заняты регистрами, физически отсутствуют, на кристаллах микроконтроллеров семейства 8051 при обращении к ним можно прочитать лишь код команды возврата.
-
Регистры специальных функций управляют работой блоков, входящих в микроконтроллер.
-
Регистры-защелки SFR параллельных портов P0...P3 - служат для ввода-вывода информации.
-
Две регистровые пары с именами TH0, TL0 и TH1, TL1 представляют собой регистры двух программно-управляемых 16-битных таймеров-счетчиков.
-
Режимы таймеров-счетчиков задаются с использованием регистра TMOD, а управление ими осуществляется с помощью регистра TCON.
-
Для управления режимами энергопотребления микро-ЭВМ используется регистр PCON.
-
Регистры IP и IE управляют работой системы прерываний микро-ЭВМ,
-
Регистры SBUF и SCON управляют работой приемопередатчика последовательного порта.
-
Регистр-указатель стека SP в микро-ЭВМ рассматриваемого семейства — восьмибитный. Он может адресовать любую область внутренней памяти данных. В отличие от микропроцессора КР580ВМ80, у микро-ЭВМ семейства 8051 стек «растет вверх», т.е. перед выполнением команды PUSH или CALL содержимое SP инкрементируется, после чего производится запись информации в стек. Соответственно при извлечении информации из стека регистр SP декрементируется после извлечения информации. В процессе инициализации микро-ЭВМ после сигнала сброса или при включении питающего напряжения в SP заносится код 07Н. Это означает, что первый элемент стека будет располагаться в ячейке памяти с адресом 08Н.
-
Регистр-указатель данных DPTR чаще всего используют для фиксации 16-битного адреса в операциях обращения к внешней памяти программ и данных. С точки зрения программиста он может выступать как в виде одного 16-битного регистра, так и в виде двух независимых регистров DPL и DPH
-
Аккумулятор (АСС) является источником операнда и местом фиксации результата при выполнении арифметических, логических операций и ряда операций передачи данных. Кроме того, только с использованием аккумулятора могут быть выполнены операции сдвигов, проверка на нуль, формирование флага паритета и т.п. В распоряжении пользователя имеются 8 регистров общего назначения R0–R7 одного из четырёх возможных банков. При выполнении многих команд в АЛУ формируется ряд признаков операции (флагов), которые фиксируются в регистре PSW.
-
Регистр В используется как источник и как приемник при операциях умножения и деления, обращение к нему, как к регистру SFR, производится аналогично аккумулятору.
-
При выполнении ряда команд в арифметико-логическом устройстве (АЛУ) формируются признаки операций — флаги, которые фиксируются в регистре PSW.
Регистр флагов (PSW).
Символ | Позиция | Имя и назначение | ||||||||||||||||||||
P | PSW.0 | Флаг приоритета. Устанавливается и сбрасывается аппаратурно в каждом цикле команды и фиксирует нечетное/четное число единичных бит в аккумуляторе | ||||||||||||||||||||
- | PSW.1 | Не используется | ||||||||||||||||||||
OV | PSW.2 | Флаг переполнения. Устанавливается и сбрасывается аппаратурно при выполнении арифметических операций | ||||||||||||||||||||
RS0 - RS1 | PSW.3 - PSW.4 | Биты выбора используемого банка регистров. Могут быть изменены программным путем
| ||||||||||||||||||||
F0 | PSW.5 | Флаг пользователя. Может быть установлен, сброшен или проверен программой пользователя | ||||||||||||||||||||
АС | PSW.6 | Флаг вспомогательного переноса. Устанавливается и сбрасывается только аппаратными средствами при выполнении команд сложения и вычитания и сигнализирует о переносе или заеме в бите 3 аккумулятора | ||||||||||||||||||||
C | PSW.7 | Флаг переноса. Устанавливается и сбрасывается как аппаратурно, так и программным путем |
Наиболее “активным” флагом PSW является флаг переноса С, который принимает участие и модифицируется в процессе выполнения множества операций, включая сложение, вычитание и сдвиги. Кроме того, флаг переноса (C) выполняет функции “булева аккумулятора” в командах, манипулирующих с битами. Флаг переполнения (OV) фиксирует арифметическое переполнение при операциях над целыми числами со знаком и делает возможным использование арифметики в дополнительных кодах. ALU не управляет флагами селекции банка регистров (RS0, RS1), их значение полностью определяется прикладной программой и используется для выбора одного из четырёх регистровых банков.
В микропроцессорах, архитектура которых опирается на аккумулятор, большинство команд работают с ним, используя неявную адресацию. В Intel 8051 дело обстоит иначе. Хотя процессор имеет в своей основе аккумулятор, он может выполнять множество команд и без его участия. Например, данные могут быть переданы из любой ячейки RDM в любой регистр, любой регистр может быть загружен непосредственным операндом и т.д. Многие логические операции могут быть выполнены без участия аккумулятора. Кроме того, переменные могут быть инкрементированы, декрементированы и проверены без использования аккумулятора. Флаги и управляющие биты могут быть проверены и изменены аналогично.
Работа с внешней памятью микроконтроллера 8051.
Обращения к внешней памяти подразделяются на обращения к внешней памяти программ и обращения к внешней памяти данных. В первом случае для формирования сигнала, активирующего ПЗУ с программой, используется сигнал PSEN, во втором — сигналы RD и WR, активизирующие ОЗУ с данными.
Если используется 16-битовый адрес, старшие восемь бит выводятся через порт Р2 , где они сохраняются в течение всего цикла обращения к внешней памяти. Отметим, что выходные каскады порта Р2 имеют внутреннюю нагрузку, несколько отличающуюся от Р1 и РЗ , благодаря чему в SFR Р2 при выводе адресной информации вовсе не обязательно защелкивать все единицы. Добавим также, что при выводе адресной информации информация из SFR Р2, хотя и не присутствует на выводах микроЭВМ, но и не теряется, восстанавливаясь на них после окончания обращений к внешней памяти (если в процессе этих обращений SFR Р2 не был модифицирован).
Если при обращении к внешней памяти данных используется восьми битный адрес, то на выводах порта остается та же информация, которая там была до начала обращения к внешней памяти. Это позволяет организовать постраничную адресацию внешней памяти данных.
Как уже отмечалось, на выводах порта P0 младший байт адреса мультиплексируется с данными. Сигналы адреса/ данных задействуют оба полевых транзистора выходного каскада порта P0. Таким образом, в этом случае выводы P0 уже не являются выводами с открытым стоком и не требуют внешних нагрузочных элементов.
Сигнал ALE используется для фиксации младшего байта адреса во внешнем регистре-защелке. Адресная информация достоверна в момент окончания сигнала ALE.
Выводимый в цикле записи байт заносится в P0 непосредственно перед активацией сигнала WR и остается неизменным до окончания этого сигнала. В цикле чтения данные на выводах P0 для достоверного считывания должны быть установившимися к моменту окончания сигнала RD.
Во время обращения к внешней памяти CPU записывает 0FFH в SFR P0, уничтожая, таким образом, хранимую там информацию. Таким образом, использовать для записи порт P0 при работе с внешней памятью надо с известной долей осторожности.