Книги
чёрным по белому
Главное меню
Главная О нас Добавить материал Поиск по сайту Карта книг Карта сайта
Книги
Археология Архитектура Бизнес Биология Ветеринария Военная промышленность География Геология Гороскоп Дизайн Журналы Инженерия Информационные ресурсы Искусство История Компьютерная литература Криптология Кулинария Культура Лингвистика Математика Медицина Менеджмент Металлургия Минералогия Музыка Научная литература Нумизматика Образование Охота Педагогика Политика Промышленные производства Психология Путеводители Религия Рыбалка Садоводство Саморазвитие Семиотика Социология Спорт Столярное дело Строительство Техника Туризм Фантастика Физика Футурология Химия Художественная литература Экология Экономика Электроника Энергетика Этика Юриспруденция
Новые книги
Цуканов Б.И. "Время в психике человека" (Медицина)

Суворов С. "Танк Т-64. Первенец танков 2-го поколения " (Военная промышленность)

Нестеров В.А. "Основы проэктирования ракет класса воздух- воздух и авиационных катапульных установок для них" (Военная промышленность)

Фогль Б. "101 вопрос, который задала бы ваша кошка своему ветеринару если бы умела говорить" (Ветеринария)

Яблоков Н.П. "Криминалистика" (Юриспруденция)
Реклама

AVR-RISC Микроконтроллерры - Трамперт В.

Трамперт В. AVR-RISC Микроконтроллерры — МК- Пресс , 2006. — 458 c.
ISBN 966-8806-07-7
Скачать (прямая ссылка): mikrokontrolerri2006.pdf
Предыдущая << 1 .. 32 33 34 35 36 37 < 38 > 39 40 41 42 43 44 .. 215 >> Следующая

$001 $001 $001 INTO Внешний запрос на прерывание 0
$002 $002 INTI Внешний запрос на прерывание 1
- $003 $003 TIMER 1 С APT Захват таймера/счетчика 1
- $004 $004 TIMER 1 COMPA Совпадение А таймера/счетчика 1
_ - $005 TIMER 1 COMPB Совпадение В таймера/счетчика 1
- $005 $006 T1MER1 OVF Переполнение таймера/счетчика 1
$002 $006 $007 TIMER0 OVF Переполнение таймера/счетчика 0
--- --- $008 SPI, STC Передача по интерфейсу SPI за
вершена
- $007 $009 UART, RX U ART: прием байта завершен
- $008 $00А UART, UDRE Регистр данных UART пуст
$009 $00В UART, TX UART: передача данных заверше
на
$003 $00А $00С ANA COMP Аналоговый компаратор
Чем меньше адрес вектора прерываний, тем выше приоритетность прерывания. Другими словами, вектор сброса RESET имеет наивысший приоритет, затем следует внешний запрос на прерывание INT 0 и т.д. На рис. 3.28 показано типичное начало программы для микроконтроллера AT90S8515.
Сброс и обработка прерываний 85
Адрес Метка Команда
Комментарий
$000 rjmp INITIAL
$001 rjmp EXT_INT0
$002 rjmp EXT_INT1
; Подпрограмма обработки сброса ; Подпрограмма внешнего прерывания 0 ; Подпрограмма внешнего прерывания 1 ; Подпрограмма захвата таймера 1 ; Подпрограмма сравнения таймера 1 с А ; Подпрограмма сравнения таймера 1 с В ; Подпрограмма переполнения таймера 1 ; Подпрограмма переполнения таймера О ; Передача через SPI завершена ; Устройство UART: байт принят
; Устройство UART: регистр данных пуст
; Устройство UART: передача завершена
; Аналоговый компаратор
$003 rjmp ТЇМЕ1_САРТ
$004 rjmp TIMEl_COMPA
$005 rjmp TIME1_C0MPB
$006 rjmp TIMEl_OVFL
$007 rjmp TIMEO_OVFL
$008 rjmp SPI_HANDLE
$009 rjmp UART_RxC
$ 00A rjmp UART_DRE
$00B rjmp UART_TxC
$00C rjmp ANA_COMP
$100 MAIN: <Команды>
Начало основной программы
Рис. 3.28. Пример типичного начала пользовательской программы
После сброса, как правило, происходит инициализация используемых в пользовательской программе регистров и таких периферийных функций как стек, UART, SPI, таймер и т.д. Для этого в представленном выше примере выполняется переход к части программы INITIAL. После этого может быть начато собственно выполнение программы, начиная с метки main,
С помощью команды rjmp происходит переход по тому или иному программному адресу прерывания, и начинается выполнение соответствующей подпрограммы обслуживания прерывания. После выполнения этой подпрограммы происходит возврат к прерванному участку программы.
Варианты сброса в микроконтроллерах AVR:
¦ сброс при включении питания - микроконтроллер сбрасывается, если между выводами Vcc и GND появляется рабочее напряжение;
¦ внешний сброс — микроконтроллер сбрасывается, если на выводе /RST появляется уровень лог. 0;
¦ сброс от сторожевого таймера — микроконтроллер сбрасывается по истечению времени, заданного сторожевым таймером, если этот таймер был разрешен.
Во время сброса все регистры автоматически инициализируются предопределенным исходным значением в соответствии с табл. 3.1. После поступления сигнала сброса выполнение программы начинается с адреса $000. По адресу $000 должна находиться команда rjmp— команда переход к той части программы, в которой расположены команды инициализации, специфические для пользователя (например, инициализация таймеров и UART, и т.д.).
По адресу $000 может быть введен обычный программный код только в том случае, когда программа не использует никаких источников прерываний (то есть, все векторы прерываний остаются неиспользованными).
Блок-схема, представленная на рис. 3.29, демонстрирует схему сброса микроконтроллеров AYR
86 Центральный процессор и внутренняя память
Рис. 3.29. Схема сброса микроконтроллеров AVR
Каждый из трех возможных источников сброса может быть определен с помощью вентиля “ИЛИ” G1, который устанавливает RS-триггер, образованный двумя вентилями “HE-ИЛИ” G2 и G3. Выходным сигналом RS-триггера является внутренний сигнал сброса (лог. 1‘). Одновременно выходной сигнал с вентиля G1 переводит 14-ступенчатый двоичный счетчик Z1, тактированный от внутреннего RC-осциллятора, в исходное нулевое состояние и удерживает его в таком состоянии до тех пор, пока активен соответствующий источник сброса.
Как только выходной сигнал вентиля G1 изменяется на лог. О, начинает работать двоичный счетчик Z1. Когда счетчик Z1 достигает некоторого заранее заданного состояния, выходной сигнал Z1 сбрасывает RS-триггер, и внутренний сигнал сброса будет снят (лог. 0).
Предыдущая << 1 .. 32 33 34 35 36 37 < 38 > 39 40 41 42 43 44 .. 215 >> Следующая