Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Лабораторная работа 4. Сложение, вычитание. Логика





 

Цель работы: изучение инструкций ADDWF, ANDWF, IORWF, XORWF, SUBWF. Выполнение сложения, вычитания, применение логических функций.

Изучите формат инструкций ADDWF, SUBWF, ANDWF, IORWF, XORWF по приложению Г.

Операции сложения и вычитания применяются, например, для автоматизации учета количества автомашин на объекте, которые могут свободно въезжать и выезжать с территории через ворота.

В таблице 4.1 представлены логические функции, их таблицы истинности, условные обозначения и интерпретация на электрической схеме. Все логические операции выполняются поразрядно.

Логическая функция ‘ИЛИ’ (‘OR’) применяется для включения оборудования любой из двух кнопок. Например, запуск обогревателя кнопками, расположенными в разных местах помещения.

Логическая функция ‘И’ (‘AND’) применяется для включения оборудования только в том случае, если включены оба контакта. Например, освещение в помещении автоматически включается при низкой освещенности и наличия в нем людей.

Логическая функция ‘Исключительно ИЛИ’ (‘XOR’) применяется для включения оборудования только в тех случаях, когда переключатели Х1 и Х2 находятся в разных положениях, причем оба переключателя имеют два контакта: нормально замкнутый и нормально разомкнутый. С помощью схемы по этой функции можно управлять, например, освещением длинного тоннеля. С любого конца тоннеля можно включить или выключить освещение.


 

Таблица 4.1 –Логические функции Y=f(X1,X2)

Инструк- ция Таблица истинности Условное обозначение Интерпретация на электрической схеме
Х1 Х2 Y
IORWF Функция ИЛИ         Х1 Y   Х2 Х1   Х2 При замыкании любого контакта в цепи будет ток
ANDWF Функция ИЛИ         Х1 Y   Х2 X1 X2 Ток в цепи будет только при замыкании обоих контактов
XORWF Функция Исключи- тельно ИЛИ         Х1 Y Х2 X1 X2   X2 X1 Ток в цепи будет только тогда, когда переключатели X1 и X2 будут в разном положении

Изучите программу 4.1, которая выводит результаты работы разных логических функций с двумя константами FAh и 02h в порт С.

Внимание! Перед шестнадцатеричным числом, начинающимся с буквы, например, FAh, в тексте программы пишется нуль. Это делается для того, чтобы отличить число от символьного имени или инструкции, которые всегда начинаются с буквы.

Программа 4.1 выполняет контроль наличия оборудования на складе при его поступлении и выдачи инструкциями SUBWF и ADDWF. С помощью логических функций выполняется запрет или разрешение подачи энергии по различным фидерам.

include <p16F877.inc>

R1 EQU h’20’; R1 - символьное имя регистра по адресу 20h.

R2 EQU h’24’; R2 - символьное имя регистра по адресу 24h.

org 0x000

nop

nop

nop

org 05h

START; Начало исполняемой части программы.

CLRF STATUS; Очистка регистра, выбор банка 0.

BSF STATUS, 5; Выбор банка ‘1’.

CLRF TRISC; Настроить все биты PORTC на вывод.

CLRF STATUS; Возврат в банк ‘0’.

CLRF PORTC; Записать в PORTC нули (потушить светодиоды).

MOVLW B‘11111010’; Запись константы FAh в W.

MOVWF R2; Запись константы FAh в регистр R2.

MOVLW B‘00000010’; Запись константы 02h в W.

MOVWF R1; Запись константы 02h в регистр R1.

SUBWF R2, 0; Вычитание R2 - W (R1). Результат оставляем в W.

MOVWF PORTC; Загрузить содержимое W в регистр PORTС.

MOVF R2, 0; Запись константы FAh в регистр W.

ADDWF R1, 0; Сложение R1+ W (R2). Результат оставляем в W.

MOVWF PORTC; Переслать содержимое W в регистр PORTС

MOVF R2, 0; Запись константы FAh в регистр W из R2.

ANDWF R1, 0; Логическое умножение R1 AND W(R2), результат; оставляем в W.

MOVWF PORTC; Загрузить содержимое W в порт С.

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

Введите описанную программу в микроконтроллер.

Внимание! Не забывайте создавать окно наблюдения для всех применяемых в программе регистров в необходимом формате чисел.

Таблица 4.1- Результаты работы программы

Двоичные числа на входе Инструкция Числа на выходе в порте С
R1 R2 Форма b Форма h
    ADDWF (R1+W(R2))  
    SUBWF (R1-W(R2))   F8
    ANDWF(R1 and W(R2)    
    IORWF (R1 or W(R2))   FA
    XORWF (R1 xor W(R2))   F8

Подготовьте программу для ввода в микроконтроллер по заданию из таблицы 4.2, выполняющую указанные в таблице 4.1 инструкции.

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

Вари- ант Число R1 Число R2 Вари- ант Число R1 Число R2
           
           
           
           
           

 

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

1. Расскажите какую реальную задачу решает ваша программа

2. Что выполняет инструкция ADDWF? Когда она применяется?

3. Что выполнят инструкция SUBWF? Когда она применяется?

4. Что выполняет инструкция ANDWF? Когда она применяется?

5. Что выполняет инструкция IORWF? Когда она применяется?

6. Что выполняет инструкция XORWF? Когда она применяется?

7. Приведите инструкцию установки бита. Когда она применяется?

8. Приведите инструкцию сброса бита. Когда она применяется?

 

Date: 2015-05-09; view: 647; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.008 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию