При возникновении прерывания флаг I регистра SREG аппаратно сбрасывается, запрещая тем самым обработку следующих прерываний. Однако в программе обработки прерывания этот флаг можно снова установить в «1» для разрешения вложенных прерываний. При возврате из подпрограммы обработки прерывания флаг I устанавливается аппаратно.
Все имеющиеся прерывания можно разделить на два типа. Прерывания первого типа генерируются при наступлении некоторого события, в результате которого устанавливается флаг прерывания. Затем, если прерывание разрешено, в счетчик команд загружается адрес вектора соответствующего прерывания. При этом флаг прерывания аппаратно сбрасывается.
Прерывания второго типа не имеют флагов прерываний и генерируются в течение всего времени, пока присутствуют условия, необходимые для генерации прерывания. Соответственно, если условия, вызывающие прерывание, исчезнут до разрешения прерывания, генерации прерывания не произойдет.
Следует помнить, что при вызове подпрограмм обработки прерываний регистр состояния SREG не сохраняется. Поэтому пользователь самостоятельно сохранять содержимое этого регистра при входе в подпрограмму обработки прерывания и восстанавливать его значение перед вызовом команды RETI.
Поддерживается очередь прерываний, которая работает следующим образом: если условия генерации одного или более прерываний возникают в то время, когда флаг общего разрешения прерываний сброшен, соответствующие флаги устанавливаются в «1» и остаются в этом состоянии до установки флага общего разрешения прерываний. После разрешения прерываний выполняется их обработка в порядке приоритета.
Внешние прерывания.
Для разрешения/запрещения внешних прерываний предназначен регистр EIMSK. Каждый разряд INTx регистра отвечает за разрешение/запрещение прерывания с номером, соответствующим номеру разряда. Если n-й разряд регистра установлен в «1» и флаг I регистра SREG также установлен в «1», то прерывание с вывода INTn разрешено. Условия генерации прерываний определяется регистрами EICRA и EICRB. Для индикации возникновения внешних прерываний предназначен регистр EIFR.
Все внешние прерывания генерируются даже в том случае, если соответствущие выводы сконфигурированы как выходы. Эта особенность позволяет генерировать прерывания программно.
4. Описание системы индикации
4.1 Светодиоды
Для отображения двух состояний обычно используют светодиоды. В системе имеется семь светодиодов 32Ж40-К4-П2 со следующими характеристиками:
· Цвет свечения – красный
· Длина волны – 625 нм
· Максимальная сила света – 100 мКд
· Видимый телесный угол – 40 град.
· Максимальное прямое напряжение – 12 В
· Рабочая температура – -60...85 С
4.2 Описание кнопок
В системе используется 24 кнопки типа B170G (4 отдельные и 20 в составе клавиатуры), имеющие следующие характеристики:
· Фиксация нет
· Сопротивление изолятора – не менее 100 МОм
· Сопротивление контактов – не более 0.05 Ом
· Рабочее напряжение – 30 В
· Предельное напряжение – 250В переменного тока в течение 1 мин.
· Рабочий ток – 0.1 А
5. Объект управления, алгоритм управления
К выводам PC0..PC2 через устройство сопряжения подключен двигатель постоянного тока.
К выводам РD0..РD2 – кнопки запуска двигателя постоянного тока
К выводам РE0..РE1 подключены светодиоды отражающие состояние двигателя постоянного тока.
К выводам РА0..РА7 подается оцифрованный сигнал с датчика оборотов
6. Заключение
Результатом выполнения данной курсовой работы является разработка электрической принципиальной схемы микропроцессорного устройства управления двигателя постоянного тока на базе контроллера ATmega 128. Произведен выбор компонентов устройства, приведены их основные характеристики. Написан пакет подпрограмм на языке Assembler для корректной работы устройства. Подпрограммы являются универсальными и предназначены для работы с любыми моделями двигателей. Для корректной работы устройства управления необходимо правильно выбрать комплект устройств сопряжения. Рекомендации по выбору приведены в пояснительной записке. Выводом данной курсовой работы является, то что системы управления, построенные на базе микроконтроллеров позволяют упростить регулирование технологическими процессами.
7. Используемая литература
1 . Микроконтроллеры AVR семейств Tiny и Mega фирмы ATMEL А. В. Евстифеев. Москва Издательский дом «Додэка-XXI» 2006г.
2 . www.dipchip.ru
3. www.chipinfo.ru
4. ЛП_ЛС2_8МГц.doc Лабораторный практикум «Архитектура, программирование и применение 8-разрядных микроконтроллеров семейства ATMEL ATmega».
ПриложениеА
.device ATmega128
.include "m128def.inc"
.def tmp=r16
.cseg
.org 0
Rjmp iniz
.org 40
Iniz:
Ldi temp,High(RamEnd)
Out sph,temp
Ldi temp,Low(RamEnd)
Out spl,temp
Ldi tmp, 0xff
Out ddrc, tmp
Out ddrd, tmp
Out portd,tmp
Out ddra,tmp
Ldi tmp, 0x00
Out ddre,tmp
Out porte,tmp
; подпрограмма управления
Uprav:
Sbisportd.7
Rjmp stup1
Rjmp uprav
Stup1:
Ldi tmp,0x00
Out porta,tmp
Ldi tmp,0x01
out porte,tmp
Ldi tmp,porta
cN1:
Cpi tmp,n1
Breq stup2
Rjmp cn1
Stup2:
Ldi tmp,0x01
Out portd,tmp
Ldi tmp,0x02
out porte,tmp
cN2:
Cpi tmp,n2
Breq stup3
Rjmp cn2
Stup3:
Ldi tmp,0x02
Out portb,tmp
Ldi tmp,0x03
out porte,tmp
Rjmp uprav