Первая программа, попробуем помигать светодиодом, через порты ввода, вывода на микроконтроллере 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 и заливаем в микроконтроллер.

Исходный код программы Скачать архив