Особенности построения памяти микроконтроллеров семейства MCS-51. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Особенности построения памяти микроконтроллеров семейства MCS-51.



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

Схема подключения внешних микросхем памяти к микроконтроллерам семейства MCS-51 приведена на рис. 20.6. Регистр адреса D3 на этой схеме предназначен для запоминания младших восьми битов адреса, передаваемых через шину данных/адреса, совмещенную с портом P0. Старшие восемь битов адреса передаются через шину адреса, совмещенную с портом P2. Во время передачи адреса через порт P0, микроконтроллер вырабатывает синхроимпульс на выводе ALE. Именно этот импульс позволяет запомнить младший байт адреса в регистре D3 и тем самым организовать 16-разрядную шину адреса внешней памяти.

При обращении к памяти данных и к памяти программ используются одни и те же шина адреса и шина данных, но разные управляющие сигналы. Для чтения памяти программ вырабатывается сигнал PSEN, а для чтения памяти данных — сигнал RD. Для записи информации в память данных вырабатывается сигнал WR. Именно эти управляющие сигналы и разделяют память микроконтроллера на память программ и память данных. То есть память программ доступна только для чтения, а память данных доступна и для чтения и для записи любой информации, записанной в двоичном коде.

Память программ микроконтроллеров MCS‑51

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

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

Микроконтроллеры семейства MCS-51 имеют внешний вывод EA, с помощью которого можно запретить работу внутренней памяти, для чего необходимо подать на вывод EA логический 0 (соединить этот вывод с общим проводом). При этом внутренняя память программ отключается и, начиная с нулевого адреса, все обращения происходят к внешней памяти программ.

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

ú При действии сигнала EA=0 независимо от адреса обращения.

ú В любом случае, если программный счетчик (РС) содержит число большее, чем максимальный адрес внутренней памяти программ.

Распределение памяти программ микроконтроллера КР1830ВЕ51 представлено на рис. 20.10. На этом рисунке объем внутренней памяти приведен для микроконтроллеров 1816ВЕ751. У других микросхем этого семейства он может оказаться другим, и соответственно будет иначе проходить граница между внутренней и внешней памятью программ. Количество доступных векторов прерываний тоже зависит от конкретного типа микроконтроллера.

    0FFFFh
     
  Внешняя память  
  программ  
     
    01000h
      0FFFh
  Внутренняя память программ EA=1 Внешняя память программ EA=0  
      0023h
  Векторы прерывания Векторы прерывания  
      0000h
           

Рис. 20.10. Распределение памяти программ микроконтроллеров КР1830ВЕ751

Адреса векторов прерываний и соответствующие им аппаратные источники прерываний для микроконтроллеров AT89c52 приведены в табл. 20.3. Что такое векторы прерываний и принципы работы с этими особыми ячейками памяти программ будут рассмотрены позднее.

Таблица 20.3 Адреса векторов прерываний

Адрес вектора прерывания Флаги, вызывающие прерывание Источник прерывания
0000Н Рестарт (сброс) контроллера RESET
0003Н IE0 Внешнее прерывание INT0
000BН TF0 Таймер 0
0013Н IE1 Внешнее прерывание INT1
001BН TF1 Таймер 1
0023Н RI, TI Последовательный порт
002BН TF2, EXF2 Таймер 2

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

Для чтения памяти программ используются команды, обозначаемые мнемоническим обозначением MOVC. Например:

MOVC A, A+@DPTR;Считать байт из памяти программ по адресу, вычисляемому

;как сумма содержимого регистров аккумулятора и DPTR

MOVC A, A+@PC;Считать байт из области памяти программ, начинающейся за

;данной командой



Поделиться:


Последнее изменение этой страницы: 2017-02-07; просмотров: 239; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.119.11.28 (0.006 с.)