Бродин В.Б., Калинин А.Б. Схемы на микроконтроллерах и БИС программируемой логики, 2002
.pdfГЛАВА 3. МИКРОКОНВЕРТЕР АРцСв 12 ФИРМЫ ANALOG DEVICES |
149 |
В регистре IP отсутствует бит приоритета запроса от монитора пита ния, поскольку этот источник всегда имеет высокий приоритет.
3 .8 . Внутренняя flash-память программ и данных
Внутренняя память программ. Внутренняя flash-память программ микроконвертера объемом 8 Кбайт может быть запрограммирована прямо на плате через последовательный порт UART, либо перед установкой мик росхемы с использованием одного из промышленных программаторов. Ре жим загрузки через последовательный порт устанавливается после вклю чения питания, если вывод PSEN# через резистор (около 1 кОм) подклю чен к земле. Опция загрузки памяти программ (Load+Run) появляется в команде RUN интегрированной системы программирования «ТурбоАс- семблер-51» при настройке этой системы на программирование микрокон вертера ADpC812 (см. главу 6).
Внутренняя flash-память данных. Внутренняя энергонезависимая па мять данных имеет объем 640 байт и разбита на страницы по 4 байта. Все го страниц 160 (рис. 3.17), обращение к этой памяти производится с ис пользованием нескольких регистров спецфункций. Регистры EDAT1EDAT4 предназначены для хранения данных страницы, регистр EADRL используется для хранения адреса страницы, а в регистр ECON записыва ется текущая команда обращения к памяти.
9F: |
Байт 1 |
Байт 2 |
Байт 3 |
Байт 4 |
00: |
|
I |
I |
|
|
Рис. 3.17. |
Внутренняя flash-память данных |
|
Команда, записанная в регистр ECON, сразу выполняется.
Стирание одной страницы и всей flash-памяти данных выполняется за 20 мс, запись одной страницы занимает 250 мксек, а чтение страницы длится командный цикл. Следует обратить внимание на эти цифры, по скольку на время обслуживания flash-памяти данных запросы прерываний откладываются. Сразу после записи команды в регистр ECON процессор переходит в режим пониженного энергопотребления (таймеры/счетчики продолжают функционировать) и находится в нем до конца работы с этой памятью.
Команды работы с flash-памятью данных, коды которых могут быть записаны в регистр ECON, приведены ниже.
150 |
СИСТЕМЫ НА МИКРОКОНТРОЛЛЕРАХ И БИС ПРОГРАММИРУЕМОЙ ЛОГИКИ |
Код команды |
Описание |
01Н |
Чтение страницы. Данные страницы с адресом EADRL заносятся в |
|
регистры EDATAx |
02 Н |
Запись страницы. Данные из регистров EDATAx записываются в |
|
страницу с адресом EADRL |
ОЗН |
Резервный код. Не использовать |
04Н |
Верификация. Сравниваются данные страницы по адресу EADRL с |
|
содержимым регистров EDATAx. При следующем чтении регистра |
|
ECON в нем будет 0, если данные совпадают |
05 Н |
Стирание страницы по адресу EADRL |
06Н |
Стирание всей flash-памяти данных |
07Н - FFH |
Резервные коды. Не использовать |
Программирование байта памяти данных возможно после стирания его содержимого. Особенностью flash-памяти является то, что команду стира ния можно выполнить только для всей страницы (или матрицы). После стирания каждый байт страницы содержит код FFh. Запись нового значе ния в ячейку flash-памяти данных можно выполнить при помощи следую щей процедуры:
MOV |
EADRL, #03h |
; загрузка указателя страницы |
|
MOV |
ECON, |
# 01h |
; чтение страницы |
MOV |
EDATA2 , #0F3h |
; запись нового значения в регистр |
|
MOV |
ECON, |
# 02h |
; стирание страницы |
MOV |
ECON, |
#05h |
; запись страницы |
Эта процедура вначале копирует содержимое страницы в регистры данных, затем меняет содержимое нужного байта, затирает страницу и по сле этого копирует содержимое регистров данных во flash-память.
3 .9 . Монитор напряжения питания и сторожевой таймер
Монитор напряжения питания (PSM) формирует запрос прерывания, если цифровое или аналоговое питание становится меньше значения, кото рое может быть установлено программно (от 2,6 В до 4,6 В). Процедура обслуживания этого прерывания должна сохранить состояние регистров процессора в энергонезависимой памяти. Флаг прерывания очищается при нормализации питания, но не ранее 256 мсек с момента установки.
Монитор напряжения питания управляется регистром PSMCON.
|
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
DFH |
- |
|
|
|
|
|
|
PSMCON |
Исх. код |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
ГЛАВА 3 МИКРОКОНВЕРТЕР АОцСв12 ФИРМЫ ANALOG DEVICES |
151 |
|
Бит |
Описание |
|
PSMCON.7 |
Не используется |
|
PSMCON.6 |
Бит состояния монитора: “1" - нормальная работа, “0" - ошибка |
|
PSMCON.5 |
Флаг прерывания PSM |
|
PSMCON.4 |
Биты выбора порогового напряжения [4,63 В, 4,37 В, 3,08 В, 2,93 В, |
|
PSMCON.3 |
2,63 В] |
|
|
|
|
PSMCON.2 |
|
|
PSMCON.1 |
Бит выбора контролируемого напряжения: "1” = AVDD, "0" = DVDD |
|
PSMCON.O |
Бит управления PSM Powerdown |
|
Сторожевой таймер (WDT) предназначен для вывода системы из за висаний рабочей программы. Сторожевой таймер управляется регистром
WDCON.
7 |
6 |
5 |
4 |
3 |
2 |
|
1 |
0 |
PRE2 PRE1 PRE0 |
- |
WDR1 |
WDR2 |
WDS |
WDE |
|||
Лсх.код 0 |
0 |
О |
О |
О |
О |
О |
О |
|
Бит |
Мнемоника |
|
|
|
Описание |
|
|
|
WDCON.7 |
PRE2 |
Биты выбора интервала времени до сброса |
|
|||||
WDCON.6 |
PRE1 |
[16, 32, 64, 128, 256, 512, 1024, 2048] мсек |
|
|||||
WDCON.5 |
PRE0 |
|
|
|
|
|
|
|
WDCON .4 |
- |
Не используется |
|
|
|
|
||
WDCON .3 |
WDR1 |
Биты перезагрузки сторожевого таймера, должны уста |
||||||
|
|
навливаться |
|
|
|
|
|
|
WDCON .2 |
WDR2 |
последовательно |
|
|
|
|
||
WDCON .1 |
WDS |
Бит состояния сторожевого таймера |
|
|
|
|||
WDCON .0 |
WDE |
Бит разрешения строжевого таймера |
|
|
Сторожевой таймер функционирует, если установлен бит WDE реги стра WDCON. Биты PRE2, PRE1 определяют интервал времени, в конце которого сторожевой таймер формирует системный сброс микроконверте ра. Рабочая программа при всех вариантах реализации алгоритма должна периодически перезагружать сторожевой таймер, не допуская его срабаты вания. Перезагрузка осуществляется последовательной установкой битов WDR1, WDR2. Отсутствие перезагрузки свидетельствует о непредусмот ренной задержке, идентифицируется как зависание и вызывает системный сброс и перезагрузку микроконвертера.
ГЛАВА 4
МИКРОКОНТРОЛЛЕРЫ ФИРМЫ
ATMEL
С АРХИТЕКТУРОЙ AVR
4 .1 . Особенности семейства AVR
В этой главе мы рассмотрим фирменную RISC-архитектуру AVR компании Atmel на примере 8-разрядного микроконтроллера ATmegal03.
Микроконтроллер ATmegal03 является старшей моделью семейства AVR фирмы Atmel. Семейство AVR (АТ90) удачно воплощает современ ные тенденции архитектуры RISC-микроконтроллеров, что в сочетании с достижениями фирмы Atmel в области создания flash-памяти сделало его весьма популярным на мировом рынке 8-разрядных микроконтроллеров.
Высокие характеристики семейства AVR обеспечиваются следующи ми особенностями архитектуры:
•В качестве памяти программ используется внутренняя flash-память. Она организована в виде матрицы 16-разрядных ячеек и может за гружаться программатором, либо через порт SPI;
•Система команд включает 120 инструкций. Все инструкции 16 и 32разрядные;
•16-разрядные память программ и шина команд вместе с одноуровне вым конвейером позволяют выполнить большинство инструкций за
один такт синхрогенератора (50 не при частоте Fosc = 20 МГц);
•память данных имеет 8-разрядную организацию. Младшие 32 адреса пространства занимают регистры общего назначения, далее следуют 64 адреса регистров ввода-вывода, затем внутреннее ОЗУ данных
ГЛАВА 4. МИКРОКОНТРОЛЛЕРЫ ФИРМЫ ATMEL С АРХИТЕКТУРОЙ AVR |
153 |
объемом до 4000 ячеек. Возможно применение внешнего ОЗУ дан ных объемом до 60 Кбайт;
•внутренняя энергонезависимая память типа EEPROM объемом до 4 Кбайт представляет собой самостоятельную матрицу, обращение к которой осуществляется через специальные регистры ввода/вывода;
Важным преимуществом микроконтроллеров classic AVR является их совместимость по функциям выводов с микроконтроллерами архитектуры MCS-51. Это позволяет во многих случаях увеличить производительность имеющейся системы управления посредством замены микроконтроллера, разработки и отладки рабочей программы.
Семейство AVR включает около двух десятков типов 8-разрядных микроконтроллеров трех основных линий:
• |
T in y A V R представляют собой низкостоимостные микроконтролле |
|
ры, как правило, в 8-выводном корпусе. Их особенностью является |
|
встроенная схема контроля напряжения питания; |
•C lassic A V R является основной линией семейства. Быстродействие
некоторых |
моделей достигает 16 MIPS, flash-память программ |
2 - 8 Кбайт, |
EEPROM данных 64-512 байт, ОЗУ данных |
128-512 байт; |
|
• М ед а A V R |
представляет собой старшую модель, ориентированную |
на высокопроизводительную работу со сложными задачами, требую щими больших ресурсов памяти. Flash ROM программ составляет 16-128 Кбайт, EEPROM данных 512 байт, ОЗУ данных 1 - 4 Кбайт. Имеются 10-разрядный АЦП и аналоговый компаратор.
Благодаря универсальности, широкому набору функциональных воз можностей, высоким техническим характеристикам микроконтроллеры семейства AVR находят все более широкое применение в системах управ ления различными объектами. В составе семейства существуют модифи кации с низковольтным питанием (3 В).
Ниже в таблице приведены параметры некоторых микроконтролле ров семейства AVR. В верхней части таблицы указаны поставляемые микросхемы, а в нижней перспективные.
Все микроконтроллеры семейства AVR имеют общие принципы функционирования, единую систему команд, используют одинаковые ме тоды адресации.
Микроконтроллер ATmegal03 является типичным представителем семейства AVR. Знакомство с ним позволит освоить основные методы проектирования, программирования и отладки систем управления на базе современных RISC микроконтроллеров.
154 |
СИСТЕМЫ НА МИКРОКОНТРОЛЛЕРАХ И БИС ПРОГРАММИРУЕМОЙ ЛОГИКИ |
Микроконтроллеры семейства AVR
Тип |
Rash |
ОЗУ, |
EEPROM, |
Тайме |
Поел. |
АЦП, |
Частота, |
Корпус |
|
память |
байт |
байт |
ры |
порты |
компа |
МГц |
|
|
программ, |
|
|
|
|
ратор |
|
|
|
Кбайт |
|
|
|
|
|
0...6 |
DIP8 |
ATiny11 (L) |
1 |
0 |
0 |
1 |
- |
КОМП. |
||
|
|
|
|
|
|
|
|
SOIC8 |
ATiny12 (L) |
1 |
0 |
64 |
1 |
- |
КОМП. |
0...8 |
DIP8 |
|
|
|
|
|
|
|
|
SOIC8 |
ATiny15 (L) |
1 |
0 |
64 |
2 |
- |
АЦП |
1,6 |
DIP8 |
|
|
|
|
PWM |
|
КОМП. |
|
SOIC8 |
ATiny22 (L) |
2 |
128 |
128 |
1 |
- |
— |
0...8 |
DIP8 |
|
|
|
|
|
|
|
|
SOIC8 |
ATiny28 (L) |
2 |
0 |
0 |
1 |
- |
- |
0...4 |
DIP8 |
|
|
0 |
64 |
|
|
|
|
TQFP32 |
AT90S1200 |
1 |
1 |
|
КОМП. |
0...12 |
DIP20 |
||
|
|
|
|
|
|
|
|
SOIC20 |
|
|
|
|
|
|
|
|
SSOP20 |
AT90S2313 |
2 |
128 |
128 |
2 |
UART |
КОМП. |
0...10 |
DIP20 |
|
|
128 |
128 |
PWM |
|
|
|
SOIC20 |
AT90S2323 |
2 |
1 |
- |
- |
0...10 |
DIP8 |
||
AT90S2343 |
|
|
|
|
|
|
|
SOIC8 |
AT90S2333 |
2 |
128 |
128 |
2 |
SPI |
КОМП. |
0...8 |
DIP28 |
AT90S4414 |
|
256 |
|
2*PWM |
UART |
АЦП |
0...8 |
TQFP32 |
4 |
256 |
2 |
SPI |
КОМП. |
DIP40 |
|||
|
|
|
|
2*PWM |
UART |
|
|
PLCC44 |
AT90S4433 |
4 |
128 |
256 |
|
|
|
0...8 |
TQFP44 |
2 |
SPI |
АЦП |
DIP28 |
|||||
AT90S4434 |
4 |
256 |
256 |
2*PWM |
UART |
КОМП. |
0...8 |
TQFP32 |
3 |
SPI |
АЦП |
DIP40 |
|||||
|
|
|
|
3*PWM |
UART |
КОМП. |
|
PLCC44 |
AT90S8515 |
8 |
|
|
|
|
|
|
TQFP44 |
512 |
512 |
2 |
SPI |
КОМП. |
0...8 |
DIP40 |
||
|
|
|
|
2*PWM |
UART |
|
|
PLCC44 |
AT90S8535 |
8 |
512 |
|
|
|
|
|
TQFP44 |
512 |
3 |
SPI |
АЦП |
0...8 |
DIP40 |
|||
|
|
|
|
3*PWM |
UART |
КОМП. |
|
PLCC44 |
ATmega163(L) |
16 |
1К |
|
|
|
|
|
TQFP44 |
512 |
3 |
SPI |
АЦП |
0...6 |
DIP40 |
|||
|
|
|
|
4*PWM |
UART |
КОМП. |
|
PLCC44 |
ATmega103(L) |
128 |
4К |
4К |
|
|
|
|
TQFP44 |
3 |
SPI |
АЦП |
0...6 |
TQFP64 |
||||
ATmega161(L) |
|
|
|
4*PWM |
UART |
КОМП. |
|
|
16 |
1К |
512 |
3 |
SPI |
КОМП. |
0...6 |
DIP40 |
|
|
|
|
|
4*PWM |
2 UART |
|
|
PLCC44 |
ATmega83 (L) |
8 |
512 |
|
|
|
|
|
TQFP44 |
512 |
3 |
SPI |
АЦП, |
0...6 |
DIP40 |
|||
|
|
|
|
4* PWM |
UART |
КОМП. |
|
PLCC44 |
ATmega128 |
128 |
4К |
4К |
|
|
|
|
TQFP44 |
3 |
SPI |
АЦП |
0...16 |
TQFP64 |
||||
|
|
|
|
PWM |
UART |
КОМП. |
|
|
ГЛАВА 4 МИКРОКОНТРОЛЛЕРЫ ФИРМЫ ATMEL С АРХИТЕКТУРОЙ AVR |
155 |
4 .2 . Структура и функционирование микроконтроллера А ТтедаЮ З
Структура микроконтроллера включает следующие функциональные блоки:
•8-разрядное арифметическо-логическое устройство (АЛУ);
•внутреннюю flash-память программ объемом 128 Кбайт с возможно стью внутрисистемного программирования через последовательный интерфейс;
•32 регистра общего назначения;
•внутреннюю EEPROM память данных объемом 4 Кбайт;
•внутреннее ОЗУ данных объемом 4 Кбайт;
•6 параллельных 8-разрядных портов;
•3 программируемых таймера-счетчика;
•10-разрядный 8-канальный АЦП и аналоговый компаратор;
•последовательные интерфейсы UART и SPI;
•блоки прерывания и управления (включая сторожевой таймер).
На рис. 4.1 изображен корпус и приведено назначение выводов мик роконтроллера. В скобках указана альтернативная функция вывода, если она существует.
Port А (РА7..РА0). 8-разрядный двунаправленный порт. К выводам порта могут быть подключены встроенные нагрузочные резисторы (от дельно к каждому разряду). Выходные буферы обеспечивают ток 20 мА и способны прямо управлять светодиодным индикатором. При использова нии выводов порта в качестве входов и установке внешнего сигнала в низкое состояние, ток будет вытекать только при подключенных встроен ных нагрузочных резисторах. Порт А при наличии внешней памяти дан ных используется для организации мультиплексируемой шины адре са/данных.
Port В (РВ7..РВ0). 8-разрядный двунаправленный порт со встроен ными нагрузочными резисторами. Выходные буферы обеспечивают ток 20 мА. При использовании выводов порта в качестве входов и установке внешнего сигнала в низкое состояние, ток будет вытекать только при подключенных встроенных нагрузочных резисторах. Порт В использует ся также при реализации специальных функций.
Port С (РС7..РС0). Порт С является 8-разрядным выходным пор том. Выходные буферы обеспечивают ток 20 мА. Порт С при наличии внешней памяти данных используется для организации шины адреса.
Port D (PD7..PD0). 8-разрядный двунаправленный порт со встро енными нагрузочными резисторами. Выходные буферы обеспечивают ток 20 мА. При использовании выводов порта в качестве входов и установке внешнего сигнала в низкое состояние, ток будет вытекать только при
156 |
СИСТЕМЫ НА МИКРОКОНТРОЛЛЕРАХ И БИС ПРОГРАММИРУЕМОЙ ЛОГИКИ |
подключенных встроенных нагрузочных резисторах. Порт D использует ся также при реализации специальных функций.
5- S S S .S S S . S S < S < 5 .
|
сот* 1Л Ю N ш N СОЮ < СО СУ |
О. _ .гг |
|
|
|||||
|
< < < < < —1 0 0 0 0 0 0 0 |
о Q > |
|
|
|||||
|
q _ q _ Q - Q _ Q - < q _ q _ Q _ Q _ q _ Q - C L Q - | o c |5 |
|
|
||||||
|
п п п п п п п п п п п п п п п п _ |
|
|||||||
(AD2 ) РА2 С49 |
00 |V ^ 1Л1 2 № У " о |
00 г» 40 v-\ тТ го |
|
|
|||||
|
|
|
|
ГЛС^> ГЛ |
ГЛ^ |
D PD7 (Т2) |
|||
50 |
|
|
|
|
|
|
|
31 |
3 PD6 (Т1) |
(AD1) РА1 С |
|
|
|
|
|
|
|
||
(ADO) PA0L 51 |
|
|
|
|
|
|
|
30 |
3 PD5 |
Vcc С 52 |
|
|
|
|
|
|
|
29 |
3 PD4 (IC1) |
GND С 53 |
|
|
|
|
|
|
|
28 |
3 РОЗ (INT3) |
(ADC7) PF7 С 54 |
|
|
|
|
|
|
|
27 |
PD2 (INT2) |
(ADC6) PF6 С 55 |
|
|
АТтедаЮ З |
|
|
|
|
26 |
PD1 (INT1) |
(ADC5) PF5 С 56 |
|
|
|
|
|
|
25 |
PDO (INTO) |
|
|
|
|
|
|
|
|
|||
(ADC4) PF4 С 57 |
|
|
|
|
|
|
|
24 |
D xtali |
(ADC3) PF3 С 58 |
|
|
|
|
|
|
|
23 |
3XTAL2 |
(ADC2 ) PF2 С59 |
|
|
|
|
|
|
|
22 |
D g n d |
(ADC1) PF1 С60 |
|
|
|
|
|
|
|
21 |
3 Vcc |
(ADCO) PF0 С 61 |
|
6fS |
|
|
|
|
20 |
3 RESET |
|
AREFC 62 |
|
Метка первого |
|
|
|
|
19 |
3 T0SC1 |
|
AGNDC 63 |
|
вывода |
|
|
|
|
18 |
3TOSC2 |
|
AVcc С 64 |
•ч |
Tf >Л VO Г4 00 CS О |
^ |
ГЧ |
|
^ |
17 |
3 PB7 (OC2/PWM2) |
|
ТТОППОГШТТПТП^ |
|
|
|
|
|
||||
| |
|
О_СМ00<ЮС0(^О т : су |
jo |
со |
|
|
|||
U J Q - q_ Q - Q _ Q _ Q - 0 - q_ q_ |
СО со |
СОей |
|
|
|||||
|
|
|
|
9^ CL |
О- о. |
|
|
||
|
|
|
|
* |
~ |
|
2Г |
|
|
|
|
|
Z z £ z |
о |
со |
|
|
||
|
|
|
СО |
о |
I I |
|
|
||
|
|
s |
§ |
|
|
|
|
CL Q.
S8
Рис. 4.1. Вид корпуса и назначение выводов микроконтроллера АТтедаЮЗ
Port Е (РЕ7..РЕ0). 8-разрядный двунаправленный порт со встроен ными нагрузочными резисторами. Выходные буферы обеспечивают ток 20 мА. При использовании выводов порта в качестве входов и установке внешнего сигнала в низкое состояние, вытекающий через них ток обеспе чивается только при подключенных встроенных нагрузочных резисторах. Порт Е используется также при реализации специальных функций.
Port F (PF7..PF0). 8-разрядный входной порт. Входы порта ис
пользуются также как аналоговые входы аналого-цифрового преобразова теля.
ГЛАВА 4. МИКРОКОНТРОЛЛЕРЫ ФИРМЫ ATMEL С АРХИТЕКТУРОЙ AVR |
157 |
RESET. Вход сброса. Для выполнения сброса необходимо удержи вать низкий уровень на входе более 50 не.
XTAL1, XTAL2. Вход и выход инвертирующего усилителя генерато ра тактовой частоты.
TOSC1, TOSC2. Вход и выход инвертирующего усилителя генерато ра таймера/счетчика.
W R#, RD#. Стробы записи и чтения внешней памяти данных. ALE. Строб разрешения фиксации адреса внешней памяти. Строб
ALE используется для фиксации младшего байта адреса с выводов ADO - AD7 в защелке адреса в течение первого цикла обращения. В тече ние второго цикла обращения выводы ADO - AD7 используются для пе редачи данных.
AVCC. Напряжение питания аналого-цифрового преобразователя. Вывод подсоединяется к Vcc через низкочастотный фильтр.
AREF. Вход опорного напряжения для аналого-цифрового преобра зователя. На этот вывод подается напряжение в диапазоне между AGND
и AVCC.
AGND. Это вывод должен быть подсоединен к отдельной аналоговой земле, если она есть на плате. В ином случае вывод подсоединяется к общей земле.
PEN#. Вывод разрешения программирования через последователь ный интерфейс. При удержании сигнала на этом выводе на низком уров не после включения питания, прибор переходит в режим программирова ния по последовательному каналу.
Vcc> GND. Напряжение питания и земля.
Микроконтроллеры AVR имеют раздельные пространства адресов памяти программ и данных (гарвардская архитектура). Организация па мяти показана на рис. 4.2.
Как видно из рис. 4.2, 32 регистра общего назначения включены в сквозное адресное пространство ОЗУ данных и занимают младшие адре са. Эти регистры на самом деле находятся вне памяти данных, но их включение в единое адресное пространство обеспечивает гибкость при программировании. Файл регистров общего назначения прямо связан с АЛУ, каждый из регистров способен работать как аккумулятор.
Большинство команд выполняются за один такт, при этом из регист ров файла могут быть выбраны два операнда, выполнена операция и ре зультат возвращен в регистровый файл. Старшие шесть регистров файла могут использоваться как три 16-разрядных регистра, и выполнять роль, например, указателей при косвенной адресации (рис. 4.3).
Следующие 64 адреса за регистрами общего назначения занимают ре гистры ввода-вывода. В этой области сгруппированы все регистры дан
158 |
СИСТЕМЫ НА МИКРОКОНТРОЛЛЕРАХ И БИС ПРОГРАММИРУЕМОЙ ЛОГИКИ |
ных, управления и статуса внутренних программируемых блоков вводавывода.
$FFFF |
|
$FFFF |
|
|
|
|
|
Внешнее |
|
|
|
|
ОЗУ |
|
|
Rash-память |
|
данных |
|
|
программ |
$1000 |
(бООООКхв) |
|
|
(64Кх 16) |
|
|
|
|
$0FFF |
Внутреннее |
|
|
|
|
|
||
|
|
|
|
|
|
|
|
ОЗУ |
Внутренняя |
|
|
|
данных |
|
|
|
$0060 |
EEPROM |
|
|
|
(4000 x 8) |
||
|
|
$005F |
данных |
|
|
|
64 регистра |
||
|
|
|
||
|
|
$0020 |
ввода-вывода |
|
$0000 |
|
|
32 POH |
|
|
$0000 - 001F |
|
|
|
|
Память программ |
|
Память данных |
Рис. 4.2. Организация памяти микроконтроллера АТтедаЮЗ
При использовании команд IN и OUT используются адреса вводавывода с $00 по $3F. Но к регистрам ввода-вывода можно обращаться и как к ячейкам внутреннего ОЗУ. При этом к непосредственному адресу ввода-вывода прибавляется $20.
R31 |
$ 1F |
Старший байт регистра Z |
R30 |
$ 1Е |
Младший байт регистра Z |
R29 |
$10 |
Старший байт регистра Y |
R28 |
$1С |
Младший байт регистра Y |
R27 |
$1В |
Старший байт регистра X |
R26 |
$1А |
Младший байт регистра X |
R17 |
$11 |
|
R16 |
$10 |
|
R15 |
$0F |
|
R14 |
$0Е |
|
R13 |
$0D |
|
R2 |
$02 |
|
R1 |
$01 |
|
R0 |
$00 |
|
Рис. 4.3. Регистры общего назначения микроконтроллера АТтедаЮЗ
Адрес регистра как ячейки ОЗУ приводится далее в круглых скоб ках. Регистры ввода-вывода с $00 ($20) по $1F ($3F) имеют программно доступные биты. Обращение к ним осуществляется командами SBI и