Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программно аппаратный комплекс на основе Контроллера MC51GB.0102.DOC
Скачиваний:
32
Добавлен:
02.05.2014
Размер:
625.66 Кб
Скачать

5. 1 Кросс средства

Микроконтроллер комплектуется кросс средствами для стандартного MCS51 процессора. Использование псевдооператоров позволяет включать в свою программу мнемонику процессора 80C51GB. В комплект поставки входит;

  • ассемблер A8051. exe

  • компилятор xlink. exe

  • подключаемый файл 51_new.inc

  • заготовка программы 51_new. msa для контроллера с процессором N80С51GB(12 Мгц)

51_New-1. Msa для контроллера с процессором n80с51gb - 1 (16 Мгц)

Входным файлом для ассемблера является текстовый файл с расширением. .msa ,на выходе два файла, листинг с расширением. .lst и обьектный файл. .r03 Для компилятора входным является файл с расширением. .r03, выходной.-. .hex, этот файл в стандарте intel-standard и он пересылается по последовательному порту, для загрузки в память программ. Если пользователь желает отлаживать программу задавая точки останова и применять пошаговый режим ему необходимо в качестве исходной программы использовать файлы 51_new. msa. или 51_new-1. msa и 51_new.inc. Остановимся на том, что включают в себя эти файлы и какие ресурсы процессора они задействуют;

1.Список псевдооператоров в мнемонике процессора 80c51gb.

2.Инициализация прерываний, таймеров, УАПП.

3.Подпрограмму прерывания последовательного порта включающую в себя обработку команд поступающих по последовательному порту, метка p_uap:

4.Программу переключения в отладочный режим, метка p_osh8:.

5.Задание точки останова, метка r_h:.

6.Подпрограмма сброса WDT.

7.Подпрограмма обработки внешнего прерывания INT0, задействованного для организации пошагового режима, pos:.

8.Процедура пересылки внутреннего состояния процессора в пошаговом режиме, метка r_otl:. 9.Программу перевода в режим микропотребления.

10. Подпрограмма пересылки данных из ОЗУ.

Внешнее прерывание по входу INT0 настраивается для работы по уровню сигнала. При установке приоритетов необходимо придерживаться следующих правил;

1.Уровень приоритета приемопередатчика (УАПП) должен быть выше чем у внешнего прерывания INT0, так как команды сделать шаг или выйти из пошагового режима передаются по последовательному порту, когда процессор уже находится в процедуре обработки прерывания INT0.

2. Уровни приоритетов остальных прерываний должны быть ниже чем у INT0, если вы хотите отлаживать подпрограммы, обрабатывающие эти прерывания.

Если для сброса WDT используется таймер Т0, то он должен обладать наивысшим приоритетом.

13

Таймер Т2 задает частоту приемопередатчика и работает в режиме генератора скорости. После сброса УАПП настраивается на частоту передачи 9600 Кбд и поддерживает 1. режим работы - 1стартовый бит 8 бит данных 1стоповый бит. Отладочный режим использует следующие внутренние ресурсы процессора;

  • .Внешнее прерывание INT0

  • .Таймер T2

  • .Последовательный порт

  • .4-ый банк Регистров общего назначения РОН

  • .Ячейки внутренней памяти данных по адресу 20Н-для хранения слово состояния, 0fbh-0ffh -для хранения данных в блоке пересылки внутреннего состояния процессора (информация пользователя в них в отладочном режиме будет потеряна).

  • Коды команд ,обрабатываемые подпрограммой УАПП занимающие область 00Н-0FH.

«Разработчик вставляет свои фрагменты программы после надписи:»

;***************** ТЕЛО ПРОГРАММЫ ***************************

После инициализации прерываний, таймера и приемопередатчика ,процессор доходит до программы пользователя и выполняет ее. Любой байт принятый приемопередатчиком инициирует прерывание УАПП которое будет обрабатываться как команда в блоке обработки команд Пользователь может добавить свои команды, поступающие по последовательному порту, в месте метки mon2:.

mon2: cjne a, #SCH_E, p_3

метка p_3 заменяется на метку где вы будете анализировать свою команду. Выход из подпрограммы прерывания осуществляется через метку p_3: где восстанавливается слово состояние, содержимое аккумулятора, проверяется флаг на поступление данных во время обработки данного прерывания и устанавливается бит, если это событие произошло. Процесс перевода в пошаговый режим происходит следующим образом. При поступлении команды «задать точку останова « процессор инициализирует отладочную плату, передает адрес точки останова и устанавливает флаг, разрешения внешнего прерывания. После выполнения вышеназванных операций, WDT инициирует внутренний сброс. Процессор стартует с нулевого адреса, дойдя до заданной точки останова отладочная плата формирует сигнал прерывание и удерживает его до окончания пошагового режима. Процессор пересылает свое внутреннее состояние по последовательному порту и ожидает прихода команды сделать шаг или выйти из пошагового режима. Получив последнюю команду он заставляет отладочную плату снять прерывание, сбрасывает флаг, запрещая внешнее прерывание и выходит из обработчика. Программа инициализации часов реального времени метка taim: приведена в качестве примера для перевода контроллера в режим микропотребления, она устанавливает начальные значения времени и будильника. Далее запускается программа « режим микропотребления «, переводящая FLASH и приемопередатчик в низкое потребление. После отключения цепи OFD осциллятора ,процессор останавливается переходя в спящее состояние . Когда время на часах совпадает с временем установленном на будильнике (настроено на 9 секунд),на выходе IRQ формируется прерывание, приводящее к появлению на входе RESET микропроцессора, импульса сброса . По этому сигналу он выходит из режима микропотребления, стартуя с нулевого адреса.

Соседние файлы в предмете Микропроцессорные системы