Отчет по лабораторной работе №1. По дисциплине: Программирование цифровой техники и микроконтроллеров управления



Дата27.09.2022
өлшемі243,94 Kb.
#150860
түріОтчет
Байланысты:
No1 -20-12


Некоммерческое акционерное сообщество
«АЛМАТИНСКИЙ УНИВЕРСИТЕТ ЭНЕРГЕТИКИ И СВЯЗИ»

Кафедра «Автоматизация и управление»



ОТЧЕТ
По лабораторной работе №1.
По дисциплине: Программирование цифровой техники и микроконтроллеров управления
Специальность: Автоматизация и управление.
Выполнила: Мухаметкали Бекжан
Группа: АИСУ-20-12
Принял: Федоренко И.А.

___________ ____________ «_____» __________2022 г.


(оценка) (подпись)

Алматы 2022 г.


Задание: Даны четыре двоичных числа R1, R2, R3, R4. Произвести следующие действия: R3 – R1, R2-R4 полученные разности записать в переменные S1, S2, результаты сложить и поместить в S3.
Порядок выполнения работы:
1. С помощью двоичной арифметики для своего варианта вручную выполнить указанные в задании действия.
2. Написать программу на языке Ассемблер для вычисления выбранных чисел.
3. Получить результат выполнения программы в Proteus. Подтверждением правильности выполнения программы является совпадение машинных результатов ручному счету.

Даны числа:


R1=10011011
R2=01110010
R3=11011001
R4=00111101
S1=R3-R1
S2=R2+R4
S3=S2-S1

Для выполнения задания в программе будут использоваться следующие команды:





ADDWF f,d

Сложение аккумулятора W и регистра f

CLRF f

Очистить регистр f

MOVF f,d

Переслать значение из регистра f в аккумулятор W

MOVWF f

Переслать из аккумулятора W в регистр f

SUBWF f,d

Вычесть значение аккумулятора W из регистра f

GOTO k

Безусловный переход по адресу k

Ручной счет указанных действий с помощью двоичной арифметики:



Рисунок 1 – ручной счет

Составление программы на языке Ассемблер:
#include p16f877.inc
RST code 0x0
goto Start

PGM code
R1 equ h'20'


R2 equ h'21'
R3 equ h'22'
R4 equ h'23'
S1 equ h'24'
S2 equ h'25'
S3 equ h'26'

Start
CLRF STATUS


BSF STATUS ,RP0
CLRF TRISC
CLRF STATUS
CLRF PORTC
Loop
MOVLW B'10011011'
MOVWF R1
MOVLW B'01110010'
MOVWF R2
MOVLW B'11011001'
MOVWF R3
MOVLW B'00111101'
MOVWF R4

MOVF R3,0


SUBWF R1,0
MOVWF S1

MOVF R2,0


ADDWF R4,0
MOVWF S2

MOVF S2,0


SUBWF S1,0
MOVWF S3

MOVF S3,0


MOVWF PORTC

goto Loop


END


Рисунок 2 - Скрин работающей программы с выводом S3

Вывод:
В ходе выполнения данной лабораторной работы было выполнено задание, где даны четыре двоичных числа R1, R2, R3, R4. Произведены следующие действия: R3 – R1, R2-R4 полученные разности записаны в переменные S1, S2, результаты сложены и присвоены S3. Для начала, помощью двоичной арифметики вручную были выполнены указанные в задании действия. Затем написана программа на языке Ассемблер для вычисления выбранных чисел. Получен результат выполнения составленной программы в Proteus. Так как машинный результат совпал с ручным счетом правильность выполнения программы подтверждается.

Достарыңызбен бөлісу:




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет