- •А.В. Шарапов
- •1. Основные этапы выполнения курсового проекта по проектированию микропроцессорных систем
- •1.1 Конкретизация технического задания
- •1.2. Разработка функциональной схемы устройства,
- •1.3. Разработка схемы алгоритма прикладной программы
- •1.4. Разработка принципиальной электрической схемы
- •1.5. Разработка прикладной программы
- •1.6. Оформление и защита проекта
- •2. Варианты заданий на курсовое проектирование
- •3. Средства разработки программы на языке си, компиляторы и симуляторы
- •4. Язык си для микроконтроллеров
- •Структура программы на языке Си
- •Пункт 4. Объявление переменных
- •5. Загрузка программы в микроконтроллер
- •6. Моделирование работы микроконтроллера avrс помощью симулятораvmlab
- •Программа работы
- •Xdisp lcd(16 2 250k) pa0 pa1 pa2 pa7 pa6 pa5 pa4 nc3 nc2 nc1 nc0
- •Void main(void){
- •If(pind.6){
- •Контрольные вопросы
- •8. Пример выполнения курсового проекта измеритель частоты сети
- •Обоснование алгоритма решения задачи
- •Разработка прикладной программы
- •Version : от 17 до 120 Гц
- •0X41,0xA0,0x42,0xA1,0xE0,0x45,0xA3,0xA4,
- •Моделирование работы устройства с помощью proteus
- •Приложение а
- •2009 Приложение б
- •Приложение в
- •Приложение г
- •Приложение д
- •Приложение ж
- •Приложение и
- •Приложение к
- •Литература
5. Загрузка программы в микроконтроллер
Прошивать микроконтроллер можно прямо из программатора, встроенного в компилятор CodeVisionAVR через простейший адаптер (буквально "пять проводков"), соединяющих принтерный порт ПК с прошиваемым микроконтроллером AVR. Результат написания и компиляции программы – файл-прошивку с расширением .hex (и возможно файл с содержимым для EEPROM МК) нужно записать ("зашить") в МК. МК AVR многократно программируются прямо в устройстве, в котором будут работать. Та-
кое программирование называют ISP. Для этого установите на плате вашего устройства 6 контактов, а лучше 6-ти штырьковый разъем для ISP.
|
|
Рисунок 2 – Разъем для внутрисхемного программирования
Вывод 2 нужно подключить к плюсу питания МК, если вы собираетесь использовать программатор, питающийся от вашего же устройства, например фирменный ISP AVR. Для "5 проводов" этот вывод не подключается. Для программирования достаточно 5 контактов. Соответственно и разъем, который вы будете использовать, может быть любым удобным для размещения на плате и имеющим минимум 5 контактов. Все контакты ISP разъема подсоединяются к ножкам МК в соответствии с названиями.
Будем пользоваться интерфейсом программирования, встроенным в компилятор CodeVisionAVR, и в нем разрабатывать программу для МК.
Вы можете в компиляторе CodeVisionAVR открыть меню "Project -> Configure -> After Make" и отметить чек бокс "Program the chip", затем ОК.
Еще нужно в меню "Settings -> Programmer" выбрать ваш адаптер для программирования (STK500).
После безошибочной компиляции программы вам будет доступна кнопка "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 показана на рис.3. Сняв галочку "Program Fuse Bit(s)" вы cможете не менять установку фьюзов!

Рисунок 3 – Окно программатора

Рисунок 4 – Адаптер связи AVRс персональным компьютером
Для прошивания МК нажмите кнопку "Program All". Для использования ATmega16 с внешним кварцевым или керамическим резонатором на частотах выше 8 МГц вам нужно установить фьюзы как в примере выше, но запрограммировать CKOPT – значит сделать его "0". Т.е. вам нужна такая комбинация:
СKSEL 1111 SUT 10 CKOPT 0
Приведенный ниже адаптер "5-проводков" (источник информации указан на рисунке) прекрасно работает с компилятором CodeVision. Для изготовления адаптера лучше взять "принтерный" шнур – он длинный и экранированный, а неэкранированные проводки не стоит делать более 10-15 см.
Подробно работа с программатором описана в его help. В help CVAVR и VMLAB вы можете найти информацию по работе с компилятором и симулятором, а также ДШ для любого типа микроконтроллера AVR. Естественно, эта информация приводится на английском языке. На русском языке эти вопросы хорошо представлены в работе [3], на основе которой построены разделы настоящего методического пособия и которую можно рекомендовать для более детального изучения дисциплины.

