- •Микропроцессорные системы в электроэнергетике
- •Алматы 2013
- •Введение
- •1 Системы счислений. Карта памяти микроконтроллера
- •1.1 Краткие теоретические сведения
- •1.2 Задания
- •"Умк-mini"
- •1.3 Контрольные вопросы
- •2 Изучение среды mplab. Управление оборудованием
- •2.1 Краткие теоретические сведения и задания для внеаудиторной подготовки
- •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 Контрольные вопросы
- •Приложение а Системы счислений
- •Приложение д Описание инструкций мк pic
- •Приложение е Модуль таймера tmr1
- •Список литературы
- •Содержание
- •050013, Алматы, Байтурсынова, 126
10.2 Исходные данные
В таблице 10.1 показано назначение битов PORTC и клавиатуры.
Т а б л и ц а 10.1 – Назначение битов PORTC и контактов клавиатуры
Регистр PORTC |
Кнопки клавиатуры |
Действия кнопок |
0 разряд - предупреждающая звуковая сигнализация S1 |
5 или 6 |
Фотодатчики |
1 разряд – двигатель конвейера D1 |
|
|
2 разряд – двигатель D2 упаковочного механизма |
|
|
3 разряд – световая сигнализация L1 |
|
|
7 разряд – световая сигнализация работы L2 на пульт |
|
|
Блок – схема программы для упаковочной машины приведена на рисунке 10.1.
Рисунок 10.1 – Блок-схема
Фрагменты программы.
include<p16F877.inc>
Sch_in EQU H'22'; счетчик внутреннего цикла задержки.
Sch_out EQU H'23'; счетчик внешнего цикла задержки.
Sch3 EQU H'24'; счетчик третьего цикла задержки.
KOL_IZOL EQU h'25'; регистр для записи количества изоляторов.
KOL_KOROB EQU h'28'; регистр для хранения количества коробок.
; Инструкции по настройке МК опущены.
MOVLW b'00001111'
MOVWF TRISD; настраиваем PORTD: биты 0-3 на ввод, 4-7 на вывод.
BCF STATUS, 5
MOVLW b'11110000'
MOVWF PORTD; подаем питание на клавиатуру.
CLRF PORTC; очищаем PORTC от мусора.
CLRF KOL_KOROB
; Рабочая часть программы
MOVLW B'10000001'
MOVWF PORTC; включаем сигнализацию L2 на пульт и сирену S1.
MOVLW d'60'; время работы предупредительной сирены.
CALL Timer
BCF PORTC, 0; выключаем сирену S1.
BSF PORTC, 1; включаем транспортер D1.
M1 CLRF KOL_IZOL
Prov_dat
BTFSS PORTD, 2; проверяем срабатывание датчиков (кнопки "5", "6").
GOTO Prov_dat
MOVLW D'10'
Call Timer; убираем дребезг контактов клавиатуры.
INCF KOL_IZOL, F; фиксируем поступление изолятора в коробку.
MOVLW D'2';
XORWF KOL_IZOL, W; W=KOL_IZOL XOR B'00000010'.
BTFSC STATUS, Z; проверяем Z = 0?
BSF PORTC, 3; только при Z=1, включаем лампочку L1.
MOVLW D'4';
SUBWF KOL_IZOL, W; W=KOL_IZOL-4.
BTFSS STATUS, Z; проверяем разность KOL_IZOL-4=0?
GOTO Prov_dat; выполняется только при Z=0.
MOVLW b'10000110'; при Z=1, заменить коробку и выключить L1.
MOVWF PORTC; пересылаем информацию в PORTC.
INCF KOL_KOROB, F; фиксируем заполнение очередной коробки.
MOVLW d'50'; время смены коробок.
CALL Timer
BCF PORTC, 2; выключаем механизм замены коробок.
GOTO M1; начинаем заполнение новой коробки.
GOTO$
Timer; Подпрограмма Timer. Приведены только три строки.
MOVWF Sch3
; RETURN; включить команду при отладке программы в режиме F7.
M3 MOVLW D'150' . . .
RETURN; конец подпрограммы Timer.
END; конец текста всей программы.
В приведенной программе не используется кнопка Stop, поскольку она здесь не будет срабатывать.
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 показано окно наблюдения.
Продемонстрируйте работу программы преподавателю.
