Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка АК Ч1.doc
Скачиваний:
39
Добавлен:
13.11.2019
Размер:
977.41 Кб
Скачать
    1. Изучение команд передачи управления и программирование алгоритмов с ветвлением для микроконтроллеров mcs-51

Цель работы: изучить команды передачи управления однокристальных микроконтроллеров MCS-51 и освоить составление программ с ветвлением.

Задание

  1. Изучить команды передачи управления микроконтроллеров MCS-51 для выполнения логических операций: JZ, JNZ, JC, JNC.

  2. Разработать блок-схему алгоритма решения задачи в соответствии с вариантом индивидуального задания (табл. 3.1);

  3. Составить текст программы на языке ассемблера MCS-51;

  4. Подготовить тесты для составленной программы и выполнить контрольный расчет.

При выполнении работы в учебной компьютерной аудитории:

  • набрать текст программы и выполнить её отладку;

  • выполнить тестирование программы и проверить результаты её работы в отладчике;

  • сделать выводы.

Содержание отчета

  1. Титульный лист.

  2. Цель работы, индивидуальное задание (табл. 1).

  3. Блок-схема алгоритма решения задачи.

  4. Текст программы.

  5. Результаты тестирования программы.

  6. Выводы.

Таблица 3.1 Варианты индивидуальных заданий

№ варианта

Функция

Размещение

1

X1 – 14h

X2 – 15h

Y – 1Ah

2

X1 – 10h

X2 – 12h

Y – 16h

3

X1 – 20h

X2 – 22h

Y – 26h

4

X1 – 2Ah

X2 – 2Bh

Y – 2Ch

5

X1 – 2Ah

X2 – 2Bh

Y – 2Ch

6

X1 – 0Ah

X2 – 0Bh

Y – 0Ch

7

X1 – 2Ah

X2 – 2Bh

Y – 2Ch

8

X1 – 1Ah

X2 – 1Bh

Y – 1Ch

9

X1 – 0Ah

X2 – 0Bh

Y – 0Ch

10

X1 – 25h

X2 – 26h

Y – 27h

11

X1 – 19h

X2 – 1Ah

Y – 1Bh

12

X1 – 1Bh

X2 – 1Ch

Y – 1Dh

13

X1 – 2Dh

X2 – 2Eh

Y – 2Fh

14

X1 – 1Eh

X2 – 1Fh

Y – 20h

Пример выполнения лабораторной работы №4

(7+2x1)/(x2-2x1) , 2x1≠x2

Y=

4x2+5x1 , 2x1=x2

X1=1ah

X2=1bh

Y=1ch

Текст программы:

$INCLUDE(C:\MK5 l\Compiler\ASM51\MOD\MOD51)

org 0

start:

mov 1ah,#4 ;записать в 1ah число x1

mov 1bh,#0bh ;записать в 1bh число x2

mov a,1ah ;записать в А значение 1ah

mov b,#2 ;записать в B число 02h

mul ab ;умножить число в А на число в B результат - в А

subb a,1bh ;вычесть из числа в А число в 1bh результат - в А

jz m1

mov a,1ah ;записать в А значение 1ah

mov b,#2 ;записать в B число 02h

mul ab ;умножить число в А на число в B результат - в А

mov 1dh,a ;записать в 1dh значение A

mov a,1bh ;записать в А значение 1bh

subb a,1dh ;сложить числа в А и 1dh результат - в А

mov b,a ;записать в B значение А

mov a,#7 ;записать в А число 07h

add a,1dh ;сложить числа в А и 1dh результат - в А

div ab ;раздельть число в A на число в B результат - в А

sjmp m2

m1:

mov a,1bh ;записать в А значение 1bh

mov b,#4 ;записать в B число 04h

mul ab ;умножить число в А на число в B результат - в А

mov 1dh,a ;записать в 1dh значение A

mov a,1ah ;записать в А значение 1ah

mov b,#5 ;записать в B число 05h

mul ab ;умножить число в А на число в B результат - в А

add a,1dh ;сложить числа в А и 1dh результат - в А

m2:

mov 1ch,a ;записать в 1ch значение A

ret

END

Блок-схема:

Результат программы: Y=5 при x1=4 и x2=11

Проверка:

2*4≠11; 8≠11

(7+2*4)/(11-2*4)=15/3=5

Y=52 при x1=4 и x2=8

Проверка:

2*4=8; 8=8

4*8+5*5*4=32+20=52

Вывод: В процессе выполнения лабораторной работы я изучил команды передачи управления MCS-51, закрепил использование арифметических команд и освоил использование команд MCS-51 для составления программ вычислений с ветвлением.

ЛАБОРАТОРНАЯ РАБОТА №4