Первые шаги в программировании на языке Си для микроконтроллеров AVR следует начинать не с приобретения контроллера и программатора, а с чтения книг и освоения работы в различного рода средах программирования типа AVR Studio, CodeVisionAVR, или  Flowcode V4 for AVRs. А самое удобное начинать осваивать программирование микроконтроллеров, с анализа простых программных примеров один из которых можно можно найти здесь.

Простая программа для микроконтроллера Аttiny2313:

Многие радиолюбители начинают освоение языка Си и микроконтроллеров AVR именно работая с весьма удобной и простой средой программирования AVR Studio. Которую легко скачать и поставить следует только знать что необходимо после установки AVR Studio ещё скачать и поставить WinAVR. Обе программных среды есть в свободном доступе.

Для начала следует научиться правильно, создавать проекты в AVR Studio на языке Си. Для самообразования написано уже достаточно много книг в которых вы сможете  прочитать как правильно создать проект в AVR Studio.

Рисунок №1 – Выбор нового проекта
Рисунок №2 – Выбираем язык программирования Си, называем проект bipmip и выбираем папку для сохранения (где вам удобно)

Следует только отметить, что папка, куда вы будите сохранять свои проекты и путь к ней не должны содержать русских букв (только английский алфавит) иначе ничего не получится.

Рисунок №3 – Выбираем тип симулятора и тип микроконтроллера

После того как вы успешно создали свой проект можно начинать прописывать программу.

Листинг программы для микроконтроллера:

Листинг программы – это ничто иное как её текст (от самой программы до комментариев)

//_____________________________________________________\\
//|             |                     |               |\\
//|    Дата     |   Микроконтроллер   |   Автор       |\\
//|_____________|_____________________|_______________|\\
//|             |                     |               |\\
//| 08.11.2013  | Attyni2313 [4 МГЦ]  |  bip-mip.com  |\\
//|_____________|_____________________|_______________|\\
//|
//|Версия 1.2    
//|
//
/*||Мигалка с двумя светодиодами|| 
  Поочерёдно мигает два светодиода подключённых к порту B0 и B1 микроконтроллера Attyni2313*/

#include <avr/io.h>         // Подключаю Библиотеку ввода-вывода
#include <util/delay.h>   // Подключаю Библиотеку задержек

char main(void)               //Выделяю место для основной вункции программы (контейнер для программы)
{ 		             //Начало основной функци

    DDRB =  0b0000011;       //Конфигурирую порты B0 и B1 как вывод (1 - означает выход)
    PORTB = 0b0000010;	     //Определяю начальное состояние порта B1 ( на выводе есть логическая единица)
    while(1) 		     //Запускаю цыкл
    {                                //Начало цыкла
        _delay_ms(50);		     //Задержка 50 ms (ждёт 50 ms и выполняет следующее действие)

        PORTB = PORTB>>1;	     //Переключаю логическую единицу с порта B1 на B0 
        if (PORTB=0b0000001)	     //Ставлю условие "если единица на порте B1"
    	_delay_ms(50);		     //Снова задержка 50 ms (ждёт) 
        {PORTB = 0b0000010;}         //Вернуть в начальное состояние 

	}                                 

    return 0;
}

Безусловно, если вы новичок в программировании микроконтроллеров на языке СИ, то вам непонятно ни строчки в моём листинге. Настоятельно рекомендую вам обложится книжками и пособиями по программированию, не ленитесь их читать – со временем всё станет ясным!

Следует только отметить:

// или сочетание /*текст */ — Это  всё означает комментарий – пояснение тех действий которые выполняет программа (комментарий необходим для вас), для компилятора, комментарии невидимы – они просто не существуют.

Я из комментариев составляю себе удобные заготовки или шпаргалки – что очень выручает особенно когда вы новенький в программировании.

Прописав листинг программы в специальном окне вам необходимо её сохранить и скомпилировать (для компиляции нужно нажать F7).

Скомпилировать – это означает проверить программу на наличие ошибок как логических так и грамматических, а их часто допускают даже опытны программисты не говоря уже о начинающих радиолюбителях.

Если листинг моей программы набран вами правильно то ошибок быть не должно и вы увидите зелёный свет, а если нет – то будьте внимательными проверяйте на ошибки и пытайтесь понять в чём там дело.

Рисунок №4 – Скомпилированная правильно программа

Для того что бы проверить как работает программа после компиляции достаточно нажать Shift+F5 и программа покажет вам что происходит.

Рисунок №5 – Горит светодиод подключённый к порту РВ1
Рисунок №6 – Горит светодиод подключённый к порту РВ0

P.S.  Я постарался привести наиболее понятный и простой пример примитивной программы для микроконтроллера Аttiny2313. Я не являюсь опытным программистом потому с радостью принимаю конструктивную критику и полезные советы. Эта программа далеко не единственное что можно найти на нашем сайте https://bip-mip.com/

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *