- •Конспект лекций по дисциплине Микропроцессоры и микропроцессорные системы управления
- •Раздел 1 Основы микропроцессорной техники Тема 1.1 Принцип программного управления – основной принцип работы мп
- •Тема 1.2 Принцип централизации управления мпс. Шинная связь
- •Урок №5
- •Тема 1.3 Регистровая модель микропроцессора
- •1.3.1 Классификация внутренних регистров мп
- •1.3.2 Две архитектуры мп: аккумуляторная и регистровая
- •1.3.4* Внутренняя структура мп i8080
- •1.3.5* Регистровая модель мп i8080
- •Урок № 6
- •Урок №7 Лабораторная работа №1 Ввод, компиляция и отладка программ в avr Studio
- •Урок №8 Лабораторная работа №2 Анализ работы ядра микроконтроллера
- •Тема 1.4 Режимы работы микропроцессорной системы
- •Урок №11 Тема: Упражнения. Подготовка к лабораторным работам №3, 4
- •Урок №12 Лабораторная работа №3 Анализ работы микропроцессора в программном режиме и в режиме вызова подпрограмм
- •1 Практические задания и методические указания по их выполнению
- •3 Контрольные вопросы:
- •Урок №13 Лабораторная работа №4 Анализ работы микропроцессора в режиме прерывания программы
- •2 Практические задания и методические указания по их выполнению
- •3 Оформление отчета
- •4 Контрольные вопросы:
- •Урок №14
- •Тема 1.5 Микроконтроллеры
- •Раздел 2 микроконтроллеры семейства avr
- •Тема 2.1 История создания, классификация микроконтроллеров семейства avr
- •Тема 2.2 Типы корпусов микроконтроллеров семейства avr
- •Урок №17
- •Тема 2.3 Основные параметры, назначение выводов мк aTtiny2313
- •Урок №18
- •Тема 2.4 Основные параметры, назначение выводов мк aTmega8535
- •Урок №17
- •Тема 2.3 Основные параметры, назначение выводов мк aTtiny2313
- •Урок №18
- •Тема 2.4 Основные параметры, назначение выводов мк aTmega8535
- •Урок №19
- •Тема 2.5 Синхронизация работы мк avr
- •Урок №20
- •Тема 2.6 Система сброса
- •Урок №21
- •Тема 2.7 Параллельные порты микроконтроллеров семейства avr
- •Урок №22
- •Тема 2.8 Команды обращения к параллельным портам микроконтроллеров семейства avr
- •Урок №27 Лабораторная работа № 5 Методика отладки программ на лабораторном стенде «Программирование мк aTmega8535»
- •Урок №28 Лабораторная работа № 6 Разработка и отладка программы «Copy»
- •Урок № 29
- •Тема 2.9 Типичные схемы подключения светодиодов к выходам мк
- •Урок №30
- •Урок №31
- •Тема 2.10 Типичные схемы подключения семисегментных индикаторов к выходам мк
- •Урок №32
- •Урок №33
- •Урок №34 Лабораторная работа № 7 Исследование работы схемы статической индикации на лабораторном стенде «Программирование мк aTmega8535
- •2 Практические задания и методические указания по их выполнению.
- •Урок № 35
- •Тема 2.11 Типичные схемы подключения двоичных датчиков
- •Урок № 36
- •Урок №37
- •Тема 2.12 Программирование микроконтроллеров
- •Урок № 38 Подготовка к лабораторным работам № 8, 9
- •Урок № 39 Лабораторная работа №8 Программирование микроконтроллера с помощью программатора Phyton
- •Урок № 40 Лабораторная работа №9 Отладка программ на стенде «Цифровые микросхемы»
- •Урок № 41
- •Тема 2.13 Система прерываний
- •Урок №42
- •Урок №43
- •Урок №45 Лабораторная работа №10 Исследование логики прерывания от внешнего устройства
- •1 Краткие сведения из теории
- •2 Практические задания и методические указания по их выполнению
- •3 Оформление отчета
- •Урок № 46
- •Урок № 47
- •Тема 2.14 Таймеры
- •Урок № 49
- •Урок № 50
- •Урок № 51 Лабораторная работа № 11 Исследование работы таймера-счетчика t/c0
- •1 Краткие сведения из теории
- •3 Оформление отчета
- •Тема 2.12 Лабораторный комплекс «Микроконтроллеры и автоматизация»
- •Тема 2.13 Примеры программ ввода-вывода
- •Раздел 4 специальные возможности микроконтроллеров семейства avr Тема 4.1 Система прерываний
Урок №45 Лабораторная работа №10 Исследование логики прерывания от внешнего устройства
Цель работы: Приобретение навыков исследования устройств МК
1 Краткие сведения из теории
Внешние прерывания вызываются сигналами на внешних выводах МК:
INT0 |
PD.2 |
INT1 |
PD.3 |
INT2 |
PB.2 |
Уровень сигнала прерывания от внешних источников INT0, INT1 задается битами в регистре управления микроконтроллера MCUCR.
-
ISC01
ISC00
Вход INT0
0
0
Низкий уровень (лог.0)
0
1
1
0
Спадающий фронт
1
1
Нарастающий фронт
Разрешение прерываний от внешних источников устанавливается в регистре масок внешних прерываний GICR (GIMSK).
2 Практические задания и методические указания по их выполнению
Задание 1 Исследуйте влияние уровня сигнала прерывания INT0 в окне отладчика
Создайте в программе AVR Studio проект int_2.asm
Введите и откомпилируйте текст программы:
;==========int_2.asm======
.include "m8535def.inc"
.org 0
rjmp start
.org $001
rjmp prer
;==========
start:
ldi r16,$61
out spl,r16
ldi r16,$00
out sph,r16
ldi r16,0b00000010
out mcucr,r16
ldi r16,0b01000000
out gicr,r16
sei
loop:
rjmp loop
;===========
prer:
inc r0
reti
Запустите отладчик
Имитируйте поступление на вход PD.2 сигнала прерывания со спадающим фронтом. Проанализируйте поведение программы
Измените уровень сигнала прерывания в программе: установить нарастающий фронт. Откомпилируйте программу и проанализируйте ее действие в окне отладчика
Измените уровень сигнала прерывания в программе: установить низкий уровень. Откомпилируйте программу и проанализируйте ее действие в окне отладчика
Объясните результаты проведения исследование
Задание 2
Исследование логики работы прерываний по сбросу и от внешнего источника INT0.
На стенде «Микроконтроллеры и автоматизация» соберите схему, изображенную на рисунке 1.
Рисунок 1
Введите, откомпилируйте и запишите в память МК программу int_1.asm
;============int_1.asm==========
.include "m8535def.inc" ;включение в программу файла описания имен
;==========таблица векторов=====
.org 0 ;вектор сброса
rjmp start
.org 0001 ;вектор int0
rjmp prer
;============основная программа====
.org $0020 ;начало основной программы
start:
;организуем стек
ldi r16,$00
out sph,r16
ldi r16,$61
out spl,r16
; настраиваем уровень сигнала прерывания по нарастающему фронту
ldi r16,0b00000011
out mcucr,r16
; разрешаем прерывание от int0 (частное разрешение)
ldi r16,0b01000000
out gicr,r16
;глобальное разрешение прерывания
Sei
ldi r16,$ff
out ddra,r16 ;настроить порт A на вывод
sbi ddrb,0 ;настроить на вывод линию PB.0
ldi r16,$с0 ;код символа «0»
out porta,r16 ;вывести код на выходы порта A
sbi portb,0 ;подключить общий анод индикатора ;к питанию
;фоновая команда, бесконечный цикл, мы ожидаем прерывания
loop:
rjmp loop
;=====подпрограмма обработки прерывания=====
prer:
ldi r16,$6d ;код символа «5»
out porta,r16 ;вывести код на выходы порта A
reti
Исследуйте действие прерывания по сбросу и от внешнего источника INT0.
Измените настройки уровня сигнала прерывания INT0: а) спадающий фронт, б) низкий уровень и уловите разницу в действии программ.
Задание 3*
Запишите в память МК следующую программу. Инициируйте внешнее прерывание INT0. Наблюдайте, что происходит со светодиодом. Измените настройку уровня сигнала прерывания на уровень лог.0. Объясните поведение светодиода.
.include "m8535def.inc"
.org 0
rjmp start
.org $001
rjmp prer
;==========
start:
sbi ddrc,0
sbi portc,0
ldi r16,$61
out spl,r16
ldi r16,$00
out sph,r16
ldi r16,0b00000011 ;б)ldi r16,0b00000000
out mcucr,r16
ldi r16,0b01000000
out gicr,r16
sei
loop:
rjmp loop
;===========
prer:
sbis portc,0
rjmp ind
cbi portc,0
reti
ind:
sbi portc,0
reti