Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОМПТ Шарапов. А.В.doc
Скачиваний:
221
Добавлен:
10.05.2015
Размер:
3.94 Mб
Скачать

8 Загрузка программы в микроконтроллер

 

Прошивать микроконтроллер можно прямо из программатора, встроенного в компилятор CodeVisionAVR через простейший адаптер (буквально "пять проводков"), соединяющих принтерный порт ПК с прошиваемым микроконтроллером AVR. Результат написания и компиляции программы – файл-прошивку с расширением .hex (и возможно файл с содержимым для EEPROM МК) нужно записать ("зашить") в МК. МК AVR многократно программируются прямо в устройстве, в котором будут работать. Та-

кое программирование называют ISP.  Для этого установите на плате вашего устройства 6 контактов, а лучше 6-ти штырьковый разъем для ISP.

Рис. 8.1 –Разъем для внутрисхемного программирования

Вывод 2 нужно подключить к плюсу питания МК, если вы собираетесь использовать программатор, питающийся от вашего же устройства, например фирменный ISP AVR. Для "5 проводов" этот вывод не подключается. Для программирования достаточно 5 контактов. Соответственно и разъем, который вы будете использовать, может быть любым удобным для размещения на плате и имеющим минимум 5 контактов. Все контакты ISP разъема подсоединяются к  ножкам  МК в соответствии с названиями.

Будем пользоваться  интерфейсом программирования, встроенным в компилятор CodeVisionAVR, и в нем разрабатывать программу для МК. 

Вы можете в компиляторе CodeVisionAVR открыть меню "Project -> Configure -> After Make"  и отметить чек бокс  "Program the chip", затем ОК.

Еще нужно в меню "Settings  -> Programmer" выбрать ваш адаптер для программирования.

После безошибочной компиляции программы вам будет доступна кнопка "Program" - нажмите на нее и произойдет программирование МК - т.е. файл .hex будет загружен в память программ МК. Затем МК будет "сброшен" (на ножку RESET будет подан лог. 0, а затем опять "1") и начнет выполнять только что прошитую (загруженную в него) программу.

Вам даже не нужно будет отсоединять адаптер программирования от вашего устройства,  если вы не используете в устройстве последовательный интерфейс SPI. 

В диалоге настройки программирования не трогайте галочки установки фьюзов МК, если не разобрались четко, что они делают! Иначе вы можете отключить режим ISP или внутренний RC-генератор и для следующего программирования вам понадобится ставить кварц с конденсаторами.

В ATmega с завода включен внутренний RC-генератор на  частоте 1 МГц   (уточните это по ДШ  и его возможные частоты). Если вам нужна другая частота или нужно включить внешний кварцевый или керамический резонатор – вам нужно запрограммировать некоторые фьюзы по таблицам из ДШ. Незапрограммированный  фьюз – 1, запрограммированный  – 0.

 

Пример: чтобы включить в ATmega16 внешний кварцевый резонатор с частотой от 3 до 8 МГц с конденсаторами (по схеме рис. 12 ДШ) найдите в ДШ раздел "System Clock". В таблице 2 указаны комбинации фьюзов для разных источников тактового сигнала. Далее написано, что с завода МК поставляется с такой комбинацией фьюзов

СKSEL   0001     SUT  10       CKOPT   1

По таблице 4  находим: для кварца с частотой от 3 до 8 МГц  нужны конденсаторы от 12 до 22 пФ и  вот  такая  комбинация  фьюзов :

СKSEL   1111     SUT  10       CKOPT   1

  Установка фьюзов в программаторе компилятора  CVAVR показана на рисунке. Сняв галочку "Program Fuse Bit(s)" вы cможете не менять установку фьюзов!

Рис. 8.2 – Окно программатора

Для прошивания МК нажмите кнопку "Program All". Для использования ATmega16 с внешним кварцевым или керамическим резонатором на частотах выше 8 МГц вам нужно установить фьюзы как в примере выше, но запрограммировать CKOPT  – значит сделать его "0". Т.е. вам нужна такая комбинация:

СKSEL   1111     SUT  10       CKOPT   0

Приведенный ниже адаптер  "5-проводков" (источник информации указан на рисунке) прекрасно работает с компилятором CodeVision. Для изготовления адаптера лучше взять "принтерный" шнур – он длинный и экранированный, а неэкранированные проводки не стоит делать более 10-15 см.

 

Рис. 8.3 –Адаптер связиAVRс персональным компьютером

Подробно работа с программатором описана в его help. В help CVAVR и VMLAB вы можете найти информацию по работе с компилятором и симулятором, а также ДШ для любого типа микроконтроллера AVR. Естественно, эта информация приводится на английском языке. На русском языке эти вопросы хорошо представлены в работе [9], на базе которой построены разделы [5-9] настоящего учебного пособия и которую можно рекомендовать для более детального изучения дисциплины.