В самом начале работы с микроконтроллерами новички сталкиваются с одной очень неприятной проблемой, а именно проблемой отсутствия необходимого оборудования. Собрать настоящий программатор с буфером довольно сложно, да и времени жалко. Именно на такие случаи рассчитан этот проект.
Ниже вы можете ознакомиться с очень скромным списком необходимых деталей:
- Микроконтроллер Atmel ATtiny2313
- Гнездо для микроконтроллера
- Разъем для соединения с параллельным портом DB25
- Несколько разъемов (см. проект)
- Пара светодиодов
- Несколько резисторов
Внимание! В вашем компьютере должен быть параллельный порт ( LPT ).
Теперь немного о программном обеспечении. Работать с микроконтроллером вы можете как и с Linux ( на основе Debian, Ubuntu например ), так и с Windows.
Для Windows:
Для начала необходимо скачать программу WinAVR.
Далее запустите install_giveio.bat который находится в директории C:winAVRin . Таким образом вы откроете доступ к параллельному порту.
Для Linux (на примере Ubuntu 8.04):
Открываем терминал и выполняем следующую команду:
sudo apt-get install avrdude avr-libc binutils-avr gcc-avr
Теперь необходимо выполнить два следующих файла (они сохранены как .txt, не обращайте на это внимания):
Теперь перейдем на уровень «железа», а именно сделаем кабель. Для этого необходимо соединить определенные выводы параллельного порта с соответствующими вводами микроконтроллера (см. datasheet). Ниже приведена таблица подключения:
Вывод параллельного порта AVR Цвет
2 MOSI Оранжевый/Серый
11 MISO Оранжевый
1 SCK Зеленый
16 RESET Коричневый
18 GND Коричневый/Серый
Внимание! Если вы собираетесь использовать другой микроконтроллер, да и вообще для защиты параллельного порта лучше всего установить резисторы на 2,11,1,16 выводы сопротивлением в 150 Ом. В противном случае вы рискуете сжечь порт!
Зеленый провод – Reset. Проверьте, правильно ли вы все установили!
Теперь для удобства можно собрать плату с гнездом для МК и штырьками для подключения программатора.
Что бы проверить работоспособность собранного нами программатора сделаем маленький проект. Для этого соединим вместе светодиод и резистор (150Ом достаточно).
Одного будет достаточно.
Процедура программирования практически не отличается ни в Ubuntu, ни в Windows, поэтому ниже приведено несколько универсальная инструкция:
- Создаем директорию для нашего проекта
- Копируем Makefile в эту директорию
Makefile можно загрузить здесь.
- Копируем исходный код
Исходный код можно загрузить здесь.
- Отредактируйте Makefile таким образом, что бы там отображалась информация о микроконтроллере который вы собираетесь использовать и о названии проекта.
Финальный шаг отличается – для Windows :
- Вам осталось переименовать Makefile.txt в Makefile
Для Linux:
- Переименовываем Makefile.txt в Makefile, затем убираем # перед строкой
dev/parport0
и ставим # перед строкой
lpt1
Приступаем к программированию:
Вставляем микроконтроллер в гнездо и подключаем программатор к комьютеру.
Теперь:
В системах с Linux:
1) Переходим в директорию нашего проекта (команда cd в терминале, для помощи наберите cd man)
2) Набираем make
В системах с Windows:
1) Открываем LED_Demo.c используя Programmer's Notepad.
3) Выбираем Tools и Make Program
Смотрим, что бы в логе не появилось ошибок. Если их нет – то все прошло удачно! Поздравляю!