Программирование микроконтроллера

Разработка алгоритма работы устройства, описание выбора элементной базы и работы принципиальной схемы. Текст программы, инициализация указателя стека, структура системы и ресурсов микроконтроллера. Запись кодов при программировании данного устройства.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 24.12.2010
Размер файла 18,4 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ВОЗДУШНОГО ТРАНСПОРТА

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

ГРАЖДАНСКОЙ АВИАЦИИ»

Кафедра радиотехнических устройств

Контрольная работа

по дисциплине «Микропроцессорные устройства РЭО»

студента 4 курса заочного факультета

Храпова Владимира Алексеевича

Специальность 160905

Шифр: РС-071511

Адрес: Ростовская область, Чертковский район, пгт Чертково

Москва 2010

Исходные данные.

Таблица 1.

Номер варианта задания

Адресация при пересылке данных из ОЗУ в РОНы

Адресация при пересылке данных из РОНов в ОЗУ

SP

1

1

Прямая

косвенная

10F1

Таблица 2.

A1

A2

A3

A4

A5

A6

M1

M2

M3

M4

1

17

5

67

76

65

12

0041

0043

0044

0045

Задание на контрольную работу

· Сложить два числа 17, 5 и 67 (без учета единица переноса), результат уменьшить на единицу и записать в ячейку ОЗУ 0041.

· Загрузить ячейки ОЗУ 0043 и 0044 числами 76 и 65 соответственно, используя косвенную адресацию (регистровые пары Y и Z).

· Записать в регистр R16 число 12.

· Осуществить вызов подпрограммы, в которой требуется:

ѕ сохранить указатели Y, Z и содержимое регистра R16 в стеке. Начальный адрес стека 10F1;

ѕ записать в регистр R16 содержимое ячейки ОЗУ 0045 и сравнить с содержимым ячейки ОЗУ 0043, в случае неравенства прибавить к содержимому регистра R16 на единицу;

ѕ извлечь сохраненные данные из стека, поменяв содержимое указательных регистров X и Y местами.

· При пересылке данных из ОЗУ в РОНы использовать прямую адресацию, при пересылке данных из РОНов в ОЗУ использовать косвенную адресацию (если вид адресации не указан в задании явно).

· Все числа и адреса - шестнадцатеричные.

· Выбор команд для программы.

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

· для записи в регистр SPL (младший разряд):

OUT SPL, Rr ;

· для записи в регистр SPH (старший разряд):

OUT SPH, Rr ,

где r - номер регистра, из которого пересылаются данные в стек (r=0…31).

· Для непосредственной записи операндов в РОНы используем команду LDI Rd, k ,

где d - номер регистра, в который записывается операнд (d=16…31);

k - операнд.

· Для пересылки данных из ОЗУ в РОНы используем команду косвенной адресации

LD Rr, X ;

LD Rr, Y ;

LD Rr, Z ,

где X, Y, Z - 16-ти разрядные регистры для хранения адреса ячейки ОЗУ, из которой пересылаются данные. Каждый из этих регистров имеет в своем составе два РОНа. Структура регистров представлена в таблице 3.

Таблица 3

16-ти разрядный регистр

Младший разряд

Старший разряд

X

R26

R27

Y

R28

R29

Z

R30

R31

РОН

· Перед использованием команды LD адрес ячейки ОЗУ должен быть предварительно записан в соответствующий регистр, который используется в команде.

· Для прямой адресации данных из РОНов в ОЗУ используем команду STS n, Rr , где n - адрес ячейки ОЗУ.

· Для косвенной адресации данных из РОНов в ОЗУ используем команду

ST X, Rr ;

ST Y, Rr ;

ST Z, Rr .

· Адрес ячейки ОЗУ должен быть предварительно записан в один из регистров X, Y, или Z.

· Для выполнения операции сложения используем команду ADD Ra, Rb , где a, b - номера регистров, где хранятся операнды (a=0…31, b=0…31). Результат будет записан в регистр Ra.

· Для уменьшения содержимого регистра на единицу используем команду DEC Rr .

· Для выполнения требуемой в задании операции сравнения используем команду CPSE Ra, Rb .

· Команда сравнивает содержимое регистров Ra, Rb, и в случае равенства пропускает следующую команду.

· Для вызова подпрограммы используем команду CALL .

· Для выхода из подпрограммы и возврата в программу используем команду RET .

· В подпрограмме для сохранения содержимого регистра Rr в стеке используем команду PUSH Rr .

· Для извлечения из стека в регистр Rr используем команду POP Rr.

· При этом учитываем то, что данные должны извлекаться из стека в порядке, обратном загрузке - «последний вошел - первый вышел».

· Для «зацикливания» программы используем команду RJMP.

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

Инициализация указателя стека:

Адрес стека 10F1, для его задания в регистр SPL помещаем младший байт ; F6, в регистр SPH - старший 10.

· LDI R20, $F1 ; загрузка регистра R20 младшим байтом адреса начала стека

· OUT SPL, R20 ; загрузка младшего байта указателя стека из регистра

· LDI R20, $10 ; загрузка регистра R20 старшим байтом адреса начала стека

· OUT SPH, R20 ; загрузка старшего байта указателя стека из регистра

Выполнение сложения чисел 17, 5 и 67:

· LDI R17, $17 ; загрузка регистра R16 числом 17

· LDI R18, $5 ; загрузка регистра R17 числом 5

· LDI R19, $67 ; загрузка регистра R18 числом 67

