- •Микропроцессорные системы в электроэнергетике
- •Алматы 2013
- •Введение
- •1 Системы счислений. Карта памяти микроконтроллера
- •1.1 Краткие теоретические сведения
- •1.2 Задания
- •1.3 Контрольные вопросы
- •2 Изучение среды mplab. Управление оборудованием
- •2.1 Краткие теоретические сведения и задания для внеаудиторной подготовки
- •"Умк-mini"
- •2.2 Исходные данные
- •2.3 Выполнение проекта на умк-7
- •4.Выполним соответствующие настройки для запуска Вашего проекта:
- •6.Запуск проекта
- •2.4 Контрольные вопросы
- •3 Сложение, вычитание. Логика
- •3.1 Теоретические сведения
- •3.2 Исходные данные и выполнение программы
- •3.4 Контрольные вопросы
- •4 Операции преобразования информации
- •4.1 Теоретические сведения
- •4.2 Исходные данные и задание
- •4.3 Контрольные вопросы
- •5 Анализ информации посредством регистра состояния
- •5.1 Теоретические сведения
- •5.2 Исходные данные
- •5.3 Порядок выполнения работы
- •5.4 Контрольные вопросы
- •6 Маскирование
- •6.1 Краткие теоретические сведения
- •6.2 Исходные данные и задание
- •6.3 Контрольные вопросы
- •7 Суммирование массива информации
- •7.1 Теоретические сведения
- •7.2 Исходные данные
- •7.3 Выполнение задания
- •7.4 Контрольные вопросы
- •8 Автоматизация окрасочной камеры. Организация подпрограмм
- •8.1 Теоретические сведения
- •8.2 Задание на проектирование.
- •8.3 Выполнение задания
- •8.4 Контрольные вопросы
- •9 Программированиеклавиатуры
- •9.1 Теоретические сведения
- •9.2 Задание на проектирование
- •Фрагмент 9.1. Программирование клавиатуры.
- •9.3 Задание на выполнение
- •9.4 Контрольные вопросы
- •10 Автоматизация упаковки
- •10.1 Задание на автоматизацию упаковочной машины
- •10.2 Исходные данные
- •10.3 Выполнение задания
- •10.4 Контрольные вопросы
- •11 Программирование обработки аварийной ситуации
- •11.1 Теоретические сведения
- •11.2 Задание на проектирование и выполнение программы
- •11.3 Контрольные вопросы
- •12 Программирование таймерных функций
- •12.1 Задание на проектирование
- •12.2 Выполнение работы
- •12.3 Контрольные вопросы
- •Приложение а Системы счислений
- •Приложение б Карта памяти мк pic16877
- •Приложение в
- •Регистр Status
- •Приложение д Описание инструкций мк pic
- •Приложение е Модуль таймера tmr1
- •Список литературы
- •Содержание
- •0 50013, Алматы, Байтурсынова, 126
10.3 Выполнение задания
Варианты заданий принять из таблицы 10.2.
Т а б л и ц а 10.2 – Варианты заданий
Вариант |
Биты подключения оборудования S1, D1, D2, L1, L2. |
Вариант |
Биты подключения оборудования S1, D1, D2, L1, L2. |
1 |
1, 2, 3, 4, 5 |
6 |
6, 7, 0, 1, 2 |
2 |
2, 3, 4, 5, 6 |
7 |
7, 0, 1, 2, 3 |
3 |
3, 4, 5, 6, 7 |
8 |
0 ,1 ,2 ,3, 4 |
4 |
4, 5, 6, 7, 0 |
9 |
1, 3, 5, 7, 0 |
5 |
5, 6, 7, 0, 1 |
10 |
2, 4, 6, 0, 1 |
Рисунок 10.2 – Окно наблюдения |
На рисунке 10.2 показано окно наблюдения.
Продемонстрируйте работу программы преподавателю.
10.4 Контрольные вопросы
Что является аргументом при вызове подпрограммы Timer.
Назначение символа «;» в тексте программы?
Порядок отладки программы.
Что имитируют кнопки клавиатуры?
Как устраняется дребезг контактов?
Что такое паразитные наводки?
Почему нельзя поместить кнопку StopподпрограммуTimer?
Как имитируется работа аварийных датчиков?
Как определяется количество изоляторов равное двум?
Как определяется количество изоляторов равное четырем?
Как фиксируется заполнение коробки?
11 Программирование обработки аварийной ситуации
Цель работы: разработка и исследование программ обработки аварийных ситуаций с использованием системы прерываний микроконтроллера.
11.1 Теоретические сведения
Описание работы МК. При включении питания управление всегда передается на вектор сброса МК по адресу h’00’ электрически программируемого постоянного запоминающего устройства (ЭППЗУ). В случае срабатывания аварийного датчика, поступает импульс на клемму внешних прерыванийRB0/INTрегистраPORTB,основная программа прерывается и управление передается на вектор прерывания по адресуh’04’ ЭППЗУ. Здесь записывается командаGoto Avariyaперехода на подпрограмму «Обработчик прерываний», который выключает оборудование (D1 иD2) и включает аварийный сигналL3 [4].
Для работы с прерываниями существует регистр специального назначения INTCON, см. приложение Е. В нем необходимо установить «1» в битINTEдля разрешения внешних прерываний и в битGIEдля глобального разрешения любых прерываний в конкретный момент времени. При срабатывании аварийного датчика формируется флаг INTF, который заставляет микроконтроллер выполнить команду вектора прерываний по адресуh’04’, т.е. вызывается обработчик прерываний. В обработчике прерываний, в первую очередь сбрасываются бит разрешения внешнего прерыванияINTEи флаг внешнего прерыванияINTF,иначе непрерывно будет вызываться обработчик прерываний.
11.2 Задание на проектирование и выполнение программы
Продолжить проект лабораторной работы №10, создать выключение оборудования и обработку аварийной ситуации с помощью прерывания. Импульсы на прерывания имитировать кнопками. При аварии оборудование должно выключиться и на пульте должен загореться сигнал аварии L3.
Т а б л и ц а 11.1 – Назначение битов PORTCи контактов клавиатуры
Регистр PORTC |
Кнопки клавиатуры |
Действия кнопок |
0 разряд - предупреждающая звуковая сигнализация S1 |
1 или 2 |
Аварийные датчики (перегрев подшипников, затор на конвейере) |
1 разряд – двигатель конвейера D1 |
| |
2 разряд – двигатель упаковочного механизма D2 |
| |
3 разряд – световая сигнализация L1 |
3 |
Кнопка Stop |
4 разряд – сигнал аварийного останова камеры L3 |
5 или 6 |
Фотодатчики |
7 разряд – световая сигнализация работы L2 на пульт |
|
|
Фрагменты программы 11.1. В программе выделены курсивом дополнительные строки, и строки, которые отличаются от строк программы «Автоматизация упаковки».
; Описание регистров не приведено.
; Инструкции по настройке микроконтроллера
; Вектор сброса.
ORG h'00'; указание адреса для записи следующей инструкции.
GOTO GLAV; инструкция будет записана по адресу h'00' ЭППЗУ.
; Вектор прерывания.
ORG h'04''; указание адреса для записи следующей инструкции.
GOTO Avariya; инструкция будет записана по адресу h'04' ЭППЗУ.
NOP; инструкция будет записана по адресу h'05' ЭППЗУ.
; Основная программа
GLAV ; метка главной программы.
NOP; установка курсора на команду CLRF STATUS в режиме F7.
NOP
CLRF STATUS; очищаем регистр Status от мусора.
; настройка микроконтроллера.
BSF STATUS, 5
BSF INTCON, INTE; разрешаем регистрацию внешних прерываний.
BSF INTCON, GIE; разрешаем работу прерываний.
CLRF TRISC
MOVLW b'00001111'
MOVWF TRISD; настраиваем биты 0-3 PORTD на ввод.
BCF STATUS, 5
Далее идет текст программы из лабораторной работы «Автоматизация упаковки» без изменений, но для отладки обработчика перед меткой M1 необходимо поместить его вызов командойCALL Avariya.
GOTO$
Timer; Подпрограмма Timer. Приведены только 3 строки.
MOVWF Sch3
; RETURN; эту команду включить при отладке программы в режиме F7.
M3 MOVLW D'150' . . .
Avariya; Подпрограмма - обработчик прерывания при аварии и останове.
BCF INTCON, INTE; запрещаем внешние прерывания.
BCF INTCON, INTF; сбрасываем флаг внешнего прерывания.
MOVLW b'10010000';
MOVWF PORTC; двигатели выключаем и включаем сигнал L3.
MOVLW D'20'; определяем время подачи сигнала L3.
CALL Timer;
GOTO Stop; переход на метку выключения оборудования.
RETFIE; оператор возврата в фоновую программу из обработчика.
Stop; метка останова упаковщика (микроконтроллер не выключается).
END; конец текста всей программы.
Внимание! Клемма клавиатуры K3 должна быть соединена с клеммой внешних прерываний RB0/NT, остальные клеммы с PORTD.
Рисунок 11.1 – Окно наблюдения |
На рисунке 11.1 показано окно наблюдения.
Варианты заданий принять из лабораторной работы «Автоматизация упаковки».