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 показано окно наблюдения.
Варианты заданий принять из лабораторной работы «Автоматизация упаковки».
- Микропроцессорные системы в электроэнергетике
- Алматы 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