Главное меню

Изучение структурной организации и приемов программирования однокристального микроконтроллера К1816ВЕ48

Целью работы является изучение структурной организации, физического интерфейса, системы команд и средств расширения внутренних ресурсов однокристальных микроконтроллеров семейства МК48, а также освоение приемов программирования на языке ассемблера задач ввода и обработки данных, передачи управления, реализации средств реального времени.

Пример 1.1

. Записать в РПД в ячейки с адресами 31Н и 32Н число 1C3FH:

LOAD: MOV R0,#31 ; загрузка в R0 указателя РПД

MOV @R0,#1C ; запись в РПД числа 1C

INC R0 ; продвижение указателя адреса РПД

MOV @R0,#3F ; запись в РПД числа 3F

Пример 1.2

. Передать содержимое регистров банка 0 в ВПД, начиная с адреса 30H:

SEL RB1 ; выбор банка регистров 1

MOV R0,#30h ; определение начального адреса ВПД

MOV R1,#0 ; определение начального адреса банка

; регистров

MOV R2,#8 ; счетчик регистров (циклов) = 8

LOOP: MOV A,@R1 ; пересылка байта из регистра в ВПД

MOVX @R0,A ; через аккумулятор

INC R0 ; продвижение указателей

INC R1

DJNZ R2,LOOP ; продолжить, если переданы не все регистры

Пример 1.3

. Вычислить произведение двух 4-битных чисел, расположенных в младших тетрадах регистров R0 и R1. Для вычисления используется таблица произведений для всех комбинаций сомножителей (всего 256). Произведение двух тетрад имеет формат 1 байт. Таким образом, необходимая таблица произведений занимает одну страницу памяти. Данную таблицу удобно разместить на третьей странице РПП:

; вычисление Z = X*Y

; R0 = 0000XXXX

; R1 = 0000YYYY

; X и Y принимают значения 0 и 1

ORG 0 ; директива ассемблера, задающая

; начальный адрес программы

MOV A,R0 ; пересылка множимого в аккумулятор

SWAP A ; обмен тетрад аккумулятора

ORL A,R1 ; формирование в аккумуляторе

; адреса произведения

MOVP3 A,@A ; загрузка в аккумулятор произведения

ORG 0300 ; директива ассемблера, задающая начальный

; адрес таблицы на третьей странице РПП директивы ассемблера, формирующие таблицу произведений

DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Z=0*Y

DB 1*0,1*1,1*2,…,1*0F ; Z=0*Y

DB 0F*0, 0F*1, 0F*2,…, 0F*0F ; Z=0*Y

Сложение положительных двоичных чисел. Выполнение этой операции покажем на примере:

Переносы 1 1 1

Первое слагаемое 0 0 1 1 0 1

Второе слагаемое 0 0 1 1 0 1

Сумма 0 1 1 0 1 0

Пример 1.4

. Сложить содержимое регистра R7 и ячейки РПД с адресом 30Н:

MOV R0,#30h ; загрузка в R0 адреса РПД

MOV A,R7 ; загрузка операнда в аккумулятор

ADD A,@R0 ; сложение

Суммирование десятичных чисел. Способ суммирования десятичных чисел зависит от того, какой двоичный код выбран для представления десятичных цифр. Ниже рассматривается операция суммирования при использовании кода 8421.

Двоичные представления десятичных цифр суммируются по обычным правилам сложения двоичных чисел. Если полученная сумма содержит десять или более единиц, то формируется единица переноса, передаваемая в следующий десятичный разряд, а из суммы вычитаются десять единиц. Полученный результат есть цифра соответствующего разряда суммы. Наличие в полученной сумме десяти или более единиц выявляется по следующим признакам: появление переноса из разряда 8, возникающего при суммировании цифр; наличие единиц одновременно в разрядах 8 и 4 либо 8 и 2 в полученной сумме. При этом требуется коррекция суммы прибавлением к ней шести единиц (числа 01102).

Покажем эти действия на примерах.

– Сложить десятичные цифры 6 и 2 и перенос 1, поступающий из предыдущего десятичного разряда.

Перейти на страницу: 1 2 3 4 5 6

Другое по теме:

Запись звука к видеофильму формата Betacam с использованием цифровой технологии
Данная курсовая работа предполагает запись звука к видеофильму в формате Betacam. Формат Betacam основан на бытовом формате Betamax. Запись в формате Betacam производится наклонно-строчным способом на 12.65 мм ленте, в рабочем слое магнитной ...

Copyright © www.techproof.ru