logo
Metodichka_Modul_6_red

Програмна модель мікроконтролера Atmel avr aTmega 2561.

В мікроконтролері Atmel AVR ATmega 2561 використовується гардвардська архітектура, згідно якої адресні простори памяті програм та даних фізично розділені (доступ до цих областей памяті здійснюється по роздільним шинам). Така організація дозволяє ядру процесора одночасно працювати з памяттю програм та даних, що підвищує швидкодію. Карта розподілення памяті в мікроконтролері AVR АТmega2561 приведена на

рис. 1.1.

Рисунок 1.1 Побудова пам’яті мікроконтролеру AVR ATmega2561

Пам’ять програм є пристрій ППЗП з об’ємом 256 кБт, який створений за технологією FLASH та призначена для зберігання команд, що керують функціонуванням мікроконтролера, а також зберігання констант, які не змінюють свої значення під час виконання програми. Довжина кожної команди складає 16 біт, тому пам’ять використовує 16-разрядну організацію. Для адресації пам’яті програм використовується 16-разрядний регістр – програмний лічильник РС (Program Counter). Програма виконується послідовно. Для керування виконанням програми існують команди переходів, що змінюють належним чином значення РС.

Пам’ять даних розділена на 3 частини: регістрова пам’ять, пам’ять портів (регістрів) введення/виведення та статичний ОЗП (SRAM), що містяться в одному адресному просторі.

Регістрова пам’ять (див. рис. 1.2)

Рисунок 1.2 Регістрова пам’ять

Простір введення/виведення складається з 64 адрес портів 0000h-003Fh, призначених для взаємодії зі внутрішніми та зовнішніми пристроями по відношенню до мікроконтролера. Порти введення/виведення відображаються на область пам’яті даних з адресами 0020h-005Fh та припускають можливість звернення до них, як до комірки пам’яті. При доступі до порту введення/виведення необхідно до адреси порту додати 20h. Адреса порту введення/виведення в просторі пам’яті часто вказується у дужках після адреси у просторі портів введення/виведення. Беручі до уваги те, що основною функцією мікроконтролеру є керування зовнішніми пристроями, в таблиці 1.1 приводяться назви та адреси (в просторі портів введення/виведення) основних інтерфейсних портів з заданням режиму роботи та функції окремих регістрів. За адресами пам’яті 0060h-00FFh маються 160 додаткових регістрів введення/виведення.

Пам’ять даних представляє собою статичний ОЗП (SRAM) об’ємом 4 кБт, яке займає діапазон адрес 0100h-10FFh.

Таблиця 1.1 Інформація про порти мікроконтролера

Назва порту введення/виведення

Ідентифікатори окремих регістрів

Адреса

Режим / функція

PORTA

PINA

19h

IN

DDRA

1Ah

OUT / DIRECTION

PORTA

1Bh

OUT

PORTB

PINB

16h

IN

DDRB

17h

OUT / DIRECTION

PORTB

18h

OUT

PORTC

PINC

13h

IN

DDRC

14h

OUT / DIRECTION

PORTC

15h

OUT

PORTD

PIND

10h

IN

DDRD

11h

OUT / DIRECTION

PORTD

12h

OUT

PORTE

PINE

01h

IN

DDRE

02h

OUT / DIRECTION

PORTE

03h

OUT

PORTF

PINF

00h

IN

DDRF

61h

OUT / DIRECTION

PORTF

62h

OUT

PORTG

PING

63h

IN

DDRG

64h

OUT / DIRECTION

PORTG

65h

OUT

Регістр стану SREG знаходиться в області введення/виведення за адресою 3Fh (5Fh) та має інформацію про поточний стан мікроконтролера. У таблиці приведене положення флагових бітів регістру стану.