Студопедия

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

Разделы сайта

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






Исходные данные и задание

Микропроцессорные системы в электроэнергетике

Лабораторная работа №4 Операции преобразования информации    

 

 


Выполнил: ст.гр. Эк-13-1 Калкаманов Н.С.

Проверил(а): _________________________

 

Алматы 2015

Операции преобразования информации

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

Теоретические сведения

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

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

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

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

 

Исходные данные и задание

 

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

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

NACH; метка повтора цикла программы.

MOVLW B'11001000'; это число D’200’.

MOVWF PORTC; записываем W в PORTC.

COMF PORTC, F; инвертируем PORTC.

MOVWF PORTC; восстанавливаем PORTC из W.

BCF PORTC, 0; очищаем седьмой бит.

MOVWF PORTC; восстанавливаем PORTC из W.

BCF PORTC, 7; устанавливаем третий бит.

MOVWF PORTC; восстанавливаем PORTC из W.

SWAPF PORTC, F; обмен полубайтами регистра PORTC.

MOVWF PORTC; восстанавливаем PORTC из W.

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

RRF PORTC, F; делим на 2. Результат записываем в PORTC.

BCF STATUS, 0

RRF PORTC, F; делим на 2 содержимое PORTC.

BCF STATUS, 0

RLF PORTC, F; умножаем на 2 содержимое PORTC.

BCF STATUS, 0

RLF PORTC, F; умножаем на 2 содержимое PORTC.

GOTO NACH

END

 

Оформите фрагмент 4.1 как программу и введите программу в микроконтроллер. Сравните полученные результаты с данными в таблице 4.1.

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

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

Числа на входе Инструкция Числа на выходе PORTC
Форма b Форма h или D Форма b Форма h или D
  - COMF   -
  - BCF (0-й бит)   -
  - BSF (7-й бит)   -
  H’AA’ SWAPF   H’AA’
  D’200’ D’100’ D’50’ D’100’ RRF RRF RLF RLF   D’100’ D’50’ D’100’ D’200’

 

 

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

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

Вариант Заданное входное число Номер очищаемого бита Номер устанавливаемого бита Вариант Заданное входное число Номер очищаемого бита Номер устанавливаемого бита
  h ‘D1’       h ‘B6’    
  h ‘E2’       h ‘F7’    
  h ‘B3’       h ‘C8’    
  h ‘C4’       h ‘99’    
  h ‘D5’       h ‘АA’    

 

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

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

2. Какие адреса используются для РОН?

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

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

5. Как происходит сдвиг вправо (влево).

6. Как регистр Status участвует ввыполнении операций сдвига?

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

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

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

10. Что должно быть записано в бите Carry для правильного выполнения умножения или деления.

11. Как настроить PORTC на выход?

12. Как определить с каким банком работает программа?

13. Почему после деления 243 на 4 и умножения частного на 4 не было получено исходное число?

 

<== предыдущая лекция | следующая лекция ==>
Природные ресурсы | Введение. Федеральное государственное бюджетное образовательное учреждение




© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.