Хартов В.Я. Микроконтроллеры AVR. Практикум для начинающих (2007), страница 3
Описание файла
DJVU-файл из архива "Хартов В.Я. Микроконтроллеры AVR. Практикум для начинающих (2007)", который расположен в категории "". Всё это находится в предмете "компьютерные методы и технологии автоматизации и управления" из 9 семестр (1 семестр магистратуры), которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. .
Просмотр DJVU-файла онлайн
Распознанный текст из DJVU-файла, 3 - страница
Соответствующие флаги прерываний располагаются в регистрах состояния ОЯК (или 11СЯКА), ЯРЯК, АСЯК; остальные прерывания (внешние прерывания 1ХТ2, от схемы сравнения таймера ТО, по окончании записи в память ЕЕРКОМ и в память Г!аз)з), помеченные знаком ', поддерживаются микроконтроллером АТшейа8515. Запрос с меньшим адресом имеет более высокий приоритет.
Флаг общего разрешения прерывания 1 расположен в регистре состояния микроконтроллера ЯКЕО (бит 7). При 1 = 1 и единичном значении маски запроса прерывание данного типа разрешено. При поступлении запроса устанавливается флаг прерывания в одном из регистров ввода/вывода, который может вызвать аппаратное прерывание. Состояние флага может быть также опрошено программой. Обработка прерывания начинается после завершения текущей команды, для чего может понадобиться несколько тактов в зависимости от типа выполняемой команды. При обработке прерывания разряд! в регистре ЯКЕО сбрасывается в состояние О, запрещая обработку всех остальных запросов.
В стеке сохраняется ад- 15 1.1. Микроконтроллеры А Тк85! 5 1. Инструментальные средства практикума рес возврата и выполняется переход по вектору прерывания на первую команду обработчика прерывания. При выходе из прерывающей программы разряд ! вновь устанавливается в состояние ), разрешая обработку прерываний.
Программа, выполняемая при пуске микроконтроллера и использующая вектор запроса КЕБЕТ, не зависит от состояния разряда!. Для обработки прерываний она должна выполнить команду разрешения прерываний, устанавливающую флаг ! в состояние !. Таблиг/а 1.3. Адреса и маски прерываний АТх8515 Запрос Адрес Маска Флаг КЕБЕТ 000 Аттеаа8515 АТ9058515 1ХТО 001 01ГК,6 Рис. 1.3. Интерфейсы микроконтроллеров АТх8515 Аналоговый компаратор сравнивает по значению аналоговые сигналы, поступающие на входы порта РВ2, ГВЗ, и формирует запрос прерывания А)х!А СОМР при изменении знака разности, а также сигнал захвата для таймера. На рис. !.3 приведены условные графические обозначения микросхем микроконтроллеров АТ9088515 и АТшейа85)5, используемых в практикуме. Все выводы портов имеют альтсрнативныс функции, конфигурируемые автоматически при использовании периферийными устройствами микроконтроллера.
Их имена приведены в скобках. По сравнению с АТ9088515 в микроконтроллере АТше8885)5 выводы 29 — 31 образуют 3-разрядный порт РЕ. Микроконтроллеры АТх8515 выпускают в разных корпусах: ТОГР, ГЕСС, РИР. Поставляемые со стартовым набором БТК500 микроконтроллеры выполнены в 40-выводном корпусе Р)З!Г, устанавливаемом в панели БТК500, и допускают замену в процессе эксплуатации. !ХТ! 002 О!ГК.7 003 004 005 006 007 008 009 ООА ООВ ООС 000 ООЕ ООГ О!О 1ХТ2 Т/СО СОМР ЕЕ КОУ БРМ КО"г' О!СК..5 Т!МБК.О ЕЕСК.З БРМСК.7 Система команд микроконтроллеров Аз/К 01ГР.5 Т1ГК.О Для программирования микроконтроллера АТ9088515 используется 118 команд, АТшеба85!5 — )30. Все команды можно разбить по группам: — арифметических и логических операций; — пересылки и загрузки; т/с! сАРТ т/С) СОМРА Т!С! СОМРВ Т/С1 ОЧГ Т!СО ОЧГ БР! БТС ОАКТ К)(С/ ОБАКТ КХС ЬАКТ ОКЕ/ УБАКТ ОКЕ 0АКТ ТХС/ 0БАКТ ТХС АХА СОМР ИМБК.6/ 01СК.6 01МБК.7/ ИСК.7 Т1МБК.З Т!МБК.6 Т! МБК.5 Т!МБК.7 Т!МБК.! БРСК.7 ЬСК.7! ОСБКВ.7 (!СК.
5/ !)СБКВ.5 0СК.6/ АСБР..З Т1ГК.З Т1ГК.6 Т1ГК.5 Т!ГК.7 Т1ГК.1 БРБК.7 ОБК.7/ ОСБКА.7 13БК.5/ 11СБКА.5 0БК.6/ 0СБКА.6 АСБК.4 (ТО) РВО (Т1) РВ1 (А!ХО) РВ2 (А!Х!) РВЗ (%)РВ4 (МО81) РВ5 (М18О) РВ6 (ИСК) РВ7 КЕЗЕТ (КХО) РОО (ТХО) РО1 пхто) Р()2 (1ХТ1) Риз Р04 (ОС1А! РО5 РО6 (З~ТРО7 ХТА1.1 ОХО ЧСС РАО (АОО) РА) (А1)1) РА2 (А)32) РАЗ (А()З) РА4 (А 04) РА5 (А1>5) РА6 (АО ) РА7 (АО7) 1СР А1.Е ОС1В РС7 (А15) РС6 (А14) РС5 (А13) РС4 (А12) РСЗ (А11) РС2 (А10) РС! (А9) РСО (А8) (ОСО!ГО) РВО (Т1) РВ! (А1ХО) РВ2 (А1Х1) РвЗ (88) РВ4 (МО81) РВ5 (М180) РВ6 (ЗСЯ РВ7 КЕЗЕТ (КХО) РОО (ТРХ) РО1 (1Хто) РО2 (1ХТ1) РОЗ (ХСК] РО4 (ОСЗВЗ РО5 О~Я РО6 ( РО7 ХтАьг ХТА!.! ОХО чсс РАО (АОО> РА1 (А))1) РА2 (АО2) РАЗ (АОЗ) РА6 (А ) РА7 (АО7) Рео ()сР/)хтг) РЕ) (А1 Е) РЕ2 (ОС1В) РС7 (А15) РСб (А14) РС5 (А13) Рса (А)г> РСЗ (АП) РС2 (А10) РС! (А9) РСО (А8) 17 1.
Оиструиеиталвиые средства ирактикута 16 1. 1. Микрокоитроллеры А Тх85 15 11родолжекие табл, 1.4 Признаки У,С,Х,Ч,Н Операция Мнемоника Описание команды ЯВС! Кд, К Ы -Ы вЂ” К вЂ” С, д=16-31 Вычитание кон- станты из регистра с заемом БВ1!Ч Кд!, К Кдй:Кд!— Кдй:Кд! — К У,,С,Х„Ч,6 Ы -ЫА Кг У., Х, Ч Ы -ЫАК, д= 16 — 31 АХ01 Кд, К У,Х,Ч У,Х,Ч Ы -Ыык, д= !6 — 31 ОК1 Кд, К У,Х,Ч ЕОК Ы, йг Логическое исклю- чающее ИЛИ реги- стров Логический сдвиг влево ЕЯ. Ы [.Бй Ы КО1.
Кд У,С,Х, Ч У,С,Х,Ч Операция Описание команды Мнемоника Признаки Логический сдвиг вправо А1Ю Ы, Кг А!3С Ы, йг У,С,Х,Ч,Н У,С,Х,Ч,Н Сложение двух регистров Сложение двух регистров и пере- носа Сдвиг влево через перенос Сдвиг вправо через перенос А!3[% Ы1, К Сложение регистровой пары с кон- стантой Кдй:Кд!— ЫЬ Ы1 + К У,С,Х,Ч,6 ' У,С,Х, Ч У., С, Х, Ч У,Х,Ч,С,Н У,Х,Ч,С,Н У,С,Х,Ч,Н УвС,Х,Ч,Н У,С,Х,Ч,Н о!!В Кд, йг Я1В! Ы, К ОВСЫ, Кг Арифметический сдвиг вправо Вычитание двух регистров Вычитание константы из регистра Вычитание двух регистров с заемом Кд -Кд-К, д = 16 — 31 Сравнение регист- ров Ы-йг-С СРС Кд, йг Сравнение регистров с учетом заема — передачи управления; — операций с битами, В табл. 1.4 — 1.7 приведено описание базового набора команд микроконтроллеров АЧК.
При описании команд использованы следующие обозначения: Кд, Кг — регистры общего назначения с номерами д и г; КдЬ:Кд! — пара регистров; К вЂ” константа (данные); Р,Ь вЂ” разряд Ь (Ь = О, ...,7) порта Р; йг(Ь) — разряд Ь (Ь = О, ...,7) регистра йг; (Х), (Ч), (У) — содержимое ячеек, адресуемых регистровыми парами Х, Ч, 2 соответственно; и — номер бита; з — номер разряда в регистре ИКЕДА; РС вЂ” содержимое программного счетчика; 1с — приращение в счетчике команд; з) — 6-разрядное смещение; ВТАСК вЂ” область памяти ЯКАМ, адресуемая указателем стека БР; С, 2, Х, Ч, Я, Н, Т, 1 — биты регистра состояния ЕКЕЛЬ; с1, г = 0...31 во всех случаях, кроме специально отмеченных.
Таблица 1,4. Арифметические и логические операции Вычитание кон- станты из регист- ровой пары Логическое И двух регистров Логическое И реги- стра и константы Логическое ИЛИ двух регистров Логическое ИЛИ регистра и констан- ты Кд(н+ !) -Ы(п), Кд(0) -0 Кд(ц) -Ы(п- 1), Ы(7) -0 Ы(0) -С, Ы(п + !)з — Ы(п), С -Ы(7) Ы(7) -С, Кд(п)--йд(и-~1), С -Кд(0) Ы(п) -Ы(пи 1), и=0...6 18 1. Инструментальные средства практикума Лродолжение табл. 1.5 Окончание табл, 1.4 Операция Описание команды Мнемоника Описание команды Операция Признаки Мнемоника йб — (У) Кб+ — (У), У+ — У+ 1 1.0 Кб, У Ь0 Кб, У+ СР! Ы,К Кб — К, б = 16 — 31 Сравнение регистра с константой »., 1»1, Ч, С, Н еч С, )Ч, Ч ы -бгг-кб Ы+- $00 — Ы У вЂ” У вЂ” 1, Кб — (У) Ь0 Ы, — У 1.00 Ы«У+Ч Х, С,М, Ч, Н У„)Ч, Ч йỠ— (У -«Ч) Кб -йб»«К, б=!б — 31 10Ы,е, 1.0 йб, 2+ Ы -Ы д (8Гà — К) СВК Кб, К Логическое И Кб с инверсией константы Е, 1»1,'Ч К Х-1, Ы (К) Ы -(~+ Ч) ЬОЫ.— г Ь00 Кб, Х+Ч К»1 — (1с) (Х) — Кг (Х) +- Кг, Х» — Х + 1 Прямая загрузка регистра Косвенное сохранение Ь08 Ы,1с ЕТХ,йг 8Т Х»-, Кг Установка 1 в разря- дах регистра кб — бгг, д= 16 — 31 Косвенное сохранение с постннкрементом Х+- Х вЂ” 1, (Х) — Кг Косвенное сохранение с преддекрементом Косвенное сохранение Бт — Х, Кг Таблица 1.5.
Команды пересылки (У)» — Кг (У)» — йг, У» — У е 1 БТУ,йг Бт У+, Кг Мнемоника Описание команды Операция Косвенное сохранение с постинкрементом МОЧ й»Ь Кг *МОЧ% Ы, Кг Пересылка между регистрами КỠ— Кг Кб-ь1:Кб — Кг+1:йг Пересылка между парами регистров Обмен тетрадами Загрузка константы в регистр Косвенная загрузка регистра У»- У вЂ” 1, (У)» — Кг Косвенное сохранение с преддекрементом 8Т-У, йг Косвенное сохранение относительное Ы(3...0) «Кб(7...4) Ы -К,б=!6 — 31 (е.)» — йг (у) й Х Л 1 Косвенное сохранение Кб — (Х) К»1» — (Х), Х вЂ” Х + 1 Косвенное сохранение с постинкрементом Косвенная загрузка с пост- инкрементом К г — 1, (г) Кг Косвенное сохранение с преддекрементом бт-с, Кг Косвенная загрузка с преддек- Х вЂ” Х вЂ” 1, йб — (Х) рементом СОМ Ы )ЧЕО йб БВКЫ,К П«1С йб 0ЕС Ы ТБТ йб СЬК Кб БЕК К»1 БЕАР Кб Ь0! Ы,К 1.0 Ы,Х 1.0 Кб, Х+ ЬП Ы, -Х Инверсия регистра Изменение знака Логическое ИЛИ регистра и константы Инкремент регистра Декремент регистра Проверка регистра Сброс регистра в 0 йб»- йб+! Ы+ — йб — 1 КỠ— Ы д Кб Ы вЂ” Ы ® К»1 е„)Ч, Ч г, 1»1, Ч г, 1«1, Ч 8ТОУ».
Ч Кг Етг, Кг бте+,Кг 1 1, Микроконтроллеры А Тлб515 Косвенная загрузка регистра Косвенная загрузка спост- инкрементом Косвенная загрузка с пред- декрементом Косвенная загрузка относи- тельная Косвенная загрузка регистра Косвенная загрузка с пост- инкрементом Косвенная загрузка сирен декрементом Косвенная загрузка относи тельная 21 го 1 1. Микроконтроллеры АТх8515 Окончание табл.
!.б Окончание табл. 1.5 Операция Мнемоника Описание команды Мнемоника Описание команды Операция ЗТПУ -с(,К (У .ь Ч) К БТЗ !с, Кг 1.РМ (1с)» — Кг КΠ— (У) *ЬРМ Кс(, У+ Кс1 — (Х), У+- Уе1 (У) — К1:КО ьБРМ 1)»! Кс(, Р Чтение регистра ввода/вывода Кб — Р, Р = 0 — б3 ОПТ Р, Кг Запись в регистр ввода/вывола Р» — Кг, Р = 0 — 63 Р()ЯН Кг РОР Кс( Сохранение в стеке Извлечение из стека БТАСК вЂ” Кг Кс) — БТАСК больше или равно Перейти, если (со знаком) Перейти, если ком) Перейти, если перенос Н = 1 Перейти, если перенос Н = 0 Перейти, если меньше (со зна- Мнемоника Описание команды Операция К)МР 1с ПМР КСАЬЫс !СА1.Ь КЕТ КЕТ1 СРБЕ Кс(,кг РС вЂ” РС е !с.ь 1 РС вЂ” У РС +- РС ь 1с+ 1 РС вЂ” Х РС вЂ” ЗТАСК РС вЂ” ЗТАСК, 1 если (Кс( = Кг), то РС -РС е2/3 если (Кг(Ъ) = 0), то РС -РС+ 2/3 если (Кг(Ь) = 1), то РС вЂ” РС+ 2/3 если (Р(Ь) = 0), то РС -РС+2/3 если (Р(Ь) = 1), то РС вЂ” РС+ 2/3 межтетрадный межтетрадный флаг Т = 1 флаг переполнения флаг переполнения флаг прерывания флаг прерывания Перейти если Ч= 1 Перейти, если Ч= О Перейти, если 1=1 Перейти, если 1=0 ЯВКСКг,Ь УВКБ Кг,Ь БВ!С Р, Ь БВ1Б Р, Ь 1.