ЗНАЕТЕ ЛИ ВЫ?

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 – Окно наблюдения

Отладка программы.При работе в пошаговом режиме ограничьте работу подпрограммы Timer. Включите вызов обработчика как подпрограммы, кнопка клавиатуры К1 или К2 при его вызове должна быть нажата.

На рисунке 11.1 показано окно наблюдения.

Варианты заданий принять из лабораторной работы «Автоматизация упаковки».

 

11.3 Контрольные вопросы

 

1. Назначение РСН INTCON?

2. Что такое прерывания?

3. Как в программе используется флаг прерывания?

4. Какие задачи решает обработчик прерывания?

5. Когда срабатывает обработчик прерываний?

6. Что такое вектор сброса и вектор прерывания?

7. Что является аргументом при вызове подпрограммы Timer.

8. Как при наладке программы выполняется переход к обработчику?

9. Назначение символа «;» в тексте программы?

10. Порядок отладки программы.

11. Что имитируют кнопки клавиатуры?

12. Назначение адресов h’00’ и h’04’ оперативной памяти.

13. Как устраняется дребезг контактов?

14. Что такое паразитные наводки?

15. В любой ли ситуации срабатывает прерывание?

 

Программирование таймерных функций

Цель работы: научиться применять встроенный таймер микроконтроллера и регистры специального назначения, связанные с его настройкой.

Ознакомьтесь с регистрами специального назначения PIR1, TICON, INTCON, TMR1, TMR1H, TMR1L по приложению Е /4/.

 

Задание на проектирование

 

Создать программу для автоматической окрасочной камеры, описанной в лабораторной работе №8, выполняющую следующую работу:

- при подаче питания включить световую сигнализацию на пульт оператора L2. Кроме того, включить звуковую предупреждающую сигнализацию S1 на 2 секунды;

- включить двигатель краскораспылителя D1, вентилятора D2 и лампочку L1 на 3 секунды;

- выключить краскораспылитель D1. Вентилятор D2 и лампочка L1 продолжают работать еще 2 секунды;

- выключить D2 и L1 на 1 секунду для замены заготовки в камере;

- выполнить подсчет окрашенных заготовок;

- повторить процесс окрашивания новой заготовки, начиная с включения предупреждающей звуковой сигнализации S1.

Временная диаграмма работы камеры показана на рисунке 8.2.

Изучите блок-схему алгоритма автоматизации работы окрасочной камеры по рисункам 12.2 и 12.3.

Рисунок 12.2 - Блок-схема программы Рисунок 12.3 - Блок-схема п/п Timer2

 

Ознакомьтесь с фрагментами программы. Они демонстрируют использование тай­мера TRM1 для организации временных задержек. На основе фрагментов создайте программу для заданного варианта.

Фрагменты программы. Курсивом отмечены дополнительные команды по сравнению с лабораторной работой №8.

Include <p16F877.inc>; подключаем библиотеку символов.

T_reg EQU h'20'; регистр, определяющий время задержки.

Kol_det EQU h'21'; регистр, хранящий количество окрашенных деталей.

; Команды стандартной настройки МК опущены.

BSF STATUS, 5

CLRF TRISC





Последнее изменение этой страницы: 2017-01-25; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.234.255.5 (0.004 с.)