Разработка программной и аппаратной поддержки к методическим указаниям Программирование микроконтроллеров
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: сочинения по русскому языку, культурология
| Добавил(а) на сайт: Случевский.
Предыдущая страница реферата | 7 8 9 10 11 12 13 14 15 16 17 | Следующая страница реферата
(Most Significant Bit - старший бит) результата равен 1 (правильно показывает знак результата, если не было переполнения разрядной сетки знакового числа);
. Бит 3 – V Флаг переполнения дополнения до двух. Устанавливается, если во время выполнения операции было переполнение разрядной сетки знакового результата;
. Бит 4 – : Бит знака, S = N XOR V. Бит S всегда равен исключающему ИЛИ между флагами N (отрицательный результат) и V (переполнение дополнения до двух). Правильно показывает знак результата и при переполнении разрядной сетки знакового числа;
. Бит 5 – H Флаг половинного переноса. устанавливается, если во время выполнения операции был перенос из 3-го разряда результата.
. Бит 6 - T: Хранение копируемого бита. Команды копирования битов BLD (Bit
LoaD) и BST (Bit STore) используют этот бит как источник и приемник обрабатываемого бита. Бит из регистра регистрового файла может быть скопирован в T командой BST, бит T может быть скопирован в бит регистрового файла командой BLD.
. Бит 7 - I: Общее разрешение прерываний. Для разрешения прерываний этот бит должен быть установлен в единицу. Управление отдельными прерываниями производится регистром маски прерываний - GIMSK/TIMSK. Если флаг сброшен
(0), независимо от состояния GIMSK/TIMSK, прерывания не разрешены. Бит I очищается аппаратно после входа в прерывание и восстанавливается командой RETI, для разрешения обработки следующих прерываний.
Прерывания.
Описать, что происходит внутри процессора во время выполнения прерывания очень просто. Если произошел запрос прерывания, и флаг I в регистре состояния установлен в 1, то адрес следующий команды сохраняется в стеке, а выполнения программы продолжается с адреса, хранящимся в соответствующем векторе прерывания. Когда запрос прерывания получен, и программа перешла по этому вектору (адресу), флаг I сбрасывается в 0, чтобы предотвратить возможность вызова нового прерывания во время обработки текущего прерывания.
Флаг I будет снова установлен в 1 в конце обработчика прерывания, когда выполняется команда возврата RETI. Он также может быть установлен в 1 в процессе обработки (после сохранения контекстовых регистров), чтобы разрешить вложенные прерывания. Средние и старшие модели AVR могут обрабатывать столько вложенных прерываний, на сколько хватит объема стека для хранения содержимого счетчика команд и регистров контекста. Младшие модели имеют ограниченный объем стека (три позиции), который может быстро переполниться при выполнении вложенных прерываний или подпрограмм.
2.2. Аппаратные средства AVR.
Системный тактовый генератор.
AVR может использовать три различных источника системной частоты: кварцевый или керамический резонатор, внешний тактовый сигнал или встроенный RC-генератор (имеется не во всех моделях). Обычный диапазон частот для AVR – от 0 до 16 МГц.
Кварцевый или керамический резонатор может быть подключен к AVR (см. рис. 2.6). Если используется одна из этих схем, то не следует подключать какие-либо другие устройства ни к одному из выводов XTAL.
а) б)
Рис. 2.6. Схемы подключения к AVR керамического и кварцевого резонаторов
а) без встроенных конденсаторов и б) со встроенными конденсаторами.
Также AVR может синхронизироваться внешним тактовым сигналом, поступающим на вход XTAL1. Последний способ синхронизации – использование
встроенного RC-генератора. Такой генератор на данный момент есть только в
AT90S1200, он обеспечивает тактовую частоту 1 МГц. Этот режим задается при
помощи одного из битов конфигурации (fuse bit) только при параллельном
программировании МК.
Таймеры.
Источником сигнала переключения таймеров/счетчиков является либо
тактовая частота процессора, либо внешний синхросигнал. Тактовая частота
процессора может использоваться непосредственно или предварительно
делиться. Выбор источника сигнала и коэффициента деления производится с
помощью мультиплексора (см. рис. 2.8). Биты CSxn, управляющие
мультиплексором, расположены в регистре управления таймера TCCR0. В
AT90S8515, который содержит два таймерных блока, имеется два мультиплексора
– по одному на каждый блок. В AT90S1200 есть только один таймерный блок и
один мультиплексор. Содержимое таймера инкрементируется при поступлении
переднего фронта переключающего сигнала. Поэтому синхросигнал со внешнего
вывода МК поступает в мультиплексор в прямом и инвертированном. Значение
внешнего сигнала проверяется при поступлении переднего фронта тактового
сигнала процессора.
На рис. 2.7 показан Таймер 0 – простой 8-разрядный таймер, содержимое которого может быть считано или записано. Отключение входного сигнала происходит путем выбора «заземленного» входа при помощи мультиплексора. При переполнении счетчика реализуется маскируемое прерывание.
Таймер 1 – более сложный 16-разрядный таймер. Он может выдавать на выход импульсы и ШИМ-сигналы. Его большим достоинством является возможность реализации дополнительных функций, таких как таймер событий.
Рис. 2.7. Структура таймера 0.
Сторожевой таймер.
Сторожевой таймер представляет собой отдельный таймер с собственной частотой на 1 МГц, который при включении будет отсчитывать нужный интервал времени. Если произойдет переполнение до того, как команда WDR сбросит таймер в 0, то производиться перезапуск МК.
Сторожевой таймер включается при установке в 1 бита WDE в регистре управления сторожевого таймера WDTCR. Содержимое битов WDPn этого регистра определяет интервал времени до того, как сторожевой таймер произведет перезапуск МК.
Устройство внешнего вывода.
Схема подключения внешнего вывода, показанная на рис. 2.8, дает представление о его работе. С каждым набором линий («портом») связано три адреса ввода/вывода, которые позволяют определять значения данных, записанных в порт, направление передачи данных (1- вывод, 0 - ввод) и реальное значение сигнала на внешнем выводе. Вследствие этого есть возможность «подтянуть» выводы порта к высокому потенциалу для работы в режиме ввода данных, и использовать состояние некоторых выводов в качестве запросов прерываний.
Чтение данных может быть либо непосредственно с внешнего вывода, либо с выхода регистра данных порта. Такая возможность является важной особенностью работы порта. Если внешняя линия перегружена или случайно закорочена на «землю», то состояние внешнего выхода никогда не будет меняться. Поэтому в некоторых случаях очень важно иметь возможность прочитать содержимое регистра порта и сравнить его с реальным состоянием внешнего вывода.
Рекомендуем скачать другие рефераты по теме: социальная работа реферат, изложение язык.
Категории:
Предыдущая страница реферата | 7 8 9 10 11 12 13 14 15 16 17 | Следующая страница реферата