Первая программа, попробуем помигать светодиодом, через порты ввода, вывода на микроконтроллере Atmega8. Освоим простейшие команды с помощью которых зададим частоту мигания светодиода.
1. Создаем новый проект в Atmel Studio 7 по пути File > New > Projec..., выбираем C/C++ и тип проекта GCC C Executable Project, вводим название проекта (Name: и Solution name:).
2. Выбираем тип микроконтроллера с которым будем работать, в нашем случае Atmega8.
Программа нам выдает код в файле main.c*
Приводим его к читабельному виду, удаляем лишние комментарии.
Рисуем электрическую схему включения нашего светодиода:
И так схема у нас есть, на ней обозначены микроконтроллер, источник напряжения 5В, резистор, светодиод, а также обозначены выводы для подключения программатора, вернемся к программе.
Светодиод у нас подключен к порту РВ0, настроим в программе ножку № 14 порта на выход, допишем в программе DDRB = 0b000000001;. Чтобы наш светодиод замигал, добавим в программу библиотеку задержек #include <util/delay.h>, а для мигания будем использовать функцию _delay_ms(), далее с помощью оператора #define укажем программе, что наш контроллер будет работать от внутреннего генератора с частой 1МГц допишем в код #define F_CPU 1000000UL.
Вот такой получился код:
Осталось дописать только пару строк в бесконечный цикл wile, для того чтобы наш светодиод замигал, допишем -
В функции _delay_ms(); в скобках устанавливаем время задержки в миллисекундах, в нашем случае 800 миллисекунд это 0,8 секунды.
Нажимаем кнопку Build компиляции нашего проекта, смотрим что проект собрался без ошибок, ищем файл с расширением hex и заливаем в микроконтроллер.
Исходный код программы Скачать архив