Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Регістр управління і стану аналогового компаратора (ACSR).

Поиск

 

Таблиця 1.3 - Біти аналогового компаратора

Біт                
$08 ($28) ACD - AC0 ACI ACIE ACIC ACS1 ACISO
Читання /запис R/W R R R/W R/W R/W R/W R/W

 

Біт 7 - ACD - Заборона аналогового компаратора. Коли цей біт встановлений, живлення від аналогового компаратора відключається. Для відключення компаратора цей біт можна встановити в будь-який час. Зазвичай ця властивість використовується якщо критично споживання процесора в холостому режимі і відновлення роботи процесора від аналогового компаратора не потрібно. При зміні біта ACD переривання від аналогового компаратора повинні бути заборонені скиданням ACIE в регістрі ACSR. В іншому випадку переривання може статися під час зміни біта.

Біт 6 - зарезервований. У AT90S2313 цей біт зарезервований і завжди

читається як 0.

Біт 5 - ACO - Вихід аналогового компаратора. Біт ACO безпосередньо підключено до виходу аналогового компаратора.

Біт 4 - ACI - Мітка переривання від аналогового компаратора. Цей біт встановлюється коли переключення виходу компаратора збігається з режимом переривання, встановленим бітами ACIS1 і ACIS0. Програма обробки переривання від аналогового компаратора виконується, якщо встановлений біт ACIE (1) і встановлений біт 1 в регістрі стану. ACI скидається апаратно при виконанні відповідного вектора переривання. Інший спосіб очистити ACI - записати у мітку логічну одиницю.

Біт 3 - ACIE - Дозвіл переривання від аналогового компаратора. Коли встановлено цей біт і біт 1 регістру стану, переривання від аналогового компаратора відпрацьовуються. Якщо біт очищений (0), переривання заборонені.

Біт 2 - ACIC - Захоплення щодо виходу аналогового компаратора. Якщо цей біт встановлено, функція захоплення таймера0/таймера1 управляється виходом аналогового компаратора. При цьому вихід компаратора підключається безпосередньо до схеми обробки захоплення, надаючи зручні засоби придушення шуму, і вибору фронту передбачені перериванням захоплення по входу. Коли біт очищений, схема захоплення і компаратор роз'єднані. Щоб компаратор міг управляти функцією захоплення таймера0/таймера1, повинен бути встановлений біт TICIE1 в регістрі TIMSK.

Біти 1,0 - ACIS1, ACIS0 - Вибір режиму переривання аналогового компаратора. Різні установки наведені в таблиці.

 

Таблиця1.4 - Встановлення ACIS1/ACIS0

ACIS1 ACIS0 Опис
    Переривання від компаратора по переключенню виходу
    Зарезервовано
    Переривання від компаратора по спадаючому фронту виходу
    Переривання від компаратора по наростаючому фронті виходу

 

Примітка: При зміні бітів ACIS1/ACIS0 переривання від аналоговогокомпаратора повинні бути заборонені скиданням біта дозволу переривання врегістрі ACSR. Інакше переривання може статися при зміні бітів.

 

Порти введення / виводу–порт

Порт B 8-розрядний двонаправлений порт вводу / виводу.

Для обслуговування порту відведено три регістри: регістр даних PORTB ($18, $38), регістр напрями даних - DDRB ($17, $37) і ніжки порту B ($16, $36). Адреса ніжок порту B призначений тільки для читання, в той час як регістр даних і регістр напрями даних - для читання / запису.

Усі виводи порту мають окремо підключаючіся підтягуючі резистори. Виходи порту B можуть споживати струм до 20 мA і безпосередньо управляти світлодіодними індикаторами. Якщо виводи PB0.. PB7 використовуються як входи і замикаються на землю, якщо включені внутрішні підтягуючі резистори, виводи є джерелом струму. Додаткові функції виводів порту B наведені в таблиці.

Таблиця 1.5 - Додаткові функції виводів порту B

Вивід Альтернативна функція
PB0 AIN0 (Позитивний вхід аналогового компаратора)
PB1 AIN1 (Негативний вхід аналогового компаратора)
PB3 OC1 (Вихід збігу таймера/лічильника1)
PB5 MOSI (Вхід даних для завантаження пам'яті)
PB6 MISO (Вихід даних для читання пам'яті)
PB7 SCK (Вхід тактових імпульсів послідовного обміну)

 

При використанні альтернативних функцій виводів, регістри DDRB і PORTB повинні бути встановлені у відповідності з описом альтернативних функцій.

 

Таблиця 1.6 - Регістр даних ПОРТА В – РОRТВ

Біт                
$18 ($38) PORTB7 PORTB6 PORTB5 PORTB4 PORTB3 PORTB2 PORTB1 PORTB0
Читан-ня /запис   R/W   R/W   R/W   R/W   R/W   R/W   R/W   R/W

 

Таблиця 1.7 - Регістр даних ПОРТА В – DDRВ

Біт                
$17($3) DDB7 DDB7 DDB5 DDB4 DDB3 DDB2 DDB1 DDB0
Читання /запис R/W R/W R/W R/W R/W R/W R/W R/W

 

 

Таблиця 1.8 - Виводи ПОРТА В PINB

Біт                
$16 ($36) PINB7 PINB6 PINB5 PINB4 PINB3 PINB2 PINB1 PINB0
Читання /запис R R R R R R R R
Початкові умови Hi-Z Hi-Z Hi-Z Hi-Z Hi-Z Hi-Z Hi-Z Hi-Z

 

PINB не є регістром, за цією адресою здійснюється доступ до фізичних значень кожного з виводів порту B. При читанні PORTB, читаються дані з регістра-засувки, при читанні PINB читаються логічні значення присутні на виводах порту.

 

Порти введення / виводу - порт D

Для порту D зарезервовані 3 комірки пам'яті - регістр PORTD $12 ($32), регістр напрями даних - DDRD $11 ($31) і виводи порту D - PIND $10 ($30). Регістри даних і напрямки даних можуть читатися / записуватися, комірка PIND - тільки для читання.

Порт D - 7-розрядний двонаправлений порт з вбудованими підтягуючими регістрами. Вихідні буфери порту можуть споживати струм до 20 мA. Якщо виводи використовуються як входи і на них подано низький рівень, вони є джерелами струму, якщо підключені підтягуючі резистори. Деякі з виводів порту мають альтернативні функції, як показано в таблиці.

 

Таблиця 1.9 - Альтернативні функції порта D

Вивід Альтернативна функція
PD0 RXD (вхід даних UART)
PD1 TXD (вихід даних UART)
PD2 INT0 (вхід зовнішнього переривання 0)
PD3 INT1 (вхід зовнішнього переривання 1)
PD4 T0 (зовнішній вхід таймера лічильника 0)
PD5 T1 (зовнішній вхід таймера лічильника 1)
PD6 ICP (вхід захоплення таймера лічильника 1)

 

Якщо виводи порту використовуються для обслуговування альтернативних функцій, вони повинні бути сконфігуровані на ввід / вивід у відповідності з описом функції.

 

Таблиця 1.10 - Регістр даних Порта D – РОRTD

Біт                
$12($32) PORTD7 PORTD6 PORTD5 PORTD4 PORTD3 PORTD2 PORTD1 PORTD0
Читання /запис R R/W R/W R/W R/W R/W R/W R/W

 


 

Таблиця 1.11 - Регістр направлення даних ПортаD – DDRD

Біт                
$11($31) - DDD6 DDD5 DDD4 DDD3 DDD2 DDD1 DDD0
Читання /запис R R/W R/W R/W R/W R/W R/W R/W

 

Таблиця 1.12 - Виводи Порта D- PIND

Біт                
$10 ($30) PIND7 PIND6 PIND5 PIND4 PIND3 PIND2 PIND1 PIND0
Читання /запис R R R R R R R R
Початкові умови Hi-Z   Hi-Z   Hi-Z   Hi-Z   Hi-Z   Hi-Z   Hi-Z   Hi-Z  

 

PIND не є регістром, за цією адресою здійснюється доступ до фізичних значень кожного з виводів порту D. При читанні PORTD, читаються дані з регістра-засувки, при читанні PIND читаються логічні значення присутні на виводах порту.

 

Програмування флеш пам'яті і EEPROM

AT90S2313 має 2Кб перепрограмної флеш пам'яті програм і 128 байти енергонезалежної пам'яті даних.

При поставці AT90S2313 флеш пам'ять і пам'ять даних стерті (містять $FF) і готові до програмування. Ця мікросхема підтримує високовольтний (12В) паралельний режим програмування і низьковольтний режим послідовного програмування. Напруга +12 В використовується лише для дозволу програмування, цей вивід не споживає струму. Послідовний режим програмування передбачений для завантаження програми і даних в AT90S2313 в системі користувача (внутрішньосистемні програмування).

Пам'ять програм і даних в AT90S2313 програмуються байт за байтом в обох режимах програмування. Для енергонезалежної пам'яті передбачений режим автоматичного стирання при послідовному програмуванні.

ПрограмуванняFlаshпам'яті

Завантажити команду "програмування флеш пам'яті"

1. Встановити XA1, XA0 в '10 '. Це дозволяє завантаження команди.

2. Встановити BS в 0

3. Встановити PB в '0001 0000 '. Це команда програмування флеш пам'яті

4. Подати позитивний імпульс на XTAL1. При цьому завантажується команда.

Завантажити молодший байт адреси:

1. Встановити XA1, XA0 в '00 '. Це дозволяє завантаження адреси.

2. Встановити BS в 0. Це вибирає молодший байт адреси.

3. Встановити на PB молодший байт адреси.

4. Подати позитивний імпульс на XTAL1. При цьому завантажується молодший байт адреси.

Завантажити старший байт адреси:

1. Встановити XA1, XA0 в '00 '. Це дозволяє завантаження адреси.

2. Встановити BS в 1. Це вибирає старший байт адреси.

3. Встановити на PB старший байт адреси. ($00.. $01)

4. Подати позитивний імпульс на XTAL1. При цьому завантажується старший байт адреси.

Завантажити байт даних

1. Встановити XA1, XA0 в '01 '. Це дозволяє завантаження даних.

2. Встановити на PB молодший байт даних.

3. Подати позитивний імпульс на XTAL1. При цьому завантажується молодший байт даних.

Запис молодшого байта даних:

1. Встановити BS в '0 '. Це вибирає молодший байт даних

2. Подати на WR негативний імпульс. Це ініціює програмування байта. RDY / BSY переходить в низький стан.

3. Перед програмуванням наступного байта почекати, поки RDY / BSY перейде у високий стан.

Завантажити байт даних:

1. Встановити XA1, XA0 в '01 '. Це дозволяє завантаження даних.

2. Встановити на PB старший байт даних.

3. Подати позитивний імпульс на XTAL1. При цьому завантажується старший байт даних.

Запис старшого байта даних.

1. Встановити BS в '1 '. Це вибирає старший байт даних

2. Подати на WR негативний імпульс. Це ініціює програмування байта. RDY / BSY переходить в низький стан.

3. Перед програмуванням наступного байта почекати, поки RDY / BSY перейде у високий стан.

Завантажені адреси і дані зберігаються в пристрої після програмування, при цьому процес програмування спрощується.

* Команду програмування флеш пам'яті необхідно подати лише перед програмуванням першого байта

* Старший байт адреси можна міняти тільки перед програмуванням наступноїстроки пам'яті програм (256 слів).

 


Програмуванняпам'яті даних

Алгоритм програмування пам'яті даних наступний (зверніться до програмування пам'яті програм за описом завантаження команди, адреси і даних):

1. Завантажити команду '0001 0001 '.

2. Завантажити молодший адресу пам'яті даних ($ 00 - $ 7F).

3. Завантажити молодший байт даних

4. Подати негативний імпульс на WR і почекати перекладу RDY / BSY в 1.

Завантаження команди необхідна тільки перед програмуванням першого байта.

 

Читання пам’яті програм

Алгоритм читання флеш пам'яті наступний (зверніться до програмування пам'яті програм за описом завантаження команди, адреси і даних):

1. Завантажити команду '0000 0010 '

2. Завантажити молодший байт адреси ($ 00 - $ FF)

3. Завантажити старший байт адреси ($ 00 - $ 03)

4. Встановити OE в '0 ', BS в '0'. Тепер на виводахPB можна прочитати молодший байт даних.

5. Встановити BS в '1 '. Тепер на виводахPB можна прочитати старший байт даних.

6. Встановити OE в '1 '.

Завантаження команди необхідна тільки перед читанням першого байта.

Читання памяті даних

Алгоритм читання пам'яті даних наступний (зверніться до програмування пам'яті програм за описом завантаження команди, адреси і даних):

1. Завантажити команду '0000 0011 '

2. Завантажити молодший байт адреси ($ 00 - $ 7F)

3. Встановити OE в '0 ', BS в '0'. Тепер на виводахPB можна прочитати байт даних.

4. Встановити OE в '1 '.

Завантаження команди необхідна тільки перед читанням першого байта.

 

1.3 Особливості мікроконтролера AT90S2313:

· AVR має високу продуктивність

· RISC архітектура з низьким енергоспоживанням

· 118 потужних інструкцій,більшість з них виконуються за один такт

· 2 Кбайт Flash-пам'яті з підтримкою внутрішньо системного програмування

· SPI-послідовний

· інтерфейс для завантаження програмного коду: 1000 циклів запису / стирання

· 128 байти EEPROM

· Робочі регістри загального призначення 32 х 8

· 15 програмованих ліній I / O

· Живлення VCC: від 2.7 В до 6.0 В

· Повністю статичний режим роботи:

Від 0 до 10 МГц, при живленні від 4.0 В до 6.0 В

Від 0 до 4 МГц, при живленні від 2.7 В до 6.0 В

· Продуктивність до 10 MIPS при 10 МГц

· Один 8-ми розрядний таймер / лічильник з окремим попереднім дільником частоти

· Один 16-ти розрядний таймер / лічильник з окремим попереднім дільником частоти з режимами порівняння та захоплення

· Повно дуплексний UART

· Можливість обирати 8, 9, або 10-ти розрядні режими широтно-імпульсної модуляції (ШІМ)

· Зовнішні та внутрішні джерела переривання

· Програмований слідкуючий таймер з вбудованим тактовим генератором

· Вбудований аналоговий компаратор

· Економічні режими очікування і зниженого енергоспоживання

· Програмоване блокування для безпеки програмного забезпечення

· 20 виводів

 

 


Таблиця1.13 - Призначення виводів мікроконтролера AT90S2313

VCC Напруга живлення
GND Земля
PortB (PB7- PB0)   8-розрядний двонаправлений порт І/O з вбудованими навантажувальними резисторами. Вихідні буфери забезпечують струм 20 мА. При використанні виводів порту як входи й установці зовнішнім сигналом у низький стан, струм буде виходити тільки при підключених вбудованих навантажувальних резисторах. Порт B використовується також при реалізації різних спеціальних функцій.
Port D (PD6-PD0) 8-розрядний двонаправлений порт І/O з вбудованими навантажувальними резисторами. Вихідні буфери забезпечують струм 20 мА. При використанні виводів порту як входи й установці зовнішнім сигналом у низький стан, струм буде виходити тільки при підключених вбудованих навантажувальних резисторах.
RESET Вхід скидання. Для виконання скидання необхідно утримувати низький рівень на вході протягом двох машинних циклів.
XTAL1 Вхід підсилювача генератора, що інвертує, і вхід схеми вбудованого генератора тактової частоти.
XTAL2 Вихід підсилювача генератора, що інвертує.



Поделиться:


Последнее изменение этой страницы: 2016-08-01; просмотров: 214; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.138.126.23 (0.007 с.)