русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Внутренняя и внешняя память SRAM микроконтроллеров AVR


Дата добавления: 2015-08-06; просмотров: 2523; Нарушение авторских прав


 

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

Если объема внутренней памяти SRAM недостаточно, то в некоторых микроконтроллерах AVR его можно увеличить до 64 Кбайт посредством подключения внешних блоков памяти. Для этого в регистре MCUCR (адрес в области ввода/вывода – $35, адрес в SRAM – $55) следует установить в лог. 1 разряд SRE (разряд 7). После установки этого разряда порты А и С будут выступать в качестве шины адреса и шины данных, а выводы 7 и 6 порта D – в качестве управляющих сигналов чтения /RD и, соответственно, записи /WR для внешней памяти SRAM), независимо от того, какие направления передачи данных установлены для этих портов в соответствующих регистрах направления передачи данных.

 

Стек

 

Стек – это особая область памяти данных, используемая процессором для временного хранения адресов возврата из подпрограмм, промежуточных результатов вычислений и др. В микроконтроллерах PIC и некоторых микроконтроллерах AVR стек реализован аппаратно – для этого выделено отдельное запоминающее устройство фиксированного объема в несколько (или несколько десятков) байт. Для микроконтроллеров AVR компиляторы языка С (например, при обращении к подпрограммам) могут также создавать один или более стеков программно, начиная с верхних адресов области SRAM.

Стек действует по принципу LIFO – "Last In, First Out", что означает "последним вошел, первым вышел". Это означает, что новые данные вначале помещаются на вершину (первый уровень) стека, а затем, с поступлением следующих данных, "проталкиваются" на его нижние уровни. Извлечение из стека происходит в обратном порядке: вначале считываются данные, помещенные последними на вершину, после чего данные, размещенные на нижних уровнях, как бы "выталкиваются" на один уровень вверх. Ячейка памяти, которая является в данный момент вершиной стека, адресуется указателем стека (для AVR – регистровой парой SPL, SPH).



Поскольку область памяти данных, отводимая для программного стека, ограничивается только объемом памяти SRAM, при написании программ следует следить за тем, чтобы стек не становился слишком большим, затирая полезные данные.

 



<== предыдущая лекция | следующая лекция ==>
Регистр состояния SREG микроконтроллеров AVR | Память EEPROM микроконтроллеров AVR


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.508 сек.