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

3.4.4 Порядок проведения лабораторной работы

1. Создайте новый проект и введите программу, реализующую 1-й вариант задания в таблице 3.7. Листинг представлен на рисунке 3. 14.

2. Проанализируйте комментарии к программе.

3. Откомпилируйте проект и перейдите к режиму симуляции.

4. Откройте окна регистров специальных функций и ОЗУ данных.

5. Выполняя в пошаговом режиме (F7) проанализируйте содержимое регистров STATUS, FSR и ячеек памяти с 20h по 31h.

6. Дополните программу таким образом, чтобы после заполнения константой, программа очищала заполненную область.

#include P16F877.inc

;************** Программа SUMM *********************************

; Пример варианта задания: ITOG=((A2+A3)-A1)-1

;***************************************************************

A1 equ 20h ; Адрес 1-й переменной

A2 equ 21h ; Адрес 2-й переменной

A3 equ 22h ; Адрес 3-й переменной

ITOG equ 23h ; Адрес Итога арифметической операции

D1 equ 0Ah ; Значение 1-й переменной

D2 equ 2Ah ; Значение 2-й переменной

D3 equ 0Ch ; Значение 3-й переменной

org 0x00 ; адрес начала программы

goto start ; переход на метку start

org 0x06 ; адрес размещения основной программы

start bcf STATUS,RP0 ; установить 0 банк ОЗУ

bcf STATUS,RP1 ;

movlw D1 ; w=D1

movwf A1 ; A1=w=D1

movlw D2 ; w=D2

movwf A2 ; A2=w=D2

movlw D3 ; w=D3

movwf A3 ; A3=w=D3

movf A2,W ; w=A2

addwf A3,W ; w=w+A3

movwf ITOG ; ITOG=w

movf A1,W ; w=A1

subwf ITOG,F ; ITOG=ITOG-w

decf ITOG,F ; TOG=ITOG-1

end

Рисунок 3.14

Таблица 3.7 Задания к лабораторной работе № 4

вар.

A1

A2

A3

Задание

1

10

42

12

Сложить 2 и 3 переменные вычесть 1 переменную, провести декремент полученного результата

2

12

7

44

Вычесть из 3 переменной 2 и 1, провести инкремент результата

3

6

2

23

Вычесть из 3 переменной 2 и 1, провести декремент результата

4

23

21

4

Вычесть из первой переменной вторую и прибавить третью

5

5

5

5

Сложить 3 переменные, провести инкремент полученной суммы

6

73

3

8

Вычесть из первой переменной вторую и третью

7

45

4

32

Вычесть из первой переменной вторую и третью

8

12

21

8

Сложить 2 и 3 переменные вычесть 1 переменную, провести декремент полученного результата

9

6

52

3

Сложить 3 переменные, провести декремент полученной суммы

10

32

6

22

Вычесть из первой переменной вторую и третью

11

54

12

6

Вычесть из первой переменной вторую и третью, провести инкремент результата

12

27

5

35

Вычесть из 3 переменной разность 1 и 2 переменных

13

20

5

14

Вычесть из первой переменной вторую и третью, провести декремент результата

14

34

5

34

Сложить 3 переменные, провести декремент полученной суммы

15

5

15

25

Сложить 3 переменные, провести инкремент полученной суммы

16

43

23

1

Вычесть из первой переменной вторую и третью

17

7

43

2

Сложить 2 и 3 переменные вычесть 1 переменную, провести декремент полученного результата

18

10

12

47

Сложить 2 и 3 переменные вычесть 1 переменную, провести инкремент полученного результата

19

13

63

31

Вычесть из второй переменной первую и вторую, провести инкремент результата

20

57

11

3

Сложить 1 и 2 переменные вычесть 3 переменную, провести инкремент полученного результата

Примечание:

1. При выполнении задания, не открывая свой проект, и не создавая новый проект, создайте новый файл, напишите исходный текст программы, сохраните файл под своим именем с номером лабораторной работы с расширением *.asm. Среда MPLAB позволяет компилировать отдельно файл программы без создания нового проекта. Для этого, после сохранения файла, выберите в меню Project пункт Build Node. На рабочем поле появиться окно с параметрами компиляциями Invoke Build Tool. Нажмите «ОК».

2. При пошаговом выполнении программы вы можете использовать не только стандартные окна для отслеживания за изменением состояния регистров, но и создавать свои окна с переменными, внося в них, только интересующие вас регистры. Выберите в подменю Watch Window меню Window пункт New Watch Window. В результате на экране появится окно Add Watch Symbol (рисунок 3.15) со списком регистров и флагов, которые вы можете разместить в своем окне, включая, переменные созданных вами в программе. Выбрав необходимый вам регистр, или набрав его название в поле «Symbol:», нажмите кнопку «Add», выберите все интересующие вас регистры и флаги, затем нажмите кнопку «Close». На экране появиться ваше пользовательское окно (рисунок 3.16). Его вы можете сохранить, отредактировать, добавить новые переменные с помощью команд из подменю Watch Window, либо используя клавиши Insert, для вставки новой переменной, и Delete, для удаления из списка пользовательского окна переменной.

Рисунок 3.15 Окно Add Watch Symbol

Рисунок 3.16 Окно с переменными

3. Пример программы приведён: LAB-Элат \ Lab_Digital \ Mps_2\ Примеры \ summ.asm.