
На сортировку / 5 / 77724 / Almas YaITP_3_laba
.docxНекоммерческое акционерное общество
«АЛМАТИНСКИЙ УНИВЕРСИТЕТ ЭНЕРГЕТИКИ И СВЯЗИ»
Кафедра «Инженерной кибернетики»
Лабораторная работа № 3
По дисциплине Программное обеспечение программируемых логических контроллеров
Специальность «5В070200 – Автоматизация и управление»
Выполнил Адаев А.С. . Группа АУТ-15-5
(Ф.И.О.)
Принял доцент Федоренко И.А.
(ученая степень, звание, Ф.И.О.)
__________ ________________ «_____»________________2017 г.
(оценка) (подпись)
Алматы
2017
Задание: Даны четыре двоичных числа. Найти минимум в диапазоне чисел, больших К1 и меньших или равных К2, где К1<K2.
R1='00000110'
R2='11111110'
R3='10101110'
R4='10111001'
MIN='11111111'
K1='00000001'
K2='11111110'
Код программы:
include<p16f877.inc>
R1 EQU h'20'
R2 EQU h'21'
R3 EQU h'22'
R4 EQU h'23'
K1 EQU h'24'
K2 EQU h'25'
MIN EQU h'26'
org 0x000
nop
nop
nop
START
CLRF STATUS
BSF STATUS, 5
CLRF TRISC
CLRF STATUS
CLRF PORTC
MOVLW B'11111111'
MOVWF MIN
MOVLW B'00000110'
MOVWF R1
MOVLW B'11111110'
MOVWF R2
MOVLW B'10101110'
MOVWF R3
MOVLW B'10111001'
MOVWF R4
MOVLW B'00000001'
MOVWF K1
MOVLW B'11111110'
MOVWF K2
MOVF R1,0
SUBWF K1,0
BTFSC STATUS,C
GOTO PEREXOD
MOVF R1,0
SUBWF K2,0
BTFSS STATUS,C
GOTO PEREXOD
MOVF R1,0
SUBWF MIN,0
BTFSS STATUS,C
GOTO PEREXOD
MOVF R1,0
MOVWF MIN
PEREXOD
MOVF R2,0
SUBWF K1,0
BTFSC STATUS,C
GOTO PEREXOD2
MOVF R2,0
SUBWF K2,0
BTFSS STATUS,C
GOTO PEREXOD2
MOVF R2,0
SUBWF MIN,0
BTFSS STATUS,C
GOTO PEREXOD2
MOVF R2,0
MOVWF MIN
PEREXOD2
MOVF R3,0
SUBWF K1,0
BTFSC STATUS,C
GOTO PEREXOD3
MOVF R3,0
SUBWF K2,0
BTFSS STATUS,C
GOTO PEREXOD3
MOVF R3,0
SUBWF MIN,0
BTFSS STATUS,C
GOTO PEREXOD3
MOVF R3,0
MOVWF MIN
PEREXOD3
MOVF R4,0
SUBWF K1,0
BTFSC STATUS,C
GOTO PEREXOD4
MOVF R4,0
SUBWF K2,0
BTFSS STATUS,C
GOTO PEREXOD4
MOVF R4,0
SUBWF MIN,0
BTFSS STATUS,C
GOTO PEREXOD4
MOVF R4,0
MOVWF MIN
PEREXOD4
MOVWF PORTC
END
Результат компиляции:
Блок-схема алгоритма программы: