Микроконтроллеры семейства AVR
Обзор архитектуры процессоров. Файл регистров общего назначения. Гарвардская архитектура с раздельными областями памяти программ и данных. Арифметико-логическое устройство. Время выполнения команд. Программа обработки сброса и векторов прерываний.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | реферат |
Язык | русский |
Дата добавления | 11.04.2013 |
Размер файла | 30,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ
РЕСПУБЛИКИ КАЗАХСТАН
Алматинский Многопрофильный Технико-Экономический Колледж
РЕФЕРАТ
По дисциплине: «Основы микропроцессорной техники»
На тему: «Микроконтроллеры семейство AVR»
Приняла: преподаватель
Садвакасова К.Ж.
Выполнил: студент группы 1304-9Р-06 Аюпов П.
АЛМАТЫ 2013
Микроконтроллеры AT90S2333 и AT90S4433 фирмы Atmel
AT90S2333 и AT90S4433 - экономичные 8-битовые КМОП микроконтроллеры, построенные с использованием расширенной RISC архитектуры AVR. Исполняя по одной команде за период тактовой частоты, AT90S2333 и AT90S4433 имеют производительность около 1MIPS на МГц, что позволяет разработчикам создавать системы оптимальные по скорости и потребляемой мощности. В основе ядра AVR лежит расширенная RISC архитектура, объединяющая развитый набор команд и 32 регистра общего назначения. Все 32 регистра непосредственно подключены к арифметико-логическому устройству (АЛУ), что дает доступ к любым двум регистрам за один машинный цикл. Подобная архитектура обеспечивает десятикратный выигрыш в эффективности кода по сравнению с традиционными CISC микроконтроллерами. AT90S2333/4433 предлагают следующие возможности: 2кБ/4кБ загружаемой флэш памяти; 128/256 байт EEPROM; 128 байт статического ОЗУ, 20 линий ввода/вывода общего назначения; 32 рабочих регистра; настраиваемые таймеры/счетчики с режимом совпадения; внешние и внутренние прерывания; программируемый универсальный последовательный порт; 6-канальный 10-разрядный АЦП; программируемый сторожевой таймер со встроенным генератором; SPI последовательный порт для загрузки программ; два выбираемых программно режима низкого энергопотребления. Холостой режим (Idle Mode) отключает ЦПУ, оставляя в рабочем состоянии регистры, таймеры/счетчики, SPI порт и систему прерываний. Экономичный режим (Power Down Mode) сохраняет содержимое регистров, но отключает генератор, запрещая функционирование всех встроенных устройств до внешнего прерывания или аппаратного сброса. Микросхемы производятся с использованием технологии энергонезависимой памяти высокой плотности фирмы Atmel. Загружаемая флэш память на кристалле может быть перепрограммирована прямо в системе через последовательный интерфейс SPI или доступным программатором энергонезависимой памяти. Объединяя на одном кристалле усовершенствованный 8-битовый RISC процессор с загружаемой флэш памятью, AT90S2333/4433 являются мощными микроконтроллерами, которые позволяют создавать достаточно гибкие и эффективные по стоимости устройства. AT90S2333/4433 поддерживаются полной системой разработки включающей в себя компиляторы Си, макроассемблеры, программные отладчики/симуляторы, внутрисхемные эмуляторы и отладочные комплекты.
Таблица 1 - назначение вывода и номера PDIP
назначение вывода |
номер вывода |
номер вывода PDIP |
|
RESET |
29 |
1 |
|
PD0/RXD |
30 |
2 |
|
PD1/TXD |
31 |
3 |
|
PD2/INT0 |
32 |
4 |
|
PD3/INT1 |
1 |
5 |
|
PD4/T0 |
2 |
6 |
|
VCC |
4 |
7 |
|
GND |
5 |
8 |
|
XTAL1 |
7 |
9 |
|
XTAL2 |
8 |
10 |
|
PD5/T1 |
9 |
11 |
|
PD6/AIN0 |
10 |
12 |
|
PD7/AIN1 |
11 |
13 |
|
PB0/ICP |
12 |
14 |
|
PB1/OC1 |
13 |
15 |
|
PB2/SS |
14 |
16 |
|
PB3/MOSI |
15 |
17 |
|
PB4/MISO |
16 |
18 |
|
PB5/SCK |
17 |
19 |
|
AVCC |
18 |
20 |
|
AREF |
20 |
21 |
|
AGND |
21 |
22 |
|
PC0/ADC0 |
23 |
23 |
|
PC1/ADC1 |
24 |
24 |
|
PC2/ADC2 |
25 |
25 |
|
PC3/ADC3 |
26 |
26 |
|
PC4/ADC4 |
27 |
27 |
|
PC5/ADC5 |
28 |
28 |
ОПИСАНИЕ ВЫВОДОВ
GND - земля
Port B (PB5..PB0) - Порт B является 6-битовым двунаправленным портом ввода/вывода с внутренними подтягивающими резисторами. Выходные буферы порта B могут поглощать ток до 20мА. Если выводы PB0..PB5 используются как входы и извне устанавливаются в низкое состояние, они являются источниками тока, если включены внутренние подтягивающие резисторы. Кроме того Порт B обслуживает некоторые специальные функции, которые будут описаны ниже.
Port С (PС5..PС0) - Порт С является 6-битовым двунаправленным портом ввода/вывода с внутренними подтягивающими резисторами. Выходные буферы порта С могут поглощать ток до 20мА. Если выводы PС0..PС5 используются как входы и извне устанавливаются в низкое состояние, они являются источниками тока, если включены внутренние подтягивающие резисторы. Кроме того Порт С обслуживает аналоговые входы АЦП.
Port D (PD5..PD0) - Порт D является 8-битовым двунаправленным портом ввода/вывода с внутренними подтягивающими резисторами. Выходные буферы порта B могут поглощать ток до 20мА. Если выводы PD0..PD7 используются как входы и извне устанавливаются в низкое состояние, они являются источниками тока, если включены внутренние подтягивающие резисторы. Кроме того Порт D обслуживает некоторые специальные функции, которые будут описаны ниже.
RESET - Вход сброса. Удержание на входе низкого уровня в течение двух машинных циклов (если работает тактовый генератор), сбрасывает устройство.
XTAL1 - Вход инвертирующего усилителя генератора и вход внешнего тактового сигнала.
XTAL2 - Выход инвертирующего усилителя генератора.
AVCC - Вывод источника питания АЦП. Этот вывод через фильтр низкой частоты должен быть подключен к выводу питания процессора.
AREF - Вход опорного напряжения АЦП. Напряжение, подаваемое на этот вывод лежит в пределах 2.7В...AVCC.
AGND - Если плата имеет отдельный слой аналоговой земли, к нему подключается этот вывод. В противном случае этот вывод соединяется с GND
КВАРЦЕВЫЙ ГЕНЕРАТОР
XTAL1 и XTAL2 являются входом и выходом инвертирующего усилителя, на котором можно собрать генератор тактовых импульсов. Можно использовать как кварцевые, так и керамические резонаторы. Если сигнал генератора необходимо использовать для управления внешними устройствами, сигнал с вывода XTAL2 снимается через одиночный буфер серии HC, при этом емкость конденсатора с вывода на землю уменьшается на 5pF. При подаче внешнего тактового сигнала вывод XTAL2 остается неподключенным, а XTAL1 подключается в выходу внешнего генератора.
Обзор архитектуры процессоров
Регистровый файл быстрого доступа содержит 32 8-разрядных регистра общего назначения, доступ к которым осуществляется за один машинный цикл. Поэтому за один машинный цикл исполняется одна операция АЛУ. Два операнда выбираются из регистрового файла, выполняется операция, результат ее записывается в регистровый файл - все за один машинный цикл.
Шесть из 32 регистров можно использовать как три 16-разрядных указателя в адресном пространстве данных, что дает возможность использовать высокоэффективную адресную арифметику (16-разрядные регистры X, Y и Z). Один из трех адресных указателей (регистр Z) можно использовать для адресации таблиц в памяти программ.
АЛУ поддерживает арифметические и логические операции c регистрами, с константами и регистрами. Операции над отдельными регистрами также выполняются в АЛУ.
Кроме регистровых операций, для работы с регистровым файлом могут использоваться доступные режимы адресации, поскольку регистровый файл занимает адреса 00h-1Fh в области данных, обращаться к ним можно как к ячейкам памяти.
Пространство ввода/вывода состоит из 64 адресов для периферийных функций процессора, таких как управляющие регистры , таймеры/счетчики и другие. Доступ к пространству ввода/вывода может осуществляться непосредственно, как к ячейкам памяти расположенным после регистрового файла (20h- 5Fh).
Процессоры AVR построены по гарвардской архитектуре с раздельными областями памяти программ и данных. Доступ к памяти программ осуществляется при помощи одноуровнего буфера. Во время выполнения команды, следующая выбирается из памяти программ. Подобная концепция дает возможность выполнять по одной команде за каждый машинный цикл. Память программ - это внутрисистемная загружаемая флэш-память.
При помощи команд относительных переходов и вызова подпрограмм осуществляется доступ ко всему адресному пространству. Большая часть команд AVR имеет размер 16-разрядов, одно слово. Каждый адрес в памяти программ содержит одну 16- или 32-разрядную команду.
При обработке прерываний и вызове подпрограмм адрес возврата запоминается в стеке. Стек размещается в памяти данных общего назначения, соответственно размер стека ограничен только размером доступной памяти данных и ее использованием в программе. Все программы пользователя должны инициализировать указатель стека (SP) в программе выполняемой после сброса (до того как вызываются подпрограммы и разрешаются прерывания). 8-разрядный указатель стека доступен для чтения/записи в области ввода/вывода.
Доступ к статическому ОЗУ, регистровому файлу и регистрам ввода/вывода осуществляется при помощи пяти доступных режимов адресации поддерживаемых архитектурой AVR.
Все пространство памяти AVR является линейным и непрерывным. Гибкий модуль прерываний имеет собственный управляющий регистр в пространстве ввода/вывода, и флаг глобального разрешения прерываний в регистре состояния. Каждому прерыванию назначен свой вектор в начальной области памяти программ. Различные прерывания имеют приоритет в соответствии с расположением их векторов. По младшим адресам расположены векторы с большим приоритетом.
Файл регистров общего назначения
Все команды оперирующие регистрами прямо адресуются к любому из регистров за один машинный цикл. Единственное исключение - пять команд оперирующих с константами SBCI, SUBI, CPI, ANDI, ORI и команда LDI, загружающая регистр константой. Эти команды работают только со второй половиной регистрового файла - R16..R31. Команды SBC, SUB, CP, AND и OR, также как и все остальные, применимы ко всему регистровому файлу.
Каждому регистру присвоен адрес в пространстве данных, они отображаются на первые 32 ячейки ОЗУ. Хотя регистровый файл физически размещен вне ОЗУ, подобная организация памяти дает гибкий доступ к регистрам. Регистры X, Y и Z могут использоваться для индексации любого регистра. Кроме обычных функций, регистры R26..R31 имеют дополнительные функции, эти регистры можно использовать как адресные указатели в области памяти данных. Эти регистры обозначаются как X,Y,Z и определены следующим образом
Таблица 2 - регистры X,Y,Z
Регистр X |
15 0 |
||
7 0 |
7 0 |
||
1Bh (R27) |
1Ah (R26) |
||
Регистр Y |
15 0 |
||
7 0 |
7 0 |
||
1Dh (R29) |
1Ch (R28) |
||
Регистр Z |
15 0 |
||
7 0 |
7 0 |
||
1Fh (R31) |
1Eh (R30) |
При различных режимах адресации эти регистры могут использоваться как фиксированный адрес, для адресации с авто инкрементом или с авто декрементом.
Арифметико-логическое устройство - АЛУ
АЛУ процессора непосредственно подключено к 32 регистрам общего назначения. За один машинный цикл АЛУ производит операции между регистрами регистрового файла. Команды АЛУ разделены на три основных категории - арифметические, логические и битовые.
Загружаемая память программ
AT90S2333/4433 содержат 2/4 кБ загружаемой флэш памяти для хранения программ. Поскольку все команды занимают одно 16- или 32-разрядное слово, флэш память организована как 1/2 Kx16. Флэш-память выдерживает не менее 1000 циклов перезаписи. Программный счетчик имеет ширину 10/11 бит и позволяет адресоваться к 1024/2048 словам программной флэш-памяти.
Подробно загрузка флэш памяти будет рассмотрена дальше.
процессор файл прерывание сброс
EEPROM память данных
AT90S2333/4433 содержат 128/256 байт электрически стираемой энергонезависимой памяти (EEPROM). EEPROM организована как отдельная область данных, каждый байт которой может быть прочитан и перезаписан. EEPROM выдерживает не менее 100000 циклов записи/стирания. Доступ к энергонезависимой памяти данных рассмотрен ниже и задается регистрами адреса, данных и управления. Дальше будет рассмотрена загрузка данных в EEPROM через SPI интерфейс.
Статическое ОЗУ данных
На рисунке приведенном ниже показана организация памяти данных в AT90S2333/4433.
224 ячейки памяти включают в себя регистровый файл, память ввода/вывода и статическое ОЗУ данных.
Первые 96 адресов используются для регистрового файла и памяти ввода/вывода, следующие 128 - для ОЗУ данных.
При обращении к памяти используются пять различных режимов адресации: прямой, непосредственный со смещением, непосредственный, непосредственный с предварительным декрементом и непосредственный с постинкрементом. Регисты R26..R31 регистрового файла используются как указатели для непосредственной адресации. Прямая адресация имеет доступ ко всей памяти данных. Непосредственная адресация со смещением используется для доступа к 63 ячейкам базовый адрес которых задается содержимым регистров Y или Z.
Для непосредственной адресации с инкрементом и декрементом адреса используются адресные регистры X, Y и Z.
При помощи любого из этих режимов производится доступ ко всем 32 регистрам общего назначения, 64 регистрам ввода/вывода и 128 ячейкам ОЗУ.
Время выполнения команд
ЦПУ процессора AVR управляется системной частотой генерируемой внешним резонатором. Внутреннее деление частоты генератора не используется. В процессоре организован буфер (pipeline) команд, при выборе команды из памяти программ происходит выполнение предыдущей команды. Подобная концепция позволяет достичь быстродействия 1MIPS на MHz, уникальных показателей стоимости, быстродействия и потребления процессора.
Таблица 3- Регистровые файлы и область адресов
Регистровый файл |
Область адресов данных |
|
R0 |
00h |
|
R1 |
01h |
|
: |
: |
|
R30 |
1E |
|
R31 |
1F |
|
Регистры ввода\вывывода |
||
00h |
20h |
|
01h |
21h |
|
: |
: |
|
3Eh |
5Eh |
|
3Fh |
5Fh |
|
- |
Встроенное ОЗУ |
|
- |
61h |
|
- |
: |
|
- |
DEh |
|
- |
DFh |
Таблица 4 - Пространство ввода/вывода AT90S2333/4433
Адреса |
регистры |
название |
функции |
|
3Fh(5Fh) |
SREG |
Status REGister |
Регистр Состояния |
|
3Dh(5Dh) |
SP |
Stack pointer low |
Указатель стека |
|
3Bh(5Bh) |
GIMSK |
General Interrupt MaSK register |
Общий регистр маски прерываний |
|
3Ah(5Ah) |
GIFR |
General Interrupt Flag Register |
Общий регистр флагов прерываний |
|
39h(59h) |
TIMSK |
Timer/counter Interrupt mask register |
Регистр маски прерываний от таймера/счетчика |
|
38h(58h) |
TIFR |
Timer/counter Interrupt Flag register |
Регистр флага прерывания таймера/счетчика |
|
35h(55h) |
MCUCR |
MCU general Control Register |
общий регистр управления микроконтроллером |
|
34h(54h) |
MCUSR |
MCU Status Register |
рег.состояния микроконтрол. |
|
33h(53h) |
TCCR0 |
Timer/Counter 0 Control Register |
Регистр управления таймером счетчиком 0 |
|
32h(52h) |
TCNT0 |
Timer/Counter 0 (8-бит) |
Таймер/счетчик 0 (8 бит) |
|
2Fh(4Fh) |
TCCR1A |
Timer/Counter 1 Control Register A |
Рег. A управления таймером счетчиком 1 |
|
2Eh(4Eh) |
TCCR1B |
Timer/Counter 1 Control Register B |
Рег. B управления таймером счетчиком 1 |
|
2Dh(4Dh) |
TCNT1H |
Timer/Counter 1 High byte |
Таймер/счетчик 1 старший байт |
|
2Ch(4Ch) |
TCNT1L |
Timer/Counter 1 Low byte |
Таймер/счетчик 1 младший байт |
|
2Bh(4Bh) |
OCR1H |
Output Compare Register 1 high byte |
Выход регистра совпаден. 1 старший байт |
|
2Ah(4Ah) |
OCR1L |
Output Compare Register 1 low byte |
Выход регистра совпаден. 1 младший байт |
|
27h(47h) |
ICR1H |
T/C 1 Input Cupture Register High Byte |
Регистр захвата Т\С 1 старший байт |
|
26h(46h) |
ICR1L |
T/C 1 Input Cupture Register Low Byte |
Регистр захвата Т\С 1 младший байт |
|
21h(41h) |
WDTCR |
Watchdog Timer Control Register |
Регистр управления сторожевым таймером |
|
1Eh(3Eh) |
EEAR |
EEPROM Address Register |
Регистр адреса энергонезависимой памяти |
|
1Dh(3Dh) |
EEDR |
EEPROM Data Register |
Регистр данных энергонезависимой памяти |
|
1Ch(3Ch) |
EECR |
EEPROM Control Register |
Регистр управления энергонезависимой памяти |
|
18h(38h) |
PORTB |
Data Register, Port B |
Регистр данных порта B |
|
17h(37h) |
DDRB |
Data Direction Register Port B |
Регистр направления данных порта B |
|
16h(36h) |
PINB |
Input pins, Port B |
Выводы порта B |
|
15h(35h) |
PORTС |
Data Register, Port С |
Регистр данных порта С |
|
14h(34h) |
DDRС |
Data Direction Register Port С |
Регистр направления данных порта С |
|
13h(33h) |
PINС |
Input pins, Port С |
Выводы порта С |
|
12h(32h) |
PORTD |
Data Register, Port D |
Регистр данных порта D |
|
11h(31h) |
DDRD |
Data Direction Register Port D |
Регистр направления данных порта D |
|
10h(30h) |
PIND |
Input pins, Port D |
Выводы порта D |
|
0Fh(2Fh) |
SPDR |
SPI I/O Data Register |
Регистр данных порта SPI |
|
0Eh(2Eh) |
SPSR |
SPI Status Register |
Регистр состоян. порта SPI |
|
0Dh(2Dh) |
SPCR |
SPI Control Register |
Регистр управл.порта SPI |
|
0Ch(2Ch) |
UDR |
UART Data Register |
Регистр данных последовательного порта |
|
0Bh(2Bh) |
USR |
UART Status Register |
Регистр состояния последовательного порта |
|
0Ah(2Ah) |
UCR |
UART Control Register |
Регистр управления последовательного порта |
|
09h(29h) |
UBRR |
UART Baud Rate Register |
Регистр скорости последовательного порта |
|
08h(28h) |
ACSR |
Analog Comparator Control and Status Register |
Регистр управления и состояния аналогового компарат. |
|
07h(27h) |
ADMUX |
ADC multiplexer Select register |
Регистр коммутатора АЦП |
|
06h(26h) |
ADCSR |
ADC Control and Status Register |
Регистр управления и состояния АЦП |
|
05h(25h) |
ADCH |
ADC data register High |
Рег данных АЦП (старш.) |
|
04h(24h) |
ADCL |
ADC data register Low |
Рег данных АЦП (младш.) |
|
03h(23h) |
UBRRHI |
UART Baud Rate Register HIgh |
Регистр скорости последовательного порта (старш.) |
Примечание: зарезервированные и неиспользуемые ячейки не показаны
Все устройства ввода/вывода и периферийные устройства процессора располагаются в пространстве ввода/вывода. Различные ячейки этого пространства доступны через команды IN и OUT, пересылающие данные между одним из 32-х регистров общего назначения и пространством ввода/вывода. К регистрам 00h..1Fh можно осуществлять побитовый доступ командами SBI и CBI. Значение отдельного бита этих регистров можно проверить командами SBIC и SBIS. Дополнительную информацию по этому вопросу можно найти в описании системы команд.
При использовании специальных команд IN, OUT, SBIS и SBIC, должны использоваться адреса $00..$3F. При доступе к регистру ввода/вывода как к ячейке ОЗУ, к его адресу необходимо добавить $20. В приведенной выше таблице адреса регистров в памяти данных приведены в скобках. Для совместимости с другими устройствами при доступе к зарезервированным битам в них должен записываться ноль, зарезервированные адреса в пространстве ввода/вывода не должны записываться
Регистр состояния - SREG 3Fh(5Fh)
Регистр состояния расположен по адресу 3Fh (5Fh) пространства ввода/вывода и определен следующим образом:
Таблица 5 - Регистр состояния - SREG 3Fh(5Fh)
3Fh(5Fh) |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
I |
T |
H |
S |
V |
N |
Z |
S |
||
R\W |
R\W |
R\W |
R\W |
R\W |
R\W |
R\W |
R\W |
||
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Бит 7 - I: Общее разрешение прерываний. Для разрешения прерываний этот бит должен быть установлен в единицу. Управление отдельными прерываниями производится регистрами маски прерываний - GIMSK и TIMSK. Если флаг сброшен (0), независимо от состояния GIMSK/TIMSK прерывания запрещены. Бит I очищается аппаратно после входа в прерывание и восстанавливается командой RETI, для разрешения обработки последующих прерываний.
Бит 6 - T: Хранение копируемого бита. Команды копирования битов BLD (Bit LoaD) и BST (Bit STore) используют этот бит как источник и приемник обрабатываемого бита. Бит из регистра регистрового файла может быть скопирован в T командой BST, бит T может быть скопирован в бит регистрового файла командой BLD.
Бит 5 - H: Флаг половинного переноса. Этот флаг индицирует перенос из младшей половины байта при некоторых арифметических операциях. Более подробно об этом можно прочитать в описании системы команд.
Бит 4 - S: бит знака, S = N XOR V. Бит S всегда равен исключающему ИЛИ между флагами N (отрицательный результат) и V (переполнение дополнения до двух). Более подробно об этом можно прочитать в описании системы команд.
Бит 3 - V: Флаг переполнения дополнения до двух. Этот флаг поддерживает арифметику с дополнением до двух. Более подробно об этом можно прочитать в описании системы команд.
Бит 2 - N: Флаг отрицательного результата. Этот флаг индицирует отрицательный результат различных арифметических и логических операций. Более подробно об этом можно прочитать в описании системы команд.
Бит 1 - Z: Флаг нулевого результата. Этот флаг индицирует нулевой результат различных арифметических и логических операций. Более подробно об этом можно прочитать в описании системы команд.
Бит 0 - C: Флаг переноса. Этот флаг индицирует перенос в арифметических и логических операциях. Более подробно об этом можно прочитать в описании системы команд.
Указатель стека SP
Этот 8-разрядный регистр с адресом 3Dh (5Dh) хранит указатель стека процессора. 8-ми разрядов достаточно, для адресации ОЗУ в пределах 60h -DFh.
3Dh(5Dh) |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
SP7 |
SP6 |
SP5 |
SP4 |
SP3 |
SP2 |
SP1 |
SP0 |
||
R\W |
R\W |
R\W |
R\W |
R\W |
R\W |
R\W |
R\W |
||
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Указатель стека указывает на область памяти в которой расположен стек вызова подпрограмм и прерваний. Область стека в ОЗУ должна быть задана до того как произойдет любой вызов подпрограммы или будут разрешены прерывания. Указатель стека уменьшается на 1 при записи данных в стек командой PUSH и уменьшается на 2 при вызове подпрограммы командой CALL или обработке прерывания. Указатель стека увеличивается на 1 при выборе данных из стека командой POP и увеличивается на 2 при выполнении команд возврата из подпрограммы или обработчика прерывания (RET или RETI).Стек процессора работает с предварительным инкрементом и постдекрементом
Сброс и обработка прерываний
В процессоре предусмотрены 13 источников прерываний. Эти прерывания и сброс имеют различные векторы в области памяти программ. Каждому из прерываний присвоен отдельный бит разрешающий данное прерывание при установке бита в 1, если бит I регистра состояния разрешает общее обслуживание прерываний.
Самые младшие адреса памяти программ определены как векторы сброса и прерываний. Полный список векторов прерываний приведен в таблице Этот список определяет и приоритет различных прерываний. Меньшие адреса соответствуют более высокому уровню приоритета. Самый высокий уровень у сброса, следующий приоритет у INT0 - внешнего запроса прерывания 0 и т.д. Ниже приведена типичная программа обработки сброса и векторов прерываний:
000h |
rjmp RESET |
Обработка сброса |
|
001h |
rjmp EXT_INT0 |
Обработка IRQ0 |
|
002h |
rjmp EXT_INT1 |
Обработка IRQ1 |
|
003h |
rjmp TIM1_CAPT |
Обработка захвата таймера 1 |
|
004h |
rjmp TIM1_COMP |
Обработка совпадения таймера 1 |
|
005h |
rjmp TIM1_OVF |
Обработка переполнения таймера 1 |
|
006h |
rjmp TIM0_OVF |
Обработка переполнения таймера 0 |
|
007h |
rjmp SPI_STC |
Обработка передачи по SPI |
|
008h |
rjmp UART_RXC |
Обработка приема байта |
|
009h |
rjmp UART_DRE |
Обработка освобождения UDR |
|
00Ah |
rjmp UART_TXC |
Обработка передачи байта |
|
00Bh |
rjmp ADC |
Обработка преобразования АЦП |
|
00Ch |
rjmp EE_RDY |
Обработка готовности EEPROM |
|
00Dh |
rjmp ANA_COMP |
Обработка аналогов. компаратора |
|
00Eh |
Основная программа |
Начало основной программы |
Сброс и векторы прерываний.
Номер вектора |
Адрес |
Источник |
Описание прерывания |
|
1 |
000h |
RESET |
Ножка сброса, сторожевой таймер Brown-Out reset |
|
2 |
001h |
INT0 |
Внешнее прерывание 0 |
|
3 |
002h |
INT1 |
Внешнее прерывание 1 |
|
4 |
003h |
TIMER1 CAPT |
Захват таймера/счетчика 1 |
|
5 |
004h |
TIMER1 COMP |
Совпаден. таймера/счетчика 1 |
|
6 |
005h |
TIMER1 OVF |
Переполнение таймера/счетчика 1 |
|
7 |
006h |
TIMER0 OVF |
Переполнение таймера/счетчика 0 |
|
8 |
007h |
SPI, STC |
Передача по SPI завершена |
|
9 |
008h |
UART RX |
Последоват.порт прием закончен |
|
10 |
009h |
UART UDRE |
Посл.порт регистр данных пуст |
|
11 |
00Ah |
UART TX |
Посл.порт передача закончена |
|
12 |
00Bh |
ADC |
Преобразование АЦП завершено |
|
13 |
00Ch |
RDY |
EEPROM готово |
|
14 |
00Dh |
COMP |
Аналоговый компаратор |
Размещено на Allbest.ru
...Подобные документы
Архитектура микроконтроллеров семейства Mega. Организация памяти. Способы адресации памяти данных. Энергонезависимая память данных. Таблица векторов прерываний. Счетчик команд и выполнение программы. Абсолютный вызов подпрограммы. Сторожевой таймер.
дипломная работа [213,9 K], добавлен 02.04.2009Использование пользовательских регистров. Регистры общего назначения. Элементарные и базовые типы данных. Язык микроопераций, ассемблер. Директивы резервирования памяти. Система команд, организация вычислений. Сложные структуры данных. Схемы ввода-вывода.
курс лекций [280,7 K], добавлен 02.12.2009Построение современных центральных процессоров на основе циклического процесса последовательной обработки информации. Архитектура двойного конвейера с общим вызовом команд. Основная идея создания кэш-памяти. Характеристика процессоров Core и Phenom.
реферат [1,6 M], добавлен 30.12.2010Классическая архитектура компьютера. Понятие разрядной сетки. Устройство ввода-вывода. Арифметическо-логическое устройство, структура регистров АЛУ, куда помещаются исходные и результирующие данные, а также размер регистров (число двоичных разрядов t).
презентация [1,5 M], добавлен 29.11.2013Структура процессора Pentium, суперскалярность, основные особенности архитектуры. Организация конвейера команд, правила объединения. Дополнительные режимы работы процессора. Источники аппаратных прерываний. Формат ММХ команды. Процессор Pentium 4, схемы.
лекция [4,0 M], добавлен 14.12.2013Отличительные особенности микроконтроллеров AVR семейства Mega. Характеристики процессора, подсистемы ввода-вывода. Архитектура ядра и организация памяти. Регистры общего назначения. Алгоритмы моделирования команд. Реализация модели внешнего устройства.
курсовая работа [3,7 M], добавлен 24.06.2013Изучение архитектуры персонального компьютера на примере микропроцессора фирмы Intel. Регистры общего назначения. Оперативная память; форматы данных и команд. Команд пересылки с различными способами адресации операндов. Структура программы на Ассемблере.
курс лекций [506,4 K], добавлен 03.05.2014Обработка прерываний - сигналов о совершении некоторых событий в компьютере. Механизм обработки прерываний. Обработка исключений, описание реакции программы на ошибки выполнения. Общее понятие и виды исключительных ситуаций во время выполнения программы.
реферат [192,2 K], добавлен 10.11.2014Микропроцессор как универсальное устройство для выполнения программной обработки информации. Функциональные возможности и архитектурные решения. Микроконтроллеры в системах управления и обработки информации. Классификация электронно-вычислительных машин.
курсовая работа [189,6 K], добавлен 12.10.2015Нахождение наибольшего элемента массива, расположенного во внутренней памяти, сохранение его значения в стеке. Описание используемых команд: запись из внутренней памяти в аккумулятор данных, безусловный переход по метке. Составление кода программы.
лабораторная работа [41,4 K], добавлен 18.11.2014Проектирование информационной системы на основе архитектуры "файл-сервер", "клиент-сервер", многоуровневой архитектуры, Intranet-системы. Преимущества и недостатки файл-серверного подхода при обеспечении многопользовательского доступа к базе данных.
лабораторная работа [220,5 K], добавлен 02.02.2015Внутренняя архитектура микропроцессора Intel 486. Формат данных и команд. Регистры общего назначения. Программная модель устройства FPU, регистр флагов. Разработка структуры и микропрограммы микропроцессора, управляющего автомата с жесткой логикой.
курсовая работа [1,6 M], добавлен 27.05.2013Характеристика регистров памяти как устройств временного хранения данных. Различия между прерываниями и исключениями команд, их обработка. Вычисление производительности ЭВМ. Программа с использованием отложенного запуска команд. Виды компьютерных сетей.
контрольная работа [24,9 K], добавлен 09.11.2010Принципы сегментации памяти. Классификация регистров по назначению и способу использования. "Перевернутое" представление данных в центральном процессоре. Адресация ввода/вывода информации. Программное, внутреннее и аппаратное прерывание выполнения команд.
презентация [107,4 K], добавлен 27.08.2013Принципы и алгоритмы обработки прерываний. Набор действий по реализации этапов обработки прерываний микропроцессора. Разработка структуры и алгоритма резидентной программы. Реализация программы на языке Ассемблер, методы её отладки и тестирования.
курсовая работа [348,7 K], добавлен 22.12.2014Составление алгоритмов и написание программ циклической структуры с использованием векторов, указателей и векторов указателей на вектор на языке C++. Статическое и динамическое распределение памяти. Функция ввода и обработки элементов вектора или матрицы.
контрольная работа [210,5 K], добавлен 25.03.2015Понятия и принцип работы процессора. Устройство центрального процессора. Типы архитектур микропроцессоров. Однокристальные микроконтроллеры. Секционные микропроцессоры. Процессоры цифровой обработки сигналов. Эволюция развития микропроцессоров Intel.
реферат [158,8 K], добавлен 25.06.2015Изучение понятия, векторов и механизмов обработки прерываний; их классификация в зависимости от источника происхождения. Особенности реагирования аппаратной и программной частей операционной системы на сигналы о совершении некоторого события в компьютере.
реферат [995,8 K], добавлен 22.06.2011Функциональный состав микро-ЭВМ, разработка системы команд. Описание взаимодействия всех блоков электронно-вычислительной машины при выполнении команд программы. Арифметико-логическое устройство, кэш-память процессора, функциональное моделирование.
курсовая работа [981,4 K], добавлен 27.05.2013Понятие двоично-десятичного кода (ДДК), его получение и использование. Изучение арифметико-логических устройств, использующихся для обработки ДДК. Алгоритмы сложения, вычитания, умножения и деления ДДК при помощи арифметико-логических устройств.
контрольная работа [145,5 K], добавлен 05.09.2010