- •Разработка программной и аппаратной поддержки к методическим указаниям «программирование микроконтроллеров»
- •Реферат
- •Введение
- •1. Основы архитектуры микроконтроллеров
- •1.1. Основные типы микроконтроллеров и их архитектура
- •Система команд.
- •Типы памяти мк.
- •1.2. Аппаратные средства
- •1.2.1. Запуск микроконтроллера
- •Сброс в начальное состояние.
- •1.2.2. Тактирование и командные циклы
- •1.2.3. Программный счетчик и алу
- •1.2.4. Подпрограммы и функции
- •Прерывания.
- •Таймеры.
- •1.2.5. Ввод/вывод данных
- •Аналоговый компаратор.
- •Программирование устройств.
- •Безопасность памяти программ.
- •1.3. Инструментальные и программные средства разработки и отладки
- •Симуляторы
- •000000000:00
- •Интегрированные среды разработки
- •Язык Ассемблера.
- •Языки программирования высокого уровня.
- •1.4. Основные типы интерфейсов мк.
- •1.4.1. Подключение переключателей и подавление «звона» контактов.
- •1.4.2. Световая индикация.
- •Семи сегментный индикатор.
- •1.4.3. Ввод с матричной клавиатуры.
- •2. Особенности построения и функционирования микроконтроллеров фирмы atmel семейства avr
- •2.1. Архитектура микропроцессорного ядра avr-микроконтроллеров
- •Программная модель avr и система команд.
- •Адресация регистров ввода/вывода и памяти sram.
- •Программный счетчик и стек
- •Регистр состояния.
- •Прерывания.
- •2.2. Аппаратные средства avr. Системный тактовый генератор.
- •Таймеры.
- •Сторожевой таймер.
- •Устройство внешнего вывода.
- •Аналоговый ввод/вывод.
- •Конфигурирование мк
- •Память данных eeprom.
- •Подключение питания и запуск.
- •Программирование в системе.
- •2.3. Система команд микроконтроллера avr
- •Способы адресации данных
- •Команды пересылки данных.
- •Команды арифметических и логических операций.
- •Команды ветвления
- •Битовые команды и команды тестирования битов.
- •3. Программное и инструментальное обеспечение процесса программирования микроконтроллеров
- •3.1. Написание и отладка программного кода с помощью avr Studio
- •3.1.1. Обзор avr Studio
- •3.1.2. Создание нового проекта
- •3.1.3. Исполнение программного кода
- •3.2. Анализ методики реализации разработки программного обеспечения
- •3.2.1. Классификация вариантов заданий
- •Варианты заданий
- •Основные принципы выполнения заданий.
- •3.2.2. Рассмотрение типовых примеров
- •3.3. Описание макета программатора.
- •Заключение
- •Библиографический список использованных источников
- •Приложение 1Инструкции процессоров avr.
- •Приложение 2. Таблица регистров микроконтроллера at90s1200
- •Приложение 3. Программа для измерителя звуковой частоты
- •Приложение 4. Программа для устройства «кодовый замок»
- •Приложение 5. Основные характеристики микроконтроллеров avr
Аналоговый компаратор.
Часто в МК встраивается аналоговый компаратор напряжений. Компаратор представляет собой простую схему, которая, которая сравнивает два напряжения. Обычно один сигнал называют входным, а другой опорным.[7] На выходе устанавливается «1», если входное напряжение больше, чем опорное (см. рис. 1.6). этот способ наиболее удобно использовать в таких устройствах, как термостаты, где необходимо контролировать достижение определенного уровня измеряемой величины, которая задается значением входного напряжения.
Рис. 1.6. Сигналы на входе и выходе аналогового компаратора.
Программирование устройств.
Программирование устройств, в том числе и микроконтроллеров обычно происходит следующим образом. В регистр программатора загружается значение, которое необходимо разместить по определенному адресу, затем включается схема, которая пересылает содержимое этого регистра по заданному адресу, проходит некоторое время ожидания, пока завершиться процесс программирования выбранной ячейки памяти и, на конец, выполняется верификация, т.е. проверяется правильность записанного значения. Программирование всего устройства может занять от нескольких секунд до нескольких минут в зависимости от размера памяти и алгоритма программирования.
Часто оборудования для программирования оказывается слишком дорогим, особенно для радиолюбителей и предприятий малого бизнеса. Но в некоторых случаях для программирования требуется весьма простое и доступное оборудование. К примеру, некоторые модели PIC и AVR микроконтроллеров программируются очень легко. Существует также устройства, которые не требуют оборудования для программирования, на пример, МК Basic STAMP, или имеют встроенный аппаратно-программный блок, избавляющий от необходимости использования внешнего оборудования, кроме источника повышенного напряжения для программирования, как МК 68НС05.
Очень важный аспект, касающийся программирования устройств, заключается в том, что может ли устройство быть запрограммировано в системе. Это называется внутрисистемное программирование (ВСП) – от английского In-System Programming (ISP). Если МК допускает возможность такого программирования, то это означает, что он может быть смонтирован на плату с пустой памятью программ, которая затем может быть запрограммирована без какого либо влияния на остальные компоненты схемы. Это может стать важным обстоятельством при выборе МК. Использование ВСП избавляет МК от необходимость покупать специальный программатор, дает возможность обновлять программное обеспечения без изменения расположенных на плате аппаратных средств и позволяет производителям создавать запас готовых изделий, которые могут легко модифицироваться в соответствии с поступающими заказами.
Безопасность памяти программ.
Для многих приложений желательно защитить программный код, записанный в МК. Чтобы обеспечить такую возможность многие МК содержат специальные средства для предотвращения считывания хранящихся в них программ. Часто такая возможность реализуется путем установки определенного значения конфигурационного бита в процессе программирования. Обычно значения этого бита можно изменить только в процессе перепрограммирования содержимого памяти МК, например при УФ стирании содержимого EPROM.
Встроенная защита не может предотвратить все возможности считывания программного кода. Такое считывание можно произвести во многих лабораториях, выполняющих анализ причин отказов микросхем, причем за очень короткое время. Чтобы усложнить и сделать операцию считывания менее эффективной, некоторые компании зашифровывают записанные программы путем перемешивания команд и включают специальные аппаратные блоки, которые преобразуют перемешенные данные в поток команд процессора. И все же, установка бита защиты не может гарантировать абсолютную защиту программного кода загруженного в МК.