MCS-51 (1031646), страница 7
Текст из файла (страница 7)
Привыполнении команд RET, RETI содержимое указателя стека уменьшается на 2. При выполнении команды PUSH direct содержимое указателя стека увеличивается на 1. При выполнении команды POP direct содержимое указателя стека уменьшается на 1. После сброса в указателе стека устанавливается адрес 07Н, что соответствует началу стека с адресом08Н. Здесь direct означает прямой адрес регистра, обменивающегося со стеком.В ОМЭВМ предусмотрена возможность расширения памяти данных путем подключения внешних устройств емкостью до 64 Кбайт. При этом обращение к внешней памяти данных возможно только с помощью команд MOVX.Команды MOVX @Ri, A и MOVX A, @Ri формируют восьмиразрядный адрес, выдаваемый через порт Р0.
Команды MOVX @DPTR, А и MOVX @A, DPTR формируют 16разрядный адрес, младший байт которого выдается через порт Р0, а старший - через порт Р2.Байт адреса, выдаваемый через порт Р0, должен быть зафиксирован во внешнем регистре поспаду сигнала ALE, т. к. в дальнейшем линии порта Р0 используются как шина данных, через которую байт данных принимается из памяти при чтении или выдается в память данных при записи.
Приэтом чтение стробируется сигналом ОМЭВМ RD, а_запись_- сигналом ОМЭВМ - WR. При работе свнутренней памятью данных сигналы RD и WR неформируются..На рис. 2.11а показана страничная организация внешней памяти данных Приведенная схема позволяетработать с памятьюданных емкостью 2Кбайт, используя команды типа MOVX@Ri. Порт Р0 при этомРис.
2.11а. Страничная организация внешней памятиработает как мультипданных.лексированнаяшинаадрес/данные, а три линии порта Р2 адресуют страницы внешнего ОЗУ. Остальные 5 линий порта Р2 могут использоваться в качестве линий ввода/вывода. Подробно организация памяти данных описана в разделе 2.3.5.На рис. 2.116 и 2.11в соответственно приведены диаграммы циклов чтения и записипри работе МК с внешней памятью данных.32PCL OUT — выдача младшего байта счетчика команд PCРСН — старший байт счетчика команд PCDPL, DPH — соответственно младший и старший байты регистра указателя данных DPTR, который используется в качестве регистра косвенного адреса в командах MOVX A, @DPTR и MOVX @DPTR,AР2 SFR — защелки порта Р2RI — регистры R0 и R1, которые используются в качестве регистров косвенного адреса в командахMOVX A,@RI и HOVX @RI,AZ — высокоимпедансное состояниеD — период, в течение которого данные с Р0 вводятся в ОМЭВМРис.
2.116. Цикл чтения из внешней памяти данныхPCL OUT — выдача младшего байта счетчика команд PCРСН — старший байт счетчика команд PCDPL, DPH — соответственно младший и старший байты регистра указателя данных DPTR, который используется в качестве регистра косвенного адреса в командах MOVX A.SDPTR и MOVX @DPTR,AР2 SFR — защелки порта Р2RI — регистры R0 и R1, которые используются в качестве регистров косвенного адреса в командахMOVX A,@RI и MOVX @RI,AРис.
2. 11в. Цикл записи во внешнюю память данных332.2.8. Память программПамять программ предназначена для хранения программ и имеет отдельное от памятиданных адресное пространство объемом до 64 Кбайт, причем, для микросхем КР1816ВЕ51,КМ1816ВЕ751 и для КР1830ВЕ51 часть памяти программ с адресами 0000Н—0FFFH расположена на кристалле ОМЭВМ. Память программ, расположенная на кристалле, состоит из 12разрядного дешифратора и ПЗУ емкостью 4К-8 бит для микросхем КРШ6ВЕ51, КР1830ВЕ51или ППЗУ с ультрафиолетовым стиранием емкостью 4Кх8 бит для КМ1816ВЕ751. Запись программ в ПЗУ происходит во время изготовления кристаллов.Если на вывод ОМЭВМ DEMA подано напряжение питания Ucс то обращение квнешней памяти программ происходит автоматически при выработке счетчиком команд адреса, превышающего 0FFFH.
Если адрес находится в пределах0000Н—0FFFH, обращение происходит к памяти программ, расположенной накристалле (внутренней памяти программ).Если на вывод ОМЭВМ DEMA подан "0", внутренняя память программотключается и начиная с адреса 0000Н все обращения выполняются к внешней памятипрограмм. Если ОМЭВМ не имеет внутренней памяти программ, ее вывод DEMA долженбыть подключен к шине О В.Чтение из внешней памяти программ стробируется сигналом ОМЭВМ РМЕ. Приработе с внутренней памятью программ сигнал РМЕ не формируется. ОМЭВМ не имеютинструкций и аппаратных средств для программной записи в память программ.При обращениях к внешней памяти программ всегда формируется 16-разрядныйадрес, младший байт которого выдается через порт Р0, а старший — через порт Р2.
Приэтом байт адреса, выдаваемый через порт Р0, должен быть зафиксирован во внешнем регистре по спаду сигнала ALE, т. к. в дальнейшем линии порта Р0 используются в качествешины данных, по которой байт из внешней памяти программ вводится в ОМЭВМ.На рис. 2.11г показана функциональная схема включения ОМЭВМ МК51 с внешним ППЗУ программ. Порт Р0 работает как мультиплексированная шина адрес/данные:выдает младший байт счетчика команд, а затем переходит в высокоимпедансное состояние и ожидает прихода байта из ППЗУ программ. Когда младший байт адреса находитсяна выходах порта Р0, сигнал ALE защелкивает его в адресном регистре RG.
Старший байтадреса находится на выходах порта Р2 в течение всего времени обращения к ППЗУ. Сигнал РМЕ разрешает выборку байта из ППЗУ, после чего выбранный байт поступает напорт Р0 МК51 и вводится в ОМЭВМ.Рис. 2.11г. Схема включения МК с внешней памятью программПодробно организация памяти программ описана в разделе 2.3.5. На рис. 2.11д и2.11е приведены диаграммы, показывающие формирование соответствующих сигналовпри работе ОМЭВМ с внешней памятью программ. Как видно из диаграмм, при работе свнешней памятью программ сигнал РМЕ формируется дважды в каждом машинном цикленезависимо от количества байт в команде. Если второй выбираемый байт в текущей ко-34манде не используется, он игнорируется ОМЭВМ. В дальнейшем при переходе к выполнению следующей команды этот байт будет введен вторично.PCL OUT — выдача младшего байта счетчика команд PCРСН OUT — выдача старшего байта счетчика команд PCD — периоды, в течение которых данные с Р0 вводятся в МК"Рис.
2.11д. Работа с внешней памятью программ(A ) — без выполнения команды MOVX(В) — с выполнением команды MOVXPCL OUT — выдача младшего байта счетчика команд PCPCН OUT — выдача старшего байта счетчика команд PCDPH — старший байт регистра указателя данных DPTR, который используется в качестве регистра косвенного адреса в командах MOVX A,@DPTR и MOVX @DPTR,AР2 SFR — защелки порта Р2INS IN — ввод байта инструкции из памяти программADDR OUT — выдача младшего байта адреса внешней памяти данных из регистров R0, R1 или регистра DPL. Задний фронт ALE стробирует адрес на порте Р0.
В этот момент адрес гарантированноустановленРис. 2.11е. Циклы работы с внешней памятью программ35Если выполняется команда MOVX (рис. 2.11е, диаграмма В), два сигнала РМЕ неформируются, т. к. порт Р0 освобождается для адресации и обмена данными с внешнейпамятью данных. Когда ОМЭВМ работает с внутренней памятью программ, РМЕ не формируется и адрес на портах Р0 и Р2 не выдается. Тем не менее, сигнал ALE будет формироваться дважды в каждом машинном цикле всегда за исключением случая командыMOVX (в этом случае один сигнал ALE пропускается). Таким образом, если не используются команды MOVX, сигнал ALE может быть задействован в качестве выходного синхросигнала.2.3. Описание функционирования ОМЭВМСтатические параметры микросхем приведены в табл.
2.24. Динамические параметры микросхем приведены в табл. 2.25. Предельные значения электрических режимов эксплуатации приведены в табл. 2.26.2.3.1. Режимы работы и начальная установкаОМЭВМ могут работать в следующих режимах:- только с внешней памятью программ (все модификации);- только с внутренней памятью программ (только КР1816ВЕ51, ИКР1830ВЕ51);- с внутренней и внешней памятью данных (все модификации);- в режиме программирования внутренней памяти программ (толькоКМ1816ВЕ751);- в режиме проверки внутренней памяти программ (только КР1816ВЕ51,КМ1816ВЕ751 и КР1830ВЕ51).Режим работы устанавливается комбинацией входных и выходных сигналов.Инициализация (сброс) микросхем осуществляется сигналом RST (активный высокий уровень напряжения) при условии подачи на микросхему внешнего сигнала синхронизации или при подключенном кварце.
Вход RST является входом внутреннего триггераШмитта.Для того, чтобы сброс микросхемы гарантированно произошел, длительность сигнала высокого уровня на входе RST должна быть не менее двух машинных цикловОМЭВМ (24 периода частоты синхронизации fBQ). При поступлении внешнего сигналасброса на вход RST ОМЭВМ формирует сигнал сброса.Внешний сигнал сброса является асинхронным по отношению к внутренней синхронизации ОМЭВМ.
Состояние вывода RST проверяется в фазе S5P2 каждого машинного цикла. После подачи сигнала высокого уровня на вход RST ОМЭВМ продолжает работу в течение времени от 19 до 31 периода частоты fBQ (формируются ALE,РМЕ и т. п.), после чего ALE и РМЕ устанавливаются в "1" и находятся в этом состояниивсе время, пока на входе RST присутствует активный сигнал сброса. После подачи на входRST уровня "0" проходит от 1 до 2 машинных циклов до начала формирования сигналовALE и РМЕ.При подаче сигнала сброса на вход RST внутренний алгоритм сброса ОМЭВМ производит следующие действия:- устанавливает счетчик команд PC и все регистры специальных функций, кромезащелок портов Р0—РЗ, указателя стека SP и регистра SBUF, в ноль;- указатель стека принимает значение равное 07Н;- запрещает все источники прерываний, работу таймеров-счетчиков и последовательного порта;- выбирает БАНК 0 ОЗУ, подготавливает порты Р0—РЗ для приема данных и определяет выводы ALE и РМЕ как входы для внешней синхронизации;- в регистрах специальных функций PCON, IP и IE резервные биты принимают случайные значения, а все остальные биты сбрасываются в ноль;- в регистрах SBUF устанавливаются случайные значения.36- устанавливает фиксаторы-защелки портов Р0—РЗ в "1".Обобщенные данные по состояниям регистров после сброса адреса указаны в таблице 2.16.Сигнал сброса на входе RST не влияет на внутреннее ОЗУ данных.
После включения питания содержимое ячеек внутреннего ОЗУ данных принимает случайные значения.Таблица 2.16РегистрPCАССВPSWSPDPTRP0-P3IPIETMODTCONTH0TL0TH1TL1SCONSBUFPCONИнформация0000H00H00H00H07H0000H0FFHХЮС00000В0XX00000B00H00H00H00H00H00H00HНеопределенная0ХХХ0000В для k-MOП 0XXXXXXXB для n-МОПНа рис. 2.12 показана схема подключения ОМЭВМ для реализации автоматического сброса по включению питания.Для n-МОП ОМЭВМ автоматический сброс при включении питания VCC можетбыть реализован подключением входа RST к VCC через конденсатор емкостью 10 мкФ и кшине 0 В через резистор 8,2 К.