МК

Система команд МК PIC16C7X (Отчет по лабе)

 

Цель работы: изучение системы команд микроконтроллера (МК) PIC16C7X; получение навыков программирования МК на языке Ассемблер.

 

Номер варианта задания: Var1;

Номер нажатой клавиши: N=1.

 

Графическая схема алгоритма

 

Листинг программы

Title “Lab1.asm”

 

 list p=16c74

 errorlevel 1, -(305)

 

#include “p16c74.inc”

 

Buf1 equ 20

Cnt equ 23

RxBuf equ 24

 

 org 0

 movlw 0

 movwf PCLATH

 goto Start

 

 org 100

 Start

 Call ConstInit

 

Priem call Receiv

 movlw 2

 xorwf PORTA, f

 

movlw 3

movwf Cnt

movlw Buf1

movwf FSR

 

bsf STATUS, C

movf RxBuf, w

 

Var1 movwf INDF

 rlf INDF, w

 addwf INDF, f

 iorwf INDF, f

 incf FSR, f

 decfsz Cnt, f

 goto Var1

End1

 

 movwf INDF

 incf FSR, f

 movf STATUS, w

 movwf INDF

 movlw 5

movwf Cnt

 movlw Buf1

movwf FSR

 

4)Результаты выполнения вручную операций с 8-разрядными двоичными числами в соответствии с текстом программы.

 

С

bin

hex

Команда

W

 

1

00110001

31

movwf INDF

31

31

0

01100011

63

rlf INDF,w

63

31

0

10010100

94

addwf INDF,f

63

94

0

11110111

F7

iorwf INDF,f

63

F7

 

С

bin

hex

Команда

W

 

0

01100011

63

movwf INDF

63

63

0

11000110

C6

rlf INDF,w

C6

63

1

00101001

29

addwf INDF,f

C6

29

1

11101111

EF

iorwf INDF,f

C6

EF

 

 

С

bin

hex

Команда

W

 

1

11000110

C6

movwf INDF

C6

C6

1

10001101

8D

rlf INDF,w

8D

C6

1

01010011

53

addwf INDF,f

8D

53

1

11011111

DF

iorwf INDF,f

8D

DF

 

5) Сводная таблица результатов

 

Команда

Ячейка

W

20

W

21

W

22

Пересылка

31

31

63

63

C6

C6

Сдвиг

63

31

C6

63

8D

C6

Арифметическая операция

63

94

C6

29

8D

53

Логическая операция

63

F7

C6

EF

8D

DF