Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУ ЛРМК 2014 (Восстановлен).doc
Скачиваний:
11
Добавлен:
01.05.2015
Размер:
2.1 Mб
Скачать

2.2 Исходные данные и выполнение программы

Задача. Создать программу, поясняющую функции регистровTRISпо настройке разрядов соответствующих портов на ввод или вывод. Программа должна содержать разделы, присущие полноценной программе:

- присвоение имен определенным РОН;

- указания по записи программы в память программ;

- настройка необходимых регистров;

- рабочая часть программы.

Cоединить проводами выводыPORTCс гнездами сигнальных ламп как показано на рисунке 2.2.

Рисунок 2.2 – Схема подключения сигнальных ламп на пульте

Управление технологическим оборудованием выполняется программой 2.1. Заголовок программы записывается через 5 отступов (одно нажатие Tab). После точки с запятой в программе печатаются комментарии, которые пропускаются компилятором.

Программа 2.1:

Include<p16F877А.inc>; подключение библиотеки символьных имен РСН.

;В этой части программы отдельным РОН присваиваются имена, имена ;пишут без отступа, далее пробел Tab, пишем EQU(указатель EQU от equal ;(англ.) – одинаковый, равносильный), один пробел и адрес РОН

;если нет необходимости в создании именованных РОН,то этой части ;нет

Con EQU h'25'

Con1 EQU h'26'

;В этой части пишутся указания по записи созданной программы в память ;программ

org h’00’; следующая инструкция (NOP) будет записана в память программ по адресу ;h’00’.

nop; инструкция, для работы отладчика будет записана по адресу h’00’.

nop; инструкция будет записана по адресу h’01’ памяти МК.

nop; инструкция будет записана по адресу h’02’ памяти МК.

;Регистр памяти с адресом h'04' зарезервирован для записи имени ;программы, которая запускается для обработки появившегося прерывания

org h’05’; дальнейший код будет записан начиная с адреса h’05’

;Инструкции для настройки МК.

CLRF STATUS; очищаем 5,6,7 бит регистраStatus и выбираем нулевой ;банк.Биты 0-4 после выполнения данной инструкции равны 1. Между ;инструкциейCLRFи именем регистра один пробел. Сохранить окноWatch

BSF STATUS,5; записав в 5-й разряд ‘1’ (без пробела после инструкции), выбираем ;первый банк.

MOVLW B'11110000'; пересылаем в аккумулятор W число В’11110000’, ;соответствующее заданию по настройке выходов порта PORTC

;Настраиваем регистр TRISC в режим, разрешающий вывод энергии из ;защелок PORTC на выход в тех разрядах, которые соответствуют заданию

MOVWF TRISC; настраиваем биты 0-3 PORTC на вывод, а биты 4-7 на ввод

BCF STATUS,5; возвращаемся в нулевой банк, в нем будет работать рабочая часть

; Рабочая часть программы

NACH; метка, на которую возвращаемся после выполнения инструкции ;GOTO

MOVLW B'11111111'; пересылаем в аккумулятор W число В’11111111’.

MOVWF PORTC; убеждаемся по сигнализации, что зажигаются только ;лампочки в 0-4 разрядах в соответствии с настройкой регистра TRISC по ;заданию

; сохранить окно

BCF PORTC,0; отключаем лампу по заданию.

; сохранить окно

BSF PORTC,0; включаем лампу по заданию.

MOVLW B'10000001';засылаем второе число по заданию в аккумулятор

MOVWF Con; засылаем эту константу в регистрCon

CLRW ;очистка аккумулятора, проверьте в окнеWatch

MOVF Con,w; засылаем константу из регистраConв аккумулятор

; сохранить окно

MOVWF PORTC;остаются гореть только лампы по заданию

; сохранить окно

GOTO NACH; переход на меткуNACHдля повторения.

END; конец программы.

На основе образца подготовьте программу для своего варианта.

Т а б л и ц а 2.1 – Варианты заданий

1

2

3

4

5

6

TRISC

11111000

11110000

11100000

11000000

10000000

00000000

Бит измен-й

1

2

3

4

5

6

2-е число

10000001

10000010

10000011

10000100

10000101

00000110

Таблица 2.2 – Варианты заданий

7

8

9

10

11

12

TRISC

00111111

00011111

00001111

00000111

00000011

00000001

Бит измен-й

7

6

5

4

5

6

2-е число

10000001

11000010

11100011

11110100

11111001

11111100

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]