Каталог
Меню
Научно-производственное предприятие "АВЕРЭЛ" - Разработка и производство электроники, электрооборудования и автоматики.

Урок 1. Микроконтроллер AVR мигание светодиодом

27.02.2019 11:36
    Создадим первую программу для микроконтроллера AVR,  для начала помигаем светодиодом. Программу создадим в самом простом, на мой взгляд, компиляторе для начинающих Bascom AVR. Для начала необходимо выбрать микроконтроллер, который мы будем использовать. В принципе для мигания светодиодом можно взять любой микроконтроллер я буду использовать микроконтроллер ATMEGA8,  забегая вперед сразу скажу, что можно адаптировать программу под любой камень лишь изменив подключаемый файл описания, далее я опишу, как это можно сделать.  
Итак, начнем:
1. Создаем новый файл в программе Bascom AVR с расширением .bas желательно сохранять файл проекта и файл proteusa в одной папке. На рисунке 1 представлен текст программы.
2. Объявляем наш микроконтроллер, подключаем файл описания на данный микроконтроллер.
3. Задаем частоту нашего кварцевого резонатора
4. Настраиваем порты ввода-вывода,  чтобы работать с ними, в нашем случаи будем использовать порт PORTB, но можно использовать и другую ножку порта.

Текст программы мигание светодиодом:
'-------------------------------------------------------------------

$regfile = "m8def.dat"       'заголовочный файл микроконтроллера
$crystal = 4000000           ' частота кварцевого резонатора

DDRB.0 = 1                    ' Ножка порта PORTB.0 на выход
PORTB.0 = 0                 ' Вначале на ножке PORTB.0 выставляем ноль

'Основной цикл программы
'-----------------------------------------------------------
Do

'Мигание светодиодом
PORTB.0 = 1       'Зажигаем светодиод
Wait 1                  ' Задержка 1 секунда
PORTB.0 = 0           ' Гасим светодиод
Wait 1                  ' Задержка 1 секунда

Loop                    ' Конец цикла 
'-----------------------------------------------------------
End                      'Конец программы


Если необходимо скажем использовать вместо микроконтроллера ATMEGA8 микроконтроллер ATMEGA128, то достаточно изменить одну строчку программы
 $regfile = "m8def.dat"  на  строчку $regfile = "m128def.dat"  и все  программа уже будет работать с микроконтроллером ATMEGA128.
Если микроконтроллер ATMEGA32, то соответственно  $regfile = "m32def.dat" и все !!!
   Если Вы хотите использовать другую ножку порта скажем PORTB.4 , то достаточно в программе изменить везде где встречается текст DDRB.0 и PORTB. 0 на  DDRB.4 и PORTB.4 и все! А если необходимо использовать скажем порт С, то соответсвенно будет DDRC и PORTC + незабываем указывать нужный вывод (ножку) порта микроконтроллера.
 
Рисунок 1 - Программа мигание светодиодом в BASCOM AVR




Рисунок 2 - Испытание программы мигание светодиодом в Proteuse


А если необходима программа мигания светодиодом на языке Си :
//Программа написана в AVR Studio
/*
 *  Author: Aleksey
 */ 

#include <avr/io.h>
#define F_CPU 4000000UL
#include <util/delay.h>

void main(void)
{
    DDRB= 0b00000001;  //b7-0 b6-0 b5-0 b4-0 b3-0 b2-0 b1-0 b0-1
    // Ножка порта RB0 - на выход
    
    while(1)
    {
   PORTB |= (1<<0); //зажигаем светодиод
   _delay_ms(1000); //задержка 1 секунда
   PORTB &= ~(1<<0);//гасим светодиод
   _delay_ms(1000); //задержка 1 секунда

    }
}


Прикрепить изображения

Получать уведомления о новых коментариях:


Вернуться к списку
Корзина товаров
Забыли пароль?
Яндекс.Метрика