Некоммерческое акционерное сообщество
«АЛМАТИНСКИЙ УНИВЕРСИТЕТ ЭНЕРГЕТИКИ И СВЯЗИ»
Кафедра «Автоматизация и управление»
ОТЧЕТ
По лабораторной работе №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. Так как машинный результат совпал с ручным счетом правильность выполнения программы подтверждается.
Достарыңызбен бөлісу: |