Программирование микроконтроллеров
2) видеть содержимое ОЗУ и EEPROM;
3) наблюдать за последовательностью выполнения команд, контролируя правильность отработки условных и безусловных переходов;
4) наблюдать за работой таймеров, отработкой прерываний.
В процессе отладки также можно наблюдать логические уровни на любом внешнем выходе микроконтроллера. А также имитировать изменение сигналов на любом входе. Процесс отлад
ки позволяет убедиться в том, что разрабатываемая программа работает именно так, как нужно.
Существует три основных вида отладчиков:
- программные;
- аппаратные;
- комбинированные программно-аппаратные.
Программный отладчик
Программный отладчик - это компьютерная программа, которая имитирует работу процессора на экране компьютера. Она не требует наличие реальной микросхемы или дополнительных внешних устройств и позволяет отладить программу чисто виртуально.
Однако программный отладчик позволяет проверить только логику работы программы. При помощи такого отладчика невозможно проверить работу схемы в режиме реального времени или работу всего микропроцессорного устройства в комплексе, т. е невозможно гарантировать правильную работу и всех подключенных к микроконтроллеру дополнительных микросхем и элементов.
Аппаратный отладчик
Основа аппаратного отладчика - специальная плата, подключаемая к компьютеру, работающая под его управлением и имитирующая работу реальной микросхемы микроконтроллера. Плата имеет выводы, соответствующие выводам реальной микросхемы, на которых в процессе отладки появляются реальные сигналы.
При помощи этих выводов отладочная плата может быть включена в реальную схему. Возникающие в процессе отладки электрические сигналы можно наблюдать при помощи осциллографа. Можно нажимать реальные кнопки и наблюдать работу светодиодов и других индикаторов.
Здесь как и в предыдущем случае, можем видеть всю информации об отлаживаемой программе: наблюдать содержимое регистров, ОЗУ, портов ввода-вывода; контролировать ход выполнения программы.
В аппаратном отладчике так же, как и в программном, можно выполнять программу в пошаговом режиме и применять точки останова. Недостатком аппаратного отладчика является его высокая стоимость.
Имитаторы
Имитаторы - программы, которые позволяют на экране компьютера "собрать" любую электронную схему, включающую в себя самые разные электронные компоненты:
a) транзисторы;
b) резисторы;
c) конденсаторы;
d) операционные усилители;
e) логические и цифровые микросхемы, в том числе и микроконтроллеры.
Такие программы обычно содержат обширные базы электронных компонентов и конструктор электронных схем. Собрав схему, можно виртуально записать в память микроконтроллера вашу программу, а затем "запустить" всю схему в работу.
Для контроля результатов работы схемы имитатор имеет виртуальные вольтметры, амперметры и осциллографы, которые можно "подключать" к любой точке схемы, "измерять" различные напряжения, а также "снимать" временные диаграммы.
Такие программы в настоящее время получают все большее распространение. Они позволяют разработать любую схему с микроконтроллером или без него, без использования паяльника и реальных деталей. На экране компьютера можно полностью отладить свою схему и лишь потом браться за паяльник.
Недостатком данного отладчика является то, что он требует значительных вычислительных ресурсов. Особенно в том случае, когда отлаживается схема, включающая как микроконтроллер, так и некоторую аналоговую часть. Кроме того, имитатор не всегда верно имитирует работу некоторых устройств. Однако подобные программы имеют очень большие перспективы.
WinAVR
WinAVR представляет собой набор инструментальных средств для работы с микроконтроллерами семейства AVR фирмы ATMEL. В него вошли следующие компоненты:
a) компилятор языка C avr-gcc,
b) библиотека компилятора avr-libs,
c) ассемблер avr-as,
d) интерфейс программатора avrdude,
e) интерфейс JTAG ICE avarice,
f) Debuger avr-gdb,
g) редактор programmers notepad.
Весь этот набор собран в один инсталляционный пакет и предназначен для установки на платформу Windows.
Главным преимуществом моего выбора именно этой микросхемы является ее широкая доступность и не высокая цена.
Рис.2.1 Типовая схема включения микроконтроллера АТ89С2051
Элементы R1, С1 составляют цепь начального сброса микроконтроллера. Она служит для перевода в исходное состояние всех внутренних систем микроконтроллера сразу после включения питания. Кварцевый резонатор Z1 определяет частоту встроенного тактового генератора микроконтроллера. Этот генератор предназначен для синхронизации всех внутренних процессов микроконтроллера. Микросхема АТ89С2051 допускает выбирать частоту кварцевого резонатора до 24 МГц. Нижний предел частоты не ограничивается. Конденсаторы С2 и СЗ - это согласующие элементы для кварца. Микроконтроллер АТ89С2051 допускает применение в качестве времязадающей цепи резонансного контура, и даже подключение внешнего тактового генератора. Оставшиеся выводы микроконтроллера представляют собой два порта ввода/вывода, которые обозначены Р1 и РЗ. Именно к этим двум портам и подключаются периферийные устройства.
Практически ни одно микропроцессорное устройство не обходится без кнопок и простейших датчиков на основе обычных контактов. При помощи этого вида периферийных элементов в микропроцессорное устройство поступает различная информация, которая используется для изменения алгоритма работы программы.
Примером может служить датчик поворота (Рис.2.2) - механические контакты, связанные с поворачиваемым устройством.
Рис.2.2 Простая схема подключения датчика на основе геркона
На вход микроконтроллера через резистор R1 подается напряжение от источника питания +5 В. Микросхема воспринимает это напряжение как сигнал логической единицы. При срабатывании датчика контакты замыкаются и соединяют вывод микроконтроллера с общим проводом. В результате напряжение на входе Р1.0 падает до нуля. В следствии микросхема воспринимает входной уровень сигнала как логический ноль. Резистор R1 при этом служит токоограничивающим элементом, предотвращая короткое замыкание между шиной питания и общим проводом.
Рассмотрим программу для обслуживания вышеупомянутого датчика (Листинг 2.3.), которая, постоянно опрашивает датчик и в зависимости от состояния запускает одну из двух специальных процедур.
1 2 3 4 5 6 7 |
; Программа обработки сигнала с датчика m1: mov p1.0,#1 ; Записываем 1 в соответствующий разряд порта mov c,p1.0 ; Читаем состояние датчика в битовый аккумулятор jc m2 ; Если контакты датчика разомкнуты, перейти к m2 call proc1 ; Вызов процедуры обработки нажатия контакта jmp m1 ; Возврат к началу (следующий цикл считывания) m2: call proc1 ; Вызов процедуры обработки размыкания контакта jmp m1 ; Возврат к началу (следующий цикл считывания) |
Другие рефераты на тему «Коммуникации, связь и радиоэлектроника»:
Поиск рефератов
Последние рефераты раздела
- Микроконтроллер системы управления
- Разработка алгоритмического и программного обеспечения стандарта IEEE 1500 для тестирования гибкой автоматизированной системы в пакете кристаллов
- Разработка базы данных для информатизации деятельности предприятия малого бизнеса Delphi 7.0
- Разработка детектора высокочастотного излучения
- Разработка микропроцессорного устройства для проверки и диагностики двигателя внутреннего сгорания автомобиля
- Разработка микшерного пульта
- Математические основы теории систем