- •Микропроцессорные системы в электроэнергетике
- •Алматы 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
2.2 Исходные данные
Задача. Создать программу для ручного управления окрасочной камерой. При подаче питания 220 вольт включается сигнальная лампа на пульте оператораL2 о включении окрасочной камеры. Окрашиваемая деталь поступает в камеру по конвейеру, после чего включается звуковая предупреждающая сигнализацияS1. Затем включается двигатель краскораспылителяD1, вентилятораD2, сигнал на пульт оператора о работе камерыL1. После окрашивания двигатель краскораспылителяD1 выключается, после проветривания выключается двигатель вентилятораD2 и лампочкаL1. После поступления новой детали процесс окраски повторяется. Указанное оборудование подключается к битамPORTC(см. рисунок 2.1). На УМК-7 технологическое оборудование имитируется светодиодами.
Рисунок 2.1 – Схема подключения оборудования
Управление технологическим оборудованием выполняется программой 2.1. После точки с запятой в программе напечатаны комментарии, которые пропускаются компилятором.
Программа 2.1:
Include<p16F877.inc>; подключение библиотеки символьных имен РСН.
org h’00’; следующая инструкция (NOP) будет записана по адресу h’00’.
nop; инструкция, для работы отладчика будет записана по адресу h’00’.
nop; инструкция будет записана по адресу h’01’ памяти МК.
nop; инструкция будет записана по адресу h’02’ памяти МК.
org h’05’; дальнейший код будет записан начиная с адреса h’05’.
; Инструкции для настройки МК
CLRF STATUS; очищаем регистр Status и выбираем нулевой банк.
BSF STATUS, 5; записав в 5-й разряд ‘1’, выбираем первый банк.
CLRF TRISC; обнуляем TRISC и настраиваем PORTC на вывод.
BCF STATUS, 5; возвращаемся в нулевой банк, в нем находятся нужные регистры.
;Рабочая часть программы
MOVLW B'10000000'; пересылаем в регистр W число В’10000000’.
MOVWF PORTC; включаем сигнализацию L2 на пульт оператора.
Sled_det BSF PORTC, 0; включаем предупреждающую сигнализацию S1.
MOVLW B'10001110'; пересылаем в регистр W число В’10001110’.
MOVWF PORTC; включаем двигатели D1 и D2, сигнализацию L1.
BCF PORTC, 2; выключаем двигатель D1 (D2, L1 и L2 работают).
MOVLW B'10000000'
MOVWF PORTC; выключаем вентилятор D2, сигнализацию L1.
GOTO Sled_det; переход на метку Sled_det для повторения.
END; конец программы.
На основе образца подготовьте программу для своего варианта.
Т а б л и ц а 2.1 – Варианты заданий
Вариант |
Биты подключения 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 |
2.3 Выполнение проекта на умк-7
1. Запустите MPLAB. Если появится какой-либо открытый проект, закройте его командамиProject –Close Projectв основном менюMPLAB.
Откройте новый лист в меню File\New, не создавая проекта, и напечатайте в окне редактора программу 2.1. При наборе текста программы применяйте регистр букв такой же, как в образце. С первой позиции печатаются метки и символьные имена регистров, с шестой позиции печатаются инструкции.
Программа 2.1:
Include<p16F877A.inc>;
ORG h'00';
NOP;
NOP;
NOP;
ORG h'05';
CLRF STATUS;
BSF STATUS ,5;
CLRF TRISC;
BCFSTATUS,5;
MOVLWB'1000000';(число вводим согласно варианту) *
MOVWFPORTC;
Sled_det
BSFPORTC,0; (разряд согласно варианту)
MOVLWB'10001110'; (число вводим согласно варианту)
MOVWFPORTC;
BCFPORTC,2; (разряд согласно варианту)
MOVLWB'10000000'; (число вводим согласно варианту)=*
MOVWF PORTC;
GOTO Sled_det;
end
2.Сохраняем файлс помощью File\Saveas(тип файла –AssemblySourceFiles(*.asm)) в папке (по пути-Мой компьютер\SystemC:\ProgramFiles\Microchip\Docs\название группы лат.буквами.\номер подгруппы или название лат.буквами).
3.Создаем проект командой Project Wizzard
В появившемся диалоговом окне нажать кнопку «Далее».
В следующем окне указать тип микроконтроллера PIC16F877Aи нажать кнопку«Далее».
В следующем окне нажать кнопку «Далее», не изменяя НИКАКИХ параметров.
Заполните поле Projectname(ввести имя проекта) и в полеProjectDirectoryуказать путь проекта(ранее созданная Вами папка по пути Мой компьютер\SystemC:\ProgramFiles\Microchip\Docs\название группы лат.буквами.\номер подгруппы или название лат.буквами).
Нажимаем кнопку «Далее».
В следующем окне спомощью кнопки «Add», добавить с левого окна в правое:
- файл P16F877A.INC Мой компьютер\System C:\Program Files\Microchip\Docs\Test_1\ P16F877A.INC;
- файл с набранной Вами программой 2.1 по пути Мой компьютер\SystemC:\ProgramFiles\Microchip\Docs\название группы лат.буквами.\номер подгруппы или название лат.буквами\studentname.asm.
Оба файла выделить значком «флажок».
Нажимаем кнопку «Далее» и в следующем окне кнопку «Готово».
Результат создания проекта выглядит таким образом: