Смекни!
smekni.com

Методические указания к лабораторным работам со стендом (стр. 1 из 9)

Методические указания к лабораторным

работам со стендом STK500 и МК ATMega16

Содержание

Введение 3
Особенности микроконтроллера ATmega16 (ATmega16L) 4
Работа со стендом 6
Пример загрузки программы в стенд 8
Лабораторная работа №1. «Изучение структуры стенда STK500 и системы команд микроконтроллера ATmega16» 10
Лабораторная работа №2. «Система прерываний. Работа с таймером/счетчиком 0» 18
Лабораторная работа №3. «Изучение 16 – разрядного Таймера/счетчика 1» 28

Введение

Стенд STK500 представляет собой лабораторный макет с микроконтроллером, памятью программ, памятью данных и разнообразными периферийными устройствами. Он позволяет разрабатывать и отлаживать программы, написанные на языках Си и Ассемблер.

Загрузка программы производится с персонального компьютера через последовательный порт RS-232. Макет работает от источника напряжения - 10-15 Вольт.

В лабораторных работах будет использоваться микроконтроллер фирмы ATMEL - ATmega 16.

Условные обозначения:

  • Flash ROM - объем энергонезависимой памяти программ (в килобайтах);
  • EEPROM - объем энергонезависимой памяти данных (в байтах);
  • RAM - объем статической памяти данных (в байтах);
  • External RAM - возможность подключения к микроконтроллеру дополнительной микросхемы внешней статической памяти данных (в килобайтах);
  • ISP - возможность программирования микроконтроллера в системе (на целевой плате) при основном напряжении питания;
  • SPM - функция самопрограммирования Flash ROM памяти микроконтроллера в системе без участия внешнего программатора;
  • JTAG - встроенный JTAG - интерфейс;
  • I/O (pins) - максимальное количество доступных линий ввода / вывода;
  • Timer(s) 8/16 bit - количество и разрядность таймеров/счетчиков;
  • USI - универсальный коммуникационный интерфейс;
  • AC - аналоговый компаратор;
  • ADC (channels) - количество каналов аналого-цифрового преобразования;
  • Internal RC - наличие внутренней RC-цепочки для автономной работы микроконтроллера (без внешнего источника опорной частоты);
  • WDT - сторожевой таймер;
  • BDC - аппаратный программируемый блок защиты от сбоев при внезапном (в том числе и кратковременном) пропадании напряжения питания микроконтроллера;
  • UART - асинхронный последовательный приемопередатчик;
  • SPI - синхронный трехпроводной последовательный интерфейс;
  • I2C - двухпроводной последовательный интерфейс;
  • RTC - система реального времени;
  • PWM (channels) - количество независимых каналов широтно - импульсной модуляции;
  • Command Set - количество различных инструкций в системе команд микроконтроллера;
  • Vcc - диапазон рабочих напряжений питания (в Вольтах);
  • Clock - диапазон рабочих частот (в мегагерцах);

Особенности микроконтроллера ATmega16 (ATmega16L)

· 8-разрядный высокопроизводительный AVR микроконтроллер с малым потреблением.

· Прогрессивная RISC архитектура:

- 130 высокопроизводительных команд, большинство команд выполняется за один тактовый цикл;

- 32 8-разрядных рабочих регистра общего назначения;

- полностью статическая работа;

- производительность приближается к 16 MIPS (при тактовой частоте 16 МГц);

- встроенный 2-цикловый переумножитель.

· Энергонезависимая память программ и данных:

- 16 Кбайт внутренней программируемой Flash памяти (In-System Self-Programmable Flash);

- обеспечивает 1000 циклов стирания/записи;

- дополнительный сектор загрузочных кодов с независимыми битами блокировки;

- внутрисистемное программирование встроенной программой загрузки;

- обеспечен режим одновременного чтения/записи (Read-While-Write);

- 512 байт EEPROM;

- обеспечивает 100000 циклов стирания/записи;

- 1 Кбайт встроенной SRAM;

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

· Интерфейс JTAG (совместимый с IEEE 1149.1):

- возможность сканирования периферии, соответствующая стандарту JTAG;

- расширенная поддержка встроенной отладки;

- программирование через JTAG интерфейс: Flash, EEPROM памяти, перемычек и битов блокировки.

· Встроенная периферия:

- два 8-разрядных таймера/счетчика с отдельным предварительным делителем, один с режимом сравнения;

- один 16-разрядный таймер/счетчик с отдельным предварительным делителем и режимами захвата и сравнения;

