Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
эиуа экз шпоры.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
872.45 Кб
Скачать

35. Среда программирования mplab. Программа сравнения двух чисел. Алгоритм и программа поиска наибольшего числа. Алгоритм и программа поиска наименьшего числа.

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

BTFSC - Проверить бит b в регистре f, пропустить, если 0

Синтаксис: [label] BTFSC f,b Операция: пропустить, если (f<b>) = 0

Описание: Если бит b в регистре f равен '1' , то исполняется следующая инструкция.

Если бит b в регистре f равен 0 , то следующая инструкция не выполняется.

BTFSS - Проверить бит b в регистре f, пропустить если (f<b>) = 1

Синтаксис: [labef] BTFSS f,b Операция: Если бит b в регистре f равен ‘0’,

то следующая инструкция не выполняется.

Алгоритм и программа поиска наибольшего числа.

MOVLW B’Число 1’ ; Число 1  W

MOVWF R1 ; W  R1

MOVWF UMENSH ; W UMENSH

MOVLW B’Число 2’ ; Число 2 W

MOVWF R2 ; W  R2

SUBWF UMENSH,1 ; UMENSH= UMENSH – W=

= R1 – R2

BTFSS STATUS,C ; C = 1?

MOVF R1,0 ; R1  W

MOVWF PORTC ; W  PORTC

36. Среда программирования mplab. Команды, используемые для программ разветвленной структуры btfsc, btfss, goto. Описание работы, используемые параметры. Использование флагов регистра status.

BTFSC Пропуск следующей команды если бит сброшен, Синтаксис:[label] BTFSC f,b. Операция: Пропуск если f=0 Описание: В случае если бит b в регистре f равен 0 вместо следующей по списку команды выполняется пустая операция (NOP) растягивая выполнение данной команды на 2 цикла. Значение бита доступа к памяти a обрабатывается стандартным образом (по умолчанию a=1)Пример

HERE BTFSC FLAG,1

FALSE :

TRUE :

Перед выполнением:PC = адрес(HERE)

После выполнения:если FLAG<1>=0, PC = адрес TRUE если FLAG<1>=1, PC = адрес FALSE

BTFSS - пропустить команду, если бит равен единице. Синтаксис: BTFSS f, b. Операция: Пропустить, если f(b) = 1. Описание: Если бит b регистра f равен 0, выполняется следующая команда. Если бит b регистра f равен 1, следующая команда, считанная в текущем командном цикле, игнорируется, и вместо нее в следующем цикле выполняется NOP, в результате команда выполняется за два цикла. Пример:

MOVLW B’Число 1’ ; Число 1  W

MOVWF R1 ; W  R1

MOVWF UMENSH ; W UMENSH

MOVLW B’Число 2’ ; Число 2 W

MOVWF R2 ; W  R2

SUBWF UMENSH,1 ; UMENSH=UMENSH – W = R1 – R2

BTFSS STATUS,C ; C = 1?

MOVF R1,0 ; R1  W

MOVWF PORTC ; W  PORTC

GOTO метка. Параметр "метка" задает строку командного файла, на которую должна перейти MS-DOS. Метка не может включать в себя разделители (пробелы, точки с запятой или знаки равенства). GOTO использует первые 8 символов каждой метки. LOOP ; Метка.

CLRF PORTС ; Очистить порт С.

MOVLW B’11111111’ ; Записать в W двоичное число.

MOVWF PORTС ; Записать в порт С восемь единиц.

MOVLW B’00111100’ ; Записать в W двоичное число.

MOVWF PORTС ; Записать его в порт С.

GOTO LOOP ; Вернуться на метку LOOP. END

37. Среда программирования MPLAB. Программа сложения и вычитания трех и более операндов. Описательная, установочная и исполнительная части программы. Назначение команд и используемые параметры. Алгоритмы для сложения и вычитания двух и более операндов в среде MPLAB.