и имеет отдельное от памяти
Память программ предназначена для хранения программ и имеет отдельное от памяти данных адресное пространство объемом 64 Кбайт, причем для некоторых микросхем (например КР1816ВЕ51, КМ1819ВЕ751, КР1830ВЕ51) для хранения программ на кристалле микроконтроллера расположено ПЗУ. Это ПЗУ отображается в область млаших адресов памяти программ. Учитывая, что выполнение программы после сброса микроконтроллера всегда начинается с нулевого адреса памяти программ, то при включении питания начнет выполняться программа, записанная во внутненнем ПЗУ микроконтроллера. Микроконтроллеры, не имеющие внутреннего ПЗУ (например КР1816ВЕ31 и КР1830ВЕ31) могут работать только с внешней микросхемой ПЗУ емкостью до 64 Кбайт (при использовании портов P1 и P3 в качестве расширителя адреса объем подключаемой ПЗУ может быть увеличен до 1Гбайта). Микроконтроллеры семейства MCS-51 имеют внешний вывод EA, с помощью которого можно запретить работу внутренней памяти, для чего необходимо подать на вывод EA логический "0" (соединить этот вывод с корпусом). При этом внутренняя память программ отключается и, начиная с нулевого адреса, все обращения происходят к внешней памяти программ.
Доступ к внешней памяти программ осуществляется в двух случаях:
- при действии сигнала EA=0 независимо от адреса обращения,
- в любом случае, если программный счетчик (РС) содержит число большее, чем максимальная ячейка внутренней памяти программ.
![]() |
Для чтения памяти программ используются команды MOVC A, A+@DPTR и MOVC A, A+@PC |
Для других микроконтроллеров этого семейства изменяется только объем внутренней памяти программ и количество доступных векторов прерываний программы.
Ниже приведены адреса векторов прерываний и соответствующие им аппаратурные источники прерываний программы:
Вектор прерывания | Флаги, вызывающие прерывание | Источник прерывания |
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 |
- жирным подчеркнутым текстом- присутствуют во всех микросхемах семейства;
- жирным текстом- отсутствуют в микросхемах 8051,8031, КР1816ВЕ31, КР1816ВЕ51, КР1816ВЕ751 КР1830ВЕ31, КР1830ВЕ51, КР1830ВЕ751;
- обычным текстом- присутствуют только в микросхемах 8Х51FA, FB, FC и GB
- курсивом- присутствуют только в микросхеме 8Х51GB