- счетчик реального времени с отдельным генератором;

- четыре канала широтно-импульсного модулятора PWM;

- 8-канальный 10-разрядный аналого-цифровой преобразователь;

- 8 несимметричных каналов;

- 7 дифференциальных каналов (только в корпусе TQFP);

- 2 дифференциальных канала с программируемым усилением в 1, 10 или 200 раз (только в корпусе TQFP);

- байт-ориентированный 2-проводный последовательный интерфейс;

- программируемый последовательный USART;

- последовательный интерфейс SPI (ведущий/ведомый);

- программируемый сторожевой таймер с отдельным встроенным генератором;

- встроенный аналоговый компаратор.

· Специальные микроконтроллерные функции:

- сброс при подаче питания и программируемый детектор кратковременного снижения напряжения питания;

- встроенный калиброванный RC-генератор;

- внутренние и внешние источники прерываний;

- шесть режимов пониженного потребления: Idle, Power-save, Power-down, Standby, Extended Standby и снижения шумов ADC.

· Выводы I/O и корпуса:

- 32 программируемые линии ввода/вывода;

- 40-выводной корпус PDIP и 44-выводной корпус TQFP.

· Рабочие напряжения

2,7 - 5,5 В (ATmega16L)

4,5 - 5,5 В (ATmega16)

· Рабочая частота

0 - 8 МГц (ATmega16L)

0 - 16 МГц (ATmega16)

Блок- схема ATmega16:

Рисунок 1. Блок схема ATMega16

Работа со стендом STK500

Минимальные программные и аппаратные требования для работы с STK500

  • 486 процессор (Pentium);
  • 16 MB RAM;
  • 12 MB свободного места на диске (AVR Studio®);
  • Windows® 95/98/2000/ME и Windows NT® 4.0;
  • 115200 бод RS-232 порт (COM порт);
  • 10 - 15V DC блок питания, 500 mA.

Рисунок.2. Схема подключения к ПК

Описание установки

Рисунок 3. Описание STK500


  1. Панель с кнопками.
  2. Разъем для подключения кнопок к МК.
  3. Разъем RS232 интерфейса (RXD, TXD).
  4. Разъем данные Flash – памяти(SD, SCK,/CS,SI).
  5. Разъем для подключения панели светодиодов.
  6. Панель светодиодов.
  7. Разъем для расширения платы.
  8. Разъем ISP объекта.
  9. 6-и штырьковый ISP разъем.
  10. 10-и штырьковый ISP разъем (только для внешних объектов).
  11. Кнопка программирования.
  12. Гнездо для кристалла кварца.
  13. Порт RS-232 для связи.
  14. Светодиод состояния.
  15. Мастер MCU.
  16. Порт RS-232 для программирования.
  17. Разъем для параллельного программирования.
  18. Разъем для питания.
  19. Кнопка включения.
  20. Кнопка перезагрузки МК.
  21. Панель для выставления параметров.
  22. Разъем для расширения платы.
  23. Гнездо для МК AVR.
  24. Разъемы портов ввода/вывода МК

Описание работы светодиодов

Рисунок 4. Схема включения светодиода

В STK500 используются транзистор и два резистора для поддержания постоянной яркости свечения светодиодов при любом значении напряжения питания микроконтроллера (VTG), а также для выключения светодиодов, когда VTG отсутствует. Напряжение, подаваемое на светодиод, 1.8 – 6 Вольт. Для подключения светодиодов к МК нужен 10 – жильный кабель, которым соединяются разъем панели светодиодов и разъем ввода/вывода МК.

Описание работы кнопок

Рисунок 5. Схема кнопки

На линиях портов ввода-вывода AVR-микроконтроллеров имеется возможность активизации встроенных подтягивающих резисторов к плюсу питания. Это свойство можно использовать в целях исключения внешнего подтягивающего резистора. В STK500 добавлены внешние подтягивающие резисторы 10 кОм для формирования лог. «1» на выводах SWn при отжатом состоянии кнопок. Резистор 150 Ом выполняет функцию защитного токоограничения, например, в случае ошибочной настройки линий ввода-вывода, связанных с кнопками, на вывод.

Загрузка программы в стенд. Работа с программным обеспечением AVRStudio

Загрузка программы в стенд.

1. На персональном компьютере загрузить «Пуск->Atmel AVR Tools->AVRStudio».


2. Создать новый проект, кнопки «Project->New Project».

Ввести имя проекта, нажать Finish.

Рисунок 6. AVR Studio