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


Полезное:

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


Категории:

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






Лабораторная работа 5. Операции преобразования чисел





Цель работы: изучение и применение операций преобразования чисел с помощью инструкций BCF, BSF, COMF, SWAPF, RRF, RLF.

Инструкция BCF может применяться при необходимости выключения оборудования управляемого сигналом данного разряда порта С. Например, выключение тепловой завесы при открывании двери в теплую погоду.

Операция инверсии COM может применяться для одновременного изменения управляющих сигналов через определенные промежутки времени.

Операция обмена полубайтами SWAP может применяться для изменения параметров пары однотипного оборудования по очереди.

Инструкции сдвига (RRF, RLF) используются при выполнении операций умножения и деления, при последовательной передаче данных нескольким объектам и для других целей. Они могут применяться при управлении протяженным оборудованием. Например, при окрашивании, охлаждении или нагреве деталей во время их движения на конвейере.

При сдвиге во всех случаях бит, сдвигаемый из регистра, записывается в бит CARRY регистра STATUS, а бит из CARRY записывается в другой конец регистра. При сдвиге налево бит из CARRY записывается в младший бит регистра, а при сдвиге вправо - в старший бит.

Во фрагменте программы 5.1 показано применение операций инверсии, очистки бита, обмена полубайтами и сдвига вправо. Назначение операций описано выше. Предполагается, что порт С настроен на вывод. Разберитесь зачем в бит С регистра status был записан нуль перед сдвигом вправо.

Фрагмент программы 5.1.

MOVLW B'11110000'; Запись константы в аккумулятор W.

MOVWF PORTC; Копирование константы из W в PORTC.

COMF PORTC, 1; Инвертирование порта С.

MOVWF PORTC; Копирование константы из W в порт С.

BCF PORTC, 7; Сброс седьмого бита порта С.

MOVWF PORTC; Копирование константы из W в порт С.

SWAPF PORTC, 1; Обмен полубайтами порта С.

BCF STATUS, 0; Запись нуля в бит С регистра status для; правильного выполнения сдвига.

MOVWF PORTC; Копирование константы из W в порт С.

RRF PORTC, 1; Сдвиг вправо. Результат записываем в порт С.

RRF PORTC, 1; Сдвиг вправо. Результат записываем в порт С.

RRF PORTC, 1; Сдвиг вправо. Результат записываем в порт С.

 

Выполнение лабораторной работы на УМК-7

Оформите фрагмент 5.1 как программу и введите ее в микроконтроллер.

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

Сравните полученные результаты с данными в таблице 5.1.

Таблица 5.1- Результаты работы инструкций

Числа на входе Инструкция Числа на выходе в порте С
Форма b Форма h Форма b Форма h
  F0 COMF   0F
  F0 BCF (7-й бит)    
  F0 BSF (3-й бит)   F8
  F0 SWAP   0F
  F0 E1 С2 RLF RLF RLF   E1 С2
  F0 3C RRF RRF RRF   3C 1E
  F0 BCF (7-й бит)    
  F0 BSF (1-й бит)    

 

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

Варианты Заданные значения входного числа Выключе-ние бита Включе-ние бита Варианты Заданные значения входного числа Выключе-ние бита Включе-ние бита
               
               
               
             
          АВ    

 

Подготовьте программу для ввода в микроконтроллер по заданию из таблицы 5.2, в которой выполняются указанные ниже действия:

а) напишите строки, использующую инверсию, так, чтобы светодиоды, подключенные к регистру PORTC, зажигались на ‘0’ и не зажигались на ‘1’, записанные в разрядах исходного числа;

б) напишите строки, которые при любом исходном числе выполняют:

1) выключение заданного светодиода, используя инструкцию BCF;

2) зажигают заданный светодиод, используя инструкцию BSF;

в) напишите строки, которые меняют полубайты местами;

г) напишите строки, которые преобразуют исходные числа c помощью операций сдвига. Сдвиг выполните три раза.

Запустите подготовленную по заданию 5.2 программу. Результаты работы всех операций с числами запишите в таблицу 5.1.

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

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

2. Почему для записи чисел использованы адреса начиная с 20h?

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

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

5. Как происходит сдвиг вправо (влево). Какой бит регистра status меняется при выполнении операции сдвига?

6. Расскажите о применении операции сдвига.

7. Расскажите об операции «инверсия» и ее применении.

8. Расскажите об операции «обмен полубайтами» и ее применении.

 

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



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