Отличительные особенности ATmega8

· 8-разрядный высокопроизводительный AVR микроконтроллер с малым потреблением.

· Прогрессивная RISC архитектура:

o 130 высокопроизводительных команд, большинство команд выполняется за один тактовый цикл.

o 32 8-разрядных рабочих регистра общего назначения.

· Полностью статическая работа.

· Приближающаяся к 16 MIPS (при тактовой частоте 16 МГц) производительность.

· Встроенный 2-цикловый перемножитель.

· Энергонезависимая память программ и данных:

o 8 Кбайт внутрисистемно программируемой Flash памяти.

o Обеспечивает 1000 циклов стирания/записи.

o Дополнительный сектор загрузочных кодов с независимыми битами блокировки.

o 512 байт EEPROM.

o Обеспечивает 100000 циклов стирания/записи.

o 1 Кбайт встроенной SRAM.

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

· Встроенная периферия:

o Два 8-разрядных таймера/счетчика с отдельным предварительным делителем, один с режимом сравнения.

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

o Счетчик реального времени с отдельным генератором.

o Три канала ШИМ (PWM).

o 8-канальный аналого-цифровой преобразователь (в корпусах TQFP и MLF).

o 6 каналов с 10-разрядной точностью.

o 2 канала с 8-разрядной точностью.

o 6-канальный аналого-цифровой преобразователь (в корпусе PDIP).

o 4 канала с 10-разрядной точностью.

o 2 канала с 8-разрядной точностью.

o Байт-ориентированный 2-проводный последовательный интерфейс.

o Программируемый последовательный USART.

o Последовательный интерфейс SPI (ведущий/ведомый).

o Программируемый сторожевой таймер с отдельным встроенным генератором.

o Встроенный аналоговый компаратор.

· Специальные микроконтроллерные функции:

o Сброс по подаче питания и программируемый детектор кратковременного снижения напряжения питания.

o Встроенный калиброванный RC-генератор.

o Внутренние и внешние источники прерываний.

o Пять режимов пониженного потребления: Idle, Power-save, Power-down, Standby и снижения шумов ADC.

· Выводы I/O и корпуса:

o 23 программируемые линии ввода/вывода.

o 28-выводной корпус PDIP, 32-выводной корпус TQFP (рис. 5.1).

· Рабочие напряжения:

o 2,7 – 5,5 В (ATmega8L).

o 4,5 – 5,5 В (ATmega8).

· Рабочая частота:

o 0 – 8 МГц (ATmega8L).

o 0 – 16 МГц (ATmega8).

 

 

 

Таблица 5.1 – Описание выводов ATmega8

   
Обозначение Описание
PB0 (ICP) В0 (Вход захвата таймера/счетчика Т1)
PB1 (OC1A) В1 (Выход сравнения А таймера/счетчика Т1)
PB2 (SS/OC1B) В2 (Выбор Slave-устройства в канале SPI/ выход сравнения В таймера/счетчика Т1)
PB3 (MOSI/OC2) В3 (Выход (Master) или вход (Slave) данных канала SPI/выход сравнения таймера/счетчика Т2)
PB4 (MISO) В4 (Вход (Master) или выход (Slave) данных канала SPI
PB5 (SCK) В5 (Выход (Master) или вход (Slave) тактового сигнала SPI
PB6 (XTAL1/TOSC1) В6 (Вход тактового генератора/вывод для подключения резонатора к таймеру/счетчику Т2)
PB7 (XTAL2/TOSC2) В7 (Выход тактового генератора/вывод для подключения резонатора к таймеру/счетчику Т2)
PC0 (ADC0) С0 (Вход АЦП)
PC1 (ADC1) С1 (Вход АЦП)
PC2 (ADC2) С2 (Вход АЦП)
PC3 (ADC3) С3 (Вход АЦП)
PC4 (ADC4/SDA) С4 (Вход АЦП/линия данных модуля TWI)
PC5 (ADC5/SCL) С5 (Вход АЦП/тактовый сигнал модуля TWI)
PC6 (RESET) С6 (Вход сброса)
Окончание табл. 5.1
ADC6

Вход АЦП
ADC7 Вход АЦП
PD0 (RXD) D0 (Вход USART)
PD1 (TXD) D1 (Выход USART)
PD2 (INT0) D2 (Вход внешнего прерывания)
PD3 (INT1) D3 (Вход внешнего прерывания)
PD4 (T0/XCK) D4 (Вход внешнего тактового сигнала таймера/счетчика Т0/тактовый сигнал USART)
PD5 (T1) D5 (Вход внешнего тактового сигнала таймера/счетчика Т1)
PD6 (AIN0) D6 (Неинвертирующий вход компаратора)
PD7 (AIN1) D7 (Инвертирующий вход компаратора)
AREF Вход опорного напряжения для АЦП
AGND Аналоговый общий вывод
AVcc Вывод источника питания АЦП
GND Общий вывод
Vcc Вывод источника питания

 

Таблица 5.2 – Регистры ввода/вывода (адрес, название и функция)

 

0x3F (0x5F) SREG Регистр состояния

0x3E (0x5E) SPH Указатель стека, старший байт

0x3D (0x5D) SPL Указатель стека, младший байт

0x3B (0x5B) GICR Общий регистр управления прерываниями

0x3A (0x5A) GIFR Общий регистр флагов прерываний

0x39 (0x59) TIMSK Маски прерываний от таймеров/счетчиков

0x38 (0x58) TIFR Флаги прерываний от таймеров/счетчиков

0x37 (0x57) SPMCR Регистр управления памятью программ

0x36 (0x56) TWCR Регистр управления TWI

0x35 (0x55) MCUCR Регистр управления микроконтроллером

0x34 (0x54) MCUCSR Регистр управления и состояния МК

0x33 (0x53) TCCR0 Регистр управления таймером/счетчиком Т0

0x32 (0x52) TCNT0 Счетный регистр таймера/счетчика Т0

0x31 (0x51) OSCCAL Регистр калибровки тактового генератора

0x30 (0x50) SFIOR Регистр специальный функций

0x2F (0x4F) TCCR1A Регистр управления А таймера/счетчика Т1

0x2E (0x4E) TCCR1B Регистр управления В таймера/счетчика Т1

0x2D (0x4D) TCNT1H Счетный регистр Т1, старший байт

0x2C (0x4C) TCNT1L Счетный регистр Т1, младший байт

0x2B (0x4B) OCR1AH Регистр совпадения А Т1, старший байт

Окончание табл. 5.2

0x2A (0x4A) OCR1AL Регистр совпадения А Т1, младший байт

0x29 (0x49) OCR1BH Регистр совпадения В Т1, старший байт

0x28 (0x48) OCR1BL Регистр совпадения В Т1, младший байт

0x27 (0x47) ICR1H Регистр захвата Т1, старший байт

0x26 (0x46) ICR1L Регистр захвата Т1, младший байт

0x25 (0x45) TCCR2 Регистр управления таймера/счетчика Т2

0x24 (0x44) TCNT2 Счетный регистр таймера/счетчика Т2

0x23 (0x43) OCR2 Регистр совпадения таймера/счетчика Т2

0x22 (0x42) ASSR Регистр состояния асинхронного режима

0x21 (0x41) WDTCR Регистр управления сторожевым таймером

0x20 (0x40) UBRRH Регистр управления USART

0x1F (0x3F) EEARH Регистр адреса EEPROM, старший байт

0x1E (0x3E) EEARL Регистр адреса EEPROM, младший байт

0x1D (0x3D) EEDR Регистр данных EEPROM

0x1C (0x3C) EECR Регистр управления EEPROM

0x18 (0x38) PORTB Регистр данных порта В

0x17 (0x37) DDRB Регистр направления данных порта В

0x16 (0x36) PINB Выводы порта В

0x15 (0x35) PORTC Регистр данных порта С

0x14 (0x34) DDRC Регистр направления данных порта С

0x13 (0x33) PINC Выводы порта С

0x12 (0x32) PORTD Регистр данных порта D

0x11 (0x31) DDRD Регистр направления данных порта D

0x10 (0x30) PIND Выводы порта D

0x0F (0x2F) SPDR Регистр данных SPI

0x0E (0x2E) SPSR Регистр состояния SPI

0x0D (0x2D) SPCR Регистр управления SPI

0x0C (0x2C) UDR Регистр данных USART

0x0B (0x2B) UCSRA Регистр управления и состояния А USART

0x0A (0x2A) UCSRB Регистр управления и состояния В USART

0x09 (0x29) UBRRL Регистр скорости передачи USART

0x08 (0x28) ACSR Состояние аналогового компаратора

0x07 (0x27) ADMUX Регистр управления мультиплексором АЦП

0x06 (0x26) ADCSR Регистр управления и состояния АЦП

0x05 (0x25) ADCH Регистр данных АЦП, старший байт

0x04 (0x24) ADCL Регистр данных АЦП, младший байт

0x03 (0x23) TWDR Регистр данных TWI

0x02 (0x22) TWAR Регистр адреса TWI

0x01 (0x21) TWSR Регистр состояния TWI

0x00 (0x20) TWBR Регистр скорости передачи TWI

 

Таблица 5.3 – Векторы прерываний (номер, адрес, источник и описание)

1 0x000 RESET External Pin, Power-on Reset,

Brown-out Reset, Watchdog Reset

2 0x001 INT0 External Interrupt Request 0

3 0x002 INT1 External Interrupt Request 1

4 0x003 TIMER2 COMP Timer/Counter2 Compare Match

5 0x004 TIMER2 OVF Timer/Counter2 Overflow

6 0x005 TIMER1 CAPT Timer/Counter1 Capture Event

7 0x006 TIMER1 COMPA Timer/Counter1 Compare Match A

8 0x007 TIMER1 COMPB Timer/Counter1 Compare Match B

9 0x008 TIMER1 OVF Timer/Counter1 Overflow

10 0x009 TIMER0 OVF Timer/Counter0 Overflow

11 0x00A SPI, STC Serial Transfer Complete

12 0x00B USART, RXC USART, Rx Complete

13 0x00C USART, UDRE USART Data Register Empty

14 0x00D USART, TXC USART, Tx Complete

15 0x00E ADC ADC Conversion Complete

16 0x00F EE_RDY EEPROM Ready

17 0x010 ANA_COMP Analog Comparator

18 0x011 TWI Two-wire Serial Interface

19 0x012 SPM_RDY Store Program Memory Ready

 

Порты ввода-вывода

 

Все порты ввода-вывода (ПВВ) AVR-микроконтроллеров работают по принципу чтение-модификация-запись при использовании их в качестве портов универсального ввода-вывода. Это означает, что изменение направления ввода-вывода одной линии порта командами SBI и CBI будет происходить без ложных изменений направления ввода-вывода других линий порта. Данное распространяется также и на изменение логического уровня (если линия порта настроена на вывод) или на включение/отключение подтягивающих резисторов (если линия настроена на ввод). Каждый выходной буфер имеет симметричную характеристику управления с высоким втекающим и вытекающим выходными токами. Выходной драйвер обладает нагрузочной способностью, которая позволяет непосредственно управлять светодиодными индикаторами. Ко всем линиям портов может быть подключен индивидуальный выборочный подтягивающий к плюсу питания резистор, сопротивление которого не зависит от напряжения питания. Ссылки на регистры и биты регистров в данном разделе даны в общей форме. При этом символ «x» заменяет наименование ПВВ, а символ «n» заменяет номер разряда ПВВ. Однако при составлении программы необходимо использовать точную форму записи. Например, PORTB3, означающий разряд 3 порта B, в данном случае записывается как PORTxn.

Для каждого порта ввода-вывода в памяти ввода-вывода зарезервировано три ячейки: одна под регистр данных – PORTx, другая под регистр направления данных – DDRx и третья под состояние входов порта – PINx. Ячейка, хранящая состояние на входах портов, доступна только для чтения, а регистры данных и направления данных имеют двунаправленный доступ. Кроме того, установка бита выключения подтягивающих резисторов PUD регистра SFIOR отключает функцию подтягивания на всех выводах всех портов.

Ниже приведено описание порта ввода-вывода для универсального цифрового ввода-вывода. Большинство выводов портов поддерживают альтернативные функции встроенных периферийных устройств микроконтроллера. Обратите внимание, что для некоторых портов разрешение альтернативных функций некоторых выводов делает невозможным использование других выводов для универсального цифрового ввода-вывода.

Режим и состояние для каждого вывода определяется значением соответствующих разрядов трех регистров: DDxn, PORTxn и PINxn. Доступ к битам DDxn возможен по адресу DDRx в пространстве ввода-вывода и, соответственно, к битам PORTxn по адресу PORTx, а к битам PINxn по адресу PINx.

Биты DDxn регистра DDRx определяют направленность линии ввода-вывода. Если DDxn=1, то Pxn конфигурируется на вывод. Если DDxn=0, то Pxn конфигурируется на ввод. Независимо от значения бита направления данных DDxn состояние вывода порта может быть опрошено через регистровый бит PINxn. В табл. 5.4 подытоживается действие управляющих сигналов на состояние вывода.

 

Таблица 5.4 – Настройка вывода порта

 

DDxn PORTxn PUD (в SFIOR) Ввод-вывод Подтягиваю-щий резистор Комментарий
X Ввод Нет Третье состояние (Z-состояние)
Ввод Да Pxn будет источником тока при подаче внешнего низкого уровня
Ввод Нет Третье состояние (Z-состояние)
X Вывод Нет Вывод лог. 0 (втекающий ток)
X Вывод Нет Вывод лог. 1 (вытекающий ток)








Дата добавления: 2016-01-09; просмотров: 3733;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.026 сек.