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

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. Если появится какой-либо открытый проект, закройте его командамиProjectClose 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.

Оба файла выделить значком «флажок».

Нажимаем кнопку «Далее» и в следующем окне кнопку «Готово».

Результат создания проекта выглядит таким образом: