clrw ; очистить рабочий регистр W
movwf PORTB ; переслать содержимое W в порт В
или
clrf PORTB ; очистить порт В
Задание 1 для самостоятельной работы. Напишите программу, которая выполняет следующие действия:
1) переслать десятичное число 25 в регистр Temp1;
2) вывести нули в порт В;
3) очистить рабочий регистр W;
4) переслать содержимое регистра Temp1 в порт В;
5) очистить регистр Temp1;
6) выполнить команду, которая проверит на нуль содержимое регистра Temp1.
Запишите текст полученной программы в базовую, выполните ее компиляцию и проверьте работу в пошаговом режиме. По изменению содержимого регистров в окне наблюдения сделайте выводы о соответствии выполнения программы заданному алгоритму.
3.6. Исследование команд сложения
Микроконтроллер PIC16F84A имеет две команды сложения:
addlw k ; сложение содержимого рабочего регистра W и
; константы k, заданной в команде, результат – в регистре W
addwf f, d ; сложение содержимого рабочего регистра W с
; содержимым любого регистра f.
Символ d определяет регистр, куда будет помещен результат выполнения команды. Если d = 0, то результат помещается в рабочий регистр W, а если d = 1, то результат записывается в использованный в команде регистр f. При написании команд удобнее вместо цифр 0 или 1 подставлять символы W или F, которые обозначают регистр результата.
Эти команды модифицирует биты признаков C, DC и Z в регистре STATUS. После выполнения команды можно проверить эти биты и определить, является ли результат нулевым, положительным или отрицательным.
Следующий пример демонстрирует работу команд сложения:
clrw ; очистить рабочий регистр W
addlw 0x02 ; сложить содержимое регистра W с константой 02h
movwf Temp1 ; переслать содержимое регистра W в регистр Temp1
movlw 0x45 ; загрузить в рабочий регистр число 45h
movwf Temp2 ; переслать содержимое регистра W в регистр Temp2
addwf Temp2,W ; сложить содержимое регистра W с содержимым
; регистра Temp2, результат – в регистре W
movlw 0x45 ; загрузить в рабочий регистр число 45h
movwf Temp2 ; переслать содержимое регистра W в регистр Temp2
addwf Temp2,F ; сложить содержимое регистра W с содержимым
; регистра Temp2, результат – в регистре Temp2
Задание. Запишите пример в базовую программу. Выполните ее компиляцию. Выполните программу в пошаговом режиме, наблюдая за изменением содержимого регистров.
3.7. Исследование команд вычитания
Микроконтроллер PIC16F84A имеет две команды вычитания:
sublw k ; вычитание содержимого рабочего регистра W из
; константы k, заданной в команде, результат – в регистре W
subwf f, d ; вычитание содержимого рабочего регистра W из
; содержимого любого регистра f.
Символ d определяет регистр, куда будет помещен результат выполнения команды. Если d = 0, то результат помещается в рабочий регистр W, а если d = 1, то результат записывается в использованный в команде регистр f. При написании команд удобнее вместо цифр 0 или 1 подставлять символы W или F, которые обозначают регистр результата.
Эти команды модифицирует биты признаков C, DC и Z в регистре STATUS. После выполнения команды можно проверить эти биты и определить, является ли результат нулевым, положительным или отрицательным.
Следующий пример демонстрирует работу команд вычитания.
movlw 0x45 ; загрузить число 45h в регистр W
sublw 0x65 ; вычесть содержимое регистра W из константы 65h
movlw 0x60 ; загрузить число 60h в регистр W
movwf Temp1 ; переслать содержимое регистра W в регистр Temp1
movlw 0x80 ; загрузить число 80h в регистр W
subwf Temp1,W ; выполнить вычитание, результат – в регистре W
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.