Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Расширение языка C для микроконтроллера серии МК51




 

Транслятор Cx51 имеет ряд отличий от стандарта ANSI. Большая часть этих отличий связано с непосредственной поддержкой архитектурных особенностей МК51. Расширения Cx51 поддерживают:

- типы и области памяти МК51;

- модели памяти;

- спецификации типов памяти;

- спецификации типов переменных;

- битовые данные и переменные битового типа;

- регистры специальных функций;

- указатели;

- атрибуты функций.

Ключевые слова

 

Для учета особенностей МК51 в трансляторе Cx51 добавлены следующие ключевые слова:

 

_at_ idata sfr
Alien interrupt sfr16
bdata large small
Bit pdata _task_
Code _priority_ using
compact reentrant xdata
Data sbit  

 

Эти добавления можно отменить, используя директиву NOEXTEND.

Память микроконтроллеров серии МК51

 

В отличие от ЭВМ, выполненных на микропроцессорах общего применения, в которых константы, переменные и данные расположены в одной и той же физической области памяти (ОЗУ), микроконтроллеры серии МК51 имеют несколько типов физически разной памяти.

Память программ (кодов) предназначена только для чтения и недоступна для записи (ПЗУ). В зависимости от конфигурации аппаратных средств микропроцессорной системы эта память может располагаться на кристалле процессора (резидентно), или быть внешней. МК51 может выполнять только программу, расположенную в ПЗУ. В ПЗУ могут располагаться также данные, представляющие собой константы. Доступ к памяти кодов в Cx51 осуществляется спецификатором типа code.

Внутренняя память данных расположена на кристалле вместе с процессором (резидентно). В зависимости от разновидности контроллера серии МК51 внутренняя память может достигать объема до 256 байт. Первые 128 байт внутренней памяти могут иметь как прямую, так и косвенную адресацию. Верхние 128 байт с адресами 0x80 – 0xFF адресуются только косвенно. Начиная с адреса 0x20, расположены 16 байт с битовой адресацией. Таким образом, внутренняя память распадается на три типа, которые в трансляторе Cx51 определяются спецификаторами данных data, idata, bdata.

Память типа dataопределяет данные в области первых 128 байтов. Доступ к расположенным здесь переменным производится с применением прямой адресации.

Память типа idataопределяет данные во всех 256 ячейках внутренней памяти. Но при этом доступ к переменным реализуется с использованием косвенной адресации.

Память типа bdataопределяет 16 байт данных, расположенных в области адресов 20h до 2Fh. Данный спецификатор позволяет иметь доступ к данным на уровне отдельных битов.

Внешняя память данных доступна как по чтению, так и по записи, но физически она размещена вне процессора. Доступ к внешней памяти происходит медленнее, чем к внутренней. Это обусловлено тем, что при обращении к внешней памяти используется косвенная адресация через регистр-указатель данных DPTR,в который предварительно загружается адрес ячейки внешней памяти.

Внешняя память может иметь объем до 64 Кбайт. Однако такой объем памяти применяется не всегда. В адресном пространстве внешней памяти могут располагаться регистры внешних устройств. Такой подход называют вводом-выводом, отображенным на память.

В трансляторе Cx51 предусмотрено два типа данных внешней памяти: xdataиpdata.

Память типа xdata определяет переменные в 64-Кбайтном адресном пространстве внешней памяти.

Память типа pdata определяет 256 байтов внешней памяти.

Память регистров специальных функций (SFR) в соответствии с архитектурой МК51 занимает 128 прямо адресуемых байтов в адресном пространстве от 80h до FFh. Регистры специальных функций используются для управления таймерами, каналом последовательной связи и другими периферийными устройствами. Они имеют битовый, байтовый доступ или размер двухбайтовых слов.


Поделиться:

Дата добавления: 2015-04-05; просмотров: 197; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.008 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты