Курс лекций - Микропроцессоры

и имеет отдельное от памяти


Память программ предназначена для хранения программ и имеет отдельное от памяти данных адресное пространство объемом 64 Кбайт, причем для некоторых микросхем (например КР1816ВЕ51, КМ1819ВЕ751, КР1830ВЕ51) для хранения программ на кристалле микроконтроллера расположено ПЗУ. Это ПЗУ отображается в область млаших адресов памяти программ. Учитывая, что выполнение программы после сброса микроконтроллера всегда начинается с нулевого адреса памяти программ, то при включении питания начнет выполняться программа, записанная во внутненнем ПЗУ микроконтроллера. Микроконтроллеры, не имеющие внутреннего ПЗУ (например КР1816ВЕ31 и КР1830ВЕ31) могут работать только с внешней микросхемой ПЗУ емкостью до 64 Кбайт (при использовании портов P1 и P3 в качестве расширителя адреса объем подключаемой ПЗУ может быть увеличен до 1Гбайта). Микроконтроллеры семейства MCS-51 имеют внешний вывод EA, с помощью которого можно запретить работу внутренней памяти, для чего необходимо подать на вывод EA логический "0" (соединить этот вывод с корпусом). При этом внутренняя память программ отключается и, начиная с нулевого адреса, все обращения происходят к внешней памяти программ.

Доступ к внешней памяти программ осуществляется в двух случаях:

  1. при действии сигнала EA=0 независимо от адреса обращения,
  2. в любом случае, если программный счетчик (РС) содержит число большее, чем максимальная ячейка внутренней памяти программ.
Распределение памяти программ микроконтроллера КР1830ВЕ51 представлено ниже:

Для чтения памяти программ используются команды MOVC A, A+@DPTR и MOVC A, A+@PC


Рисунок 2. Адресное пространство памяти программ.

Для других микроконтроллеров этого семейства изменяется только объем внутренней памяти программ и количество доступных векторов прерываний программы.

Ниже приведены адреса векторов прерываний и соответствующие им аппаратурные источники прерываний программы:

Вектор прерывания Флаги, вызывающие прерывание Источник прерывания
0000Н - Рестарт (сброс) контроллера RESET
0003Н IE0 внешнее прерывание INT0
000bН TF0 Таймер 0
0013Н IE1 внешнее прерывание INT1
001bН TF1 Таймер 1
0023Н RI, TI Последовательный порт
002bН TF2, EXF2 Таймер 2
0033Н CF, CCFn(n=0:4) Набор программируемых счётчиков (РСА)
003bН AIF Аналого-цифровой преобразователь
0043Н CF1,C1CCFn(n=1:4) Набор программируемых счётчиков (РСА1)
004bН SEPIF Последовательный порт SEP
0053Н IE2 внешнее прерывание INT2
005bН IE3 внешнее прерывание INT3
0063Н IE4 внешнее прерывание INT4
006bН IE5 внешнее прерывание INT5
0073Н IE6 внешнее прерывание INT6
Примечание: вектора прерывания, выделенные:

  1. жирным подчеркнутым текстом- присутствуют во всех микросхемах семейства;
  2. жирным текстом- отсутствуют в микросхемах 8051,8031, КР1816ВЕ31, КР1816ВЕ51, КР1816ВЕ751 КР1830ВЕ31, КР1830ВЕ51, КР1830ВЕ751;
  3. обычным текстом- присутствуют только в микросхемах 8Х51FA, FB, FC и GB
  4. курсивом- присутствуют только в микросхеме 8Х51GB


Содержание раздела