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

Организация памяти данных

Читайте также:
  1. C. вопрос о мотивационном компоненте памяти.
  2. I-7000 : устройства удаленного и распределенного сбора данных и управления
  3. I. Организация изучения дисциплины
  4. I. Организация класса.
  5. II. Организация деятельности психолога
  6. II. Организация и программы Олимпийских игр.
  7. II. Организация итоговой аттестации

Данные в вычислительных системах, над которыми выполняются операции, называют операндами.

Память данных предназначена для временного хранения операндов и результатов операций. (Исходные операнды поступают в микроконтроллер из портов ввода, а выходные значения выдаются в порты вывода).

Память данных микроконтроллера разделена на три части: оперативная память ОЗУ(RAM), регистровая память (регистры общего назначения – РОН и регистры ввода-вывода) и энергонезависимая память (EEPROM). Емкость оперативной памяти данных (ОЗУ) составляет 1Кбайт. Запись и считывание содержимого ячеек ОЗУ производится по 8-разрядной шине данных микроконтроллера. Адрес ячейки ОЗУ подается либо из регистра команд, либо одного из регистров X,Z,Y (см. ниже).

В ОЗУ может быть организован стек - область ОЗУ для формально безадресного хранения данных, т.е. стековая команда не содержит адрес ячейки памяти, но она определяет, что адрес стековой ячейки ОЗУ хранится в специальном регистре - указателе стека (SP). Аппаратно указатель стека представляет собой реверсивный счетчик. Для адресации ячеек стека используется постдекрементный/прединкрементный способ, т.е. после загрузки в ячейку стека содержимое SP автоматически уменьшается на единицу, а перед чтением из стека происходит увеличение SP на единицу. Стек «растет» в сторону младших адресов. По сигналу сброса устанавливается SP=0.

Начальное значение указателя стека (адрес начала стека) должен задаваться программно, если программа содержит подпрограммы, в том числе, и прерываний. Так как стек является областью ОЗУ, то начальное значение указателя стек должно быть больше $60. Целесообразно выбирать адрес начала стека равный адресу последней ячейки ОЗУ (45F – см. ниже).

Число используемых разрядов указателя стека равно 10, в соответствии с емкостью ОЗУ микроконтроллера (1Кбайт=1024=210 ). Указатель стека физически состоит из двух восьмиразрядных регистров: регистра старших разрядов SPH и регистра младших разрядов SPL.

Регистровая память микроконтроллеров семейства AVR представляет собой 32 регистра общего применения (РОН) R0 – R31 и до 64-х регистров ввода/вывода в зависимости от типа микроконтроллера. Регистры РОН используются, в основном, для хранения операндов, над которыми выполняются арифметические и логические операции, и результатов операций. Регистры РОН подключены непосредственно к арифметико-логическому устройству, в котором выполняются соответствующие команды. Выбор конкретного регистра РОН производится из регистра команд (специальными разрядами команды). Команды обращения к регистрам РОН занимают одну ячейку программной памяти и выполняются за один машинный цикл. Машинный цикл равен периоду частоты тактового генератора микроконтроллера.

Шесть регистров R26 – R31 регистрового файла могут использоваться для хранения не только данных, но и для хранения адресов ячеек ОЗУ, т.е. реализуется косвенный регистровый способ адресации. В этом случае регистры объединяются в пары, образуя три адресных 16-разрядных регистра X,Y,Z. Регистры R27 и R26 образуют регистр X, регистры R29 и R28 образуют регистр Y, регистры R31 и R30 образуют регистр Z. Регистр Z используется также в качестве адресного регистра при считывании констант из программной памяти. Описание РОН приведено в таблице 2.

В области регистров ввода – вывода расположены различные служебные регистры (указатель стека, регистр состояния и др.), а также регистры встроенных периферийных устройств (таймеры, подсистема прерываний и др.), входящими в состав микроконтроллера, а также регистры управления этими периферийными устройствами. Описание и адреса регистров ввода – вывода приведено в таблице 3.

Регистры РОН, ввода-вывода и ОЗУ размещены в одном адресном пространстве. Распределение адресного пространства приведено на рис.4.. Адреса 0 – 1FН занимают регистры РОН, адреса 20Н – 5FН занимают регистры ввода – вывода, адреса 60Н – 45FH занимают ячейки ОЗУ.

Таким образом, все адресное пространство памяти данных составляет 32+64+512=608 байт.

Обращение к регистрам РОН может осуществляться как к ячейкам памяти со значениями адресов соответствующими рис.2. Обращение к регистрам ввода/вывода командами ввода/вывода IN adr и OUT adr производится, если адреса регистров ввода/вывода в этих командах от 20

 
 

 

Рисунок 4 Организация памяти микроконтроллера

 

до 1F (таблица 3 значения адресов в скобках).