· ADD R17, R18; суммирование содержимого регистров R17, R18

· ADD R17, R19 ; суммирование содержимого регистров R17, R19

· DEC R17 ; уменьшение на единицу содержимого регистра R17

· LDI R30, $41 ;

· LDI R31, $00 ;

· ST Z , R17 ; загрузка ячейки ОЗУс адресом 0075 значением из регистра R17

Загрузка ячеек ОЗУ 0043 и 0044 числами 76 и 65 соответственно:

· LDI R20, $76 ; загрузка регистра R19 числом 76

· LDI R21, $65 ; загрузка регистра R20 числом 65

Загрузка в регистровую пару X адреса ячейки ОЗУ 0043:

· LDI R26, $43

· LDI R27, $00

Загрузка в регистровую пару Y адреса ячейки ОЗУ 0044:

· LDI R28, $44

· LDI R29, $00

· ST X, R20 ; загрузка ячейки ОЗУ с адресом 0043 значением из регистра R20

· ST Y, R21 ; загрузка ячейки ОЗУ с адресом 0064 значением из регистра R21

· LDI R16, $12 ; загрузка регистра R16 числом 12

· CALL ROUT ; вызов подпрограммы ROUT

Зацикливание программы:

· LOOP:

· RJMP LOOP

ПОДПРОГРАММА:

· ROUT:

Сохранение указателя X в стеке:

· PUSH R26

· PUSH R27

Cохранение указателя Y в стеке:

· PUSH R28

· PUSH R29

· LDS R16, $0045 ; загрузка регистра R16 содержимым ячейки ОЗУ с адресом 0045

· LDS R17, $0043 ; загрузка регистра R17 содержимым ячейки ОЗУ с адресом 0043

Загрузка в регистровую пару X адреса ячейки ОЗУ 0065:

· CPSE R16, R17 ; пропустить следующую команду, если значения регистров R16 и R17 равны

· INC R16 ; увеличить содержимое регистра R16 на единицу

Извлечение сохраненных данных из стека и замена содержимого указательных регистров:

Извлечение сохраненного содержимого Y в X:

· POP R27

· POP R26

Извлечение сохраненного содержимого X в Y:

· POP R29

· POP R28

· RET ; возврат из подпрограммы.

Литература

1. Яманов Д.Н., Жаворонков С.С. Микропроцессорные устройства РЭО. Пособие по изучению дисциплины и выполнению контрольных работ. - М.: МГТУ ГА, 2008. - 24 с.

2. Калабеков Б.А. Микропроцессоры и их применение в системах передачи и обработки сигналов: Учебное пособие для вузов. - М.: Радио и связь, 1988. - 368 с.


Подобные документы

  • Запись кодов команд программы и констант в FlashROM, кодов исходных данных в EEPROM, требуемых значений установочных битов (Fuse Bits) и битов защиты (Lock Bits). Запись и чтение кодов при программировании, способы программирования в микроконтроллерах.

    контрольная работа [24,2 K], добавлен 22.08.2010

  • Описание структуры системы синтезатора. Описание ресурсов однокристального 8-разрядного Flash CMOS микроконтроллера РIC16F876. Основное предназначение сторожевого таймера WDT. Описание функциональных узлов МПС. Разработка алгоритма работы устройства.

    курсовая работа [1,1 M], добавлен 14.12.2009

  • Разработка функциональной и принципиальной схемы. Выбор управляющего контроллера. Описание МК PIC16F626, МК AVR, МК 51. Выбор элементной базы. Разработка управляющей программы. Описание алгоритма работы программы. Схема устройства, листинг программы.

    курсовая работа [492,9 K], добавлен 28.12.2012

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

    курсовая работа [577,8 K], добавлен 24.06.2013

  • Основные параметры устройства отображения информации. Обоснование выбора используемых ресурсов микроконтроллера и схемы включения. Разработка схемы алгоритма. Описание и отладка программы. Схема электрическая принципиальная и листинг трансляции программы.

    курсовая работа [121,3 K], добавлен 12.12.2014

  • Основания для выбора контроллера, который подключается по IDE-шине к устройству CD-ROM. Принцип действия устройства, описание структурной и принципиальной схемы. Выбор элементной базы. Алгоритм работы устройства, разработка программного обеспечения.

    курсовая работа [136,0 K], добавлен 23.12.2012

  • Виды терморегуляторов и их общее устройство. Разработка устройства для управления микроклиматом в теплице. Возможные варианты модернизации системы контроля температуры. Блок инициализации микроконтроллера. Разработка структурной схемы работы программы.

    курсовая работа [1,8 M], добавлен 27.05.2015

  • Разработка структурной и принципиальной схемы. Блок-схема основной программы и подпрограмм обработки прерываний. Имена переменных, используемых в них. Результаты моделирования работы устройства в программе ISIS пакета Рroteus. Разработка печатной платы.

    курсовая работа [1,5 M], добавлен 13.11.2016

  • Разработка компьютерного устройства RAM-диск, позволяющего считывать, записывать и хранить информацию в модулях динамической памяти типа SDRAM под управлением микроконтроллера. Составление структурной и принципиальной схемы устройства, листинг программы.

    курсовая работа [3,9 M], добавлен 24.12.2012

  • Описание области применения устройства релаксационного воздействия на человека "Лампа хорошего настроения". Выбор микроконтроллера устройства. Алгоритм функционирования программы, её тестирование. Правила и нормы охраны труда при работе с компьютером.

    дипломная работа [5,8 M], добавлен 28.09.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.