Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУ ЦТ и МК для стенда 2013.doc
Скачиваний:
20
Добавлен:
01.05.2015
Размер:
3.21 Mб
Скачать

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Создать программу для автоматической окрасочной камеры, описанной в лабораторной работе №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

CLRF PIE1; запрещаем периферийные прерывания.

BCF STATUS, 5

CLRF T1CON; установка TMR1 в режим ожидания, тактирование ;TMR1 от внутреннего генератора, значение предделителя частоты 1:1.

CLRF TMR1H; очищаем старший регистр-счетчик TMR1.

CLRF TMR1L; очищаем младший регистр-счетчик TMR1.

CLRF INTCON; запрещаем прерывания от TMR1.

MOVLW b'00110000'; тактирование от внутреннего генератора.

MOVWF T1CON; устанавливаем предделитель частоты 1:8.

; Рабочая часть совпадает с программой лабораторной работы 8.

GOTO$

; Подпрограмма Timerзаменяется на подпрограммуTimer2.

Timer2; Подпрограмма задержки времени с встроенным таймером TMR1.

MOVWF T_reg

; Return; для выключения Timer2 при отладке главной программы.

M_T_reg; следующие 4 команды только для отладки в режиме F7.

; MOVLW D'255'; для отладки Timer2.

; MOVWF TMR1H; для отладки Timer2.

; MOVLW D'254'; для отладки Timer2.

; MOVWF TMR1L; для отладки Timer2.

BCF PIR1, TMR1IF; сброс флага переполнения таймера в каждом цикле.

BSF T1CON, TMR1ON; пуск таймера TMR1.

; Следующие три строки это циклы работы таймера TRM1.

M_ TRM1; метка

BTFSS PIR1, TMR1IF; проверка флага перепол­нения таймера

GOTO M_ TRM1; если флага нет, то цикл TRM1 продолжается.

DECFSZ T_reg, F; уменьшаем число в регистре и проверяем на ноль.

GOTO M_T_reg; (только при Z=0) время не кончилось, повторяем цикл.

RETURN

END