logo search
МУ ЦТ и МК для стенда 2013

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

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

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

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

MOVLW B'11110011' ; это число D’243’.

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

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

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

11110011

-

COMF

00001100

-

11110011

-

BCF (7-й бит)

01110011

-

11110011

-

BSF (3-й бит)

11111011

-

11110011

H’F3’

SWAPF

00111111

H’3F’

11110011

01111001

00111100

01111000

D’243’

D’121’

D’60’

D’120’

RRF

RRF

RLF

RLF

01111001

00111100

01111000

11110000

D’121’

D’60’

D’120’

D’240’

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

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

Вариант

Заданное входное число

Номер очищаемого бита

Номер устанавливаемого бита

Вариант

Заданное входное число

Номер очищаемого бита

Номер устанавливаемого бита

1

h ‘D1’

1

0

6

h ‘B6’

6

5

2

h ‘E2’

2

1

7

h ‘F7’

7

6

3

h ‘B3’

3

2

8

h ‘C8’

0

7

4

h ‘C4’

4

3

9

h ‘99’

1

0

5

h ‘D5’

5

4

10

h ‘АA’

2

1