Энергонезависимая память данных микроконтроллера EEPROM имеет отдельное адресное пространство 0 – 1FF.

 

Таблица 2

 

Имя регистра РОН Адрес Описание
R31 или ZH $1F Старший байт регистра Z
R30 или ZL $1E Младший байт регистра Z
R29 или YH $1D Старший байт регистра Y
R28 или YL $1C Младший байт регистра Y
R27 или XH $1B Старший байт регистра X
R26 или XL $1A Младший байт регистра X
R25-R17 $19-$11 Регистры R25-R17
R16-R0 $10-$00 Регистры R16-R0

 

 

Таблица 3

 

 

Адрес I/O (адрес RAM) Имя регистра Функция регистра
$05($25) ADCH Регистр данных АЦП (старший байт)
$04($24) ADCL Регистр данных АЦП (младший байт)
$06($26) ADCSR Регистр управления и состояния АЦП
$07($27) ADMUX Регистр управления мультиплексором АЦП
$1A($3A) DDRA Регистр направления порта А
$1B($3B) PORTA Регистр данных порта A
$19($39) PINA Выводы входов порта A
$17($37) DDRB Регистр направления данных порта В
$18($38) PORTB Регистр данных порта В
$16($36) PINB Выводы входов порта В
$14($34) DDRC Регистр направления данных порта C
$15($35) PORTC Регистр данных порта C
$13($33) PINC Выводы входов порта C
$11($31) DDRD Регистр направления данных порта D
$12($32) PORTD Регистр данных порта D
$10($30) PIND Выводы входов порта D
$35($55) MCUCR Общий регистр управления микроконтроллером
$34($54) MCUSR Регистр состояния микроконтроллера
$3F($5F) SREG Регистр состояния (статуса) процессора
$3A($5A) GIFR Общий регистр флагов прерываний
$3B($5B) GIMSK Общий регистр маски прерываний
$38($58) TIFR Регистр флагов прерываний от таймеров/счетчиков
$39($59) TIMSK Регистр маски прерываний от таймеров/счетчиков
$3E($5E) SPH Старший байт указателя стека
$3D($5D) SPL Младший байт указателя стека
$33($53) TCCR0 Регистр управления таймером/счетчиком Т0
$32($52) TCNT0 Таймер/счетчик Т0
$2F($4F) TCCR1A Регистр управления А таймера/счетчика Т1
$2E($4E) TCCR1B Регистр управления В таймера/счетчика Т1
$2D($4D) TCNT1H Старший байт таймера/счетчика Т1
$2C($4C) TCNT1L Младший байт таймера/счетчика Т1
$2B($4B) OCR1AH Старший байт регистра А сравнения выхода таймера/счетчика Т1
$2A($4A) OCR1AL Младший байт регистра А сравнения выхода таймера/счетчика Т1
$29($49) OCR1BH Регистр совпадения выхода В (старший байт)
$28($48) OCR1BL Регистр совпадения выхода В (младший байт)
$27($47) ICR1H Регистр захвата таймера/счетчика Т1(старший байт)
$26($46) ICR1L Регистр захвата таймера/счетчика Т1(младший байт)
$24($44) TCNT2 Таймер Т2
$25($45) TCCR2 Регистр управления таймером Т2
$23($43) OCR2 Регистр совпадения выхода таймера/счетчика Т2
$07($27) ASSR Регистр состояния асинхронного режима
$1F($3F) EEARH Старший байт регистра адреса EEPROM
$1E($3E) EEARL Младший байт регистра адреса EEPROM
$1D($3D) EEDR Регистр данных EEPROM
$1C($3C) EECR Регистр управления EEPROM
$0E($2E) SPSR Регистр состояния SPI
$0D($2D) SPCR Регистр управления SPI
$0F(02F) CPDR Регистр данных SPI
$0C($2C) UDR Регистр данных порта UART
$OB($2B) USR Регистр статуса порта UART
$OA($2A) UCR Регистр управления порта UART
$09($29) UBRR Регистр управления скоростью порта UART
$21 ($41) WDTCR Регистр управления сторожевого таймера
$08{$28) ACSR Регистр управления и статуса аналогового компаратора

 


Дата добавления: 2015-07-20; просмотров: 105 | Нарушение авторских прав


Читайте в этой же книге: УПРАВЛЯЮЩИЕ СИСТЕМЫ НА МИКРОКОНТРОЛЛЕРАХ. | Особенности микроконтроллеров | Условное графическое обозначение микроконтроллера | Методы адресации. Форматы команд | Система команд | Команды передачи данных (пересылки) | Команды передачи управления | Команды сдвигов и операций с битами | Встроенные устройства | Подсистема прерываний микроконтроллера |
<== предыдущая страница | следующая страница ==>
Организация программной памяти| Арифметико-логическое устройство и регистр состояния процессора

mybiblioteka.su - 2015-2024 год. (0.006 сек.)