Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Пример программы заполнения области ОЗУ константой




 

; Задание имен констант

Addr equ 30H ; Начальный адрес ОЗУ

Lng equ 16  ; Количество данных

Const equ 0BCh ; Константа заполнения

 

mov R0,#Addr ;Загрузка адреса в регистр R0

mov A,#Const ;Загрузка констанды в регистр - аккумулятор

mov R2,#Lng ;Загрузка длины в регистр R2

loop:       ;Метка начала цикла

mov @R0,A ;Запись аккумулятора в ОЗУ по адресу

;регистра R0

inc R0  ;Увеличение адреса на единицу

djnz R2,loop ;Уменьшить счетчик на 1, сравнить с нулем

;и перейти в начало цикла, если не нуль

END

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

 

КОМАНДЫ ПЕРЕХОДОВ И ВЫЗОВА ПОДПРОГРАММ

МИКРОКОНТРОЛЛЕРА СЕРИИ МК51

 

Цель работы

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

Рабочее задание

1. Напишите программу в соответствии с заданным вариантом. Программа должна содержать команды условных переходов и вызова подпрограммы.

2. Добейтесь безошибочной трансляции программы в среде mVision.

3. В режиме отладки осуществите пошаговое выполнение программы, наблюдая за изменением регистров и памяти микроконтроллера. Убедитесь в работоспособности программы.

4. Зафиксируйте содержимое указателя стека и содержимое стековой памяти до и после выполнения команды вызова подпрограммы.

5. Ответьте на контрольные вопросы.

Контрольные вопросы

1. Как процессор выполняет команду безусловного перехода?

2. Как выполняется передача управления при абсолютной и относительной адресации перехода?

3. Что такое стековая память, как она реализована в контроллере серии МК51?

4. Как процессор выполняет команды вызова подпрограмм и возврата из подпрограммы?

 

Варианты заданий

1. Подпрограмма формирования кодов семисегментного индикатора для однобайтного числа в 16-ричном формате.

2. Подпрограмма временной задержки в миллисекундах, задаваемой в качестве параметра в регистре R7.

3. Подпрограмма формирования BCD-кода однобайтного целого числа. Число передается в регистре R7, результат – в регистрах R5,R6.

4. Подпрограмма сложения двух 4-байтных чисел в BCD-коде. Адрес первого слагаемого в регистре R0, второго в R1, результат по адресу первого слагаемого.

Пример использования подпрограмм и команд условного перехода

; Пример использования подпрограмм и команд условного перехода

; Подпрограмма умножения целого числа на дробное

; Целое число - однобайтное

; Дробное - однобайтное с фиксированное точкой

; Результат - целое, дробная часть отбрасывается,

; результат округляется по правилам округления

; Данные для проверки подпрограммы

Fakt1 equ 125     ; Первый сомножитель

Fakt2 equ 116 ; Второй сомножитель -(454*256)/1000 == 0.454

; Проверка

mov R7,#Fakt1

mov R6,#Fakt2

call MulFix

Nop

.

.

; Подпрограмма умножения

; 1-й сомножитель в регистре R7

; 2-й сомножитель в регистре R6

; Результат в регистре R7

MulFix:

push ACC ; Сохранить в стеке регистр A

push B   ; Сохранить в стеке регистр B

mov A,R7 ; Переслать сомножители в рабочие регистры

mov B,R6

mul AB ; Перемножить

jnb ACC.7,LH ; Проверить: дробная часть > 0.5 ?

inc B ; Если больше, прибавить к целой части 1

LH: mov R7,B ; Сохранить результат

pop B ; Восстановить регистры A и B

pop ACC

ret     ; Выход из подпрограммы

END

 

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

 

ИСПОЛЬЗОВАНИЕ ТАЙМЕРА ПРИ ФОРМИРОВАНИИ

СИГНАЛОВ ЗАДАННОЙ ФОРМЫ

 

Цель работы

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

Рабочее задание

1. Напишите программу в соответствии с заданным вариантом. В каждом задании вывод производится в порт P0, подключенный к ЦАП.

2. Добейтесь безошибочной трансляции программы в среде

hVision.

3. В режиме отладки осуществите пошаговое выполнение программы. При проверке работоспособности программы воспользуйтесь логическим анализатором среды mVision.

4. Ответьте на контрольные вопросы.

Контрольные вопросы

1. Каково назначение таймера микроконтроллера?

2. Каким образом осуществляется настройка таймера и управление им?

3. В чем отличие в режимах работы таймера и счетчика?

4. Как с помощью таймера организовать измерение длительности импульса?

5. Как программа контролирует состояние таймера?

6. Как определяется максимальная частота импульсов, подсчитываемых таймером?

7. Как расширить диапазон счета таймера?

8. Что такое порт ввода-вывода?

9. Какие параметры микропроцессорной системы определяют максимальную частоту квантования сигнала по времени?

10. От чего зависит величина шага квантования по уровню, на какие параметры формируемого сигнала она влияет?

 

Варианты заданий

1. Программа формирования сигнала треугольной формы с частотой 5 Гц.

2. Программа формирования сигнала пилообразной формы с частотой 10 Гц.

3. Программа формирования синусоидального сигнала с частотой 8Гц.

4.  Программа формирования сигнала трапецеидальной формы с временем нарастания, спада и удержания напряжения, каждое из которых по 1мс.










Последнее изменение этой страницы: 2018-04-12; просмотров: 654.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...