7. Как подключить светодиод к микроконтроллеру AVR

В прошлой статье мы подключили кнопку к МК, а теперь к этой же схеме с кнопкой подключим светодиод.

Как видим ничего сложного. Обычные маломощные светодиоды можно подключать через резистор прямо к выводу МК. Бывают случаи когда диод маломощный но очень яркий по своим характеристикам, тогда чтоб не сильно слепил глаза, можно резистор увеличить до 5кОм. Если диод мощный и ему будет мало 20мА вывода МК, тогда есть простой способ подключения через транзистор.

Причем программа от этого никак не измениться. Возьмем код из прошлой статьи и добавим в него пару строк.

#include <avr/io.h>

//Битовые макросы
#define ClearBit(reg, bit)       reg &= (~(1<<(bit)))
#define SetBit(reg, bit)          reg |= (1<<(bit))
#define BitIsClear(reg, bit)    ((reg & (1<<(bit))) == 0)
#define BitIsSet(reg, bit)       ((reg & (1<<(bit))) != 0)

//Макроопределения
#define BUTTON PA4
#define PORT_BUTTON PORTA
#define PIN_BUTTON PINA
#define DDR_BUTTON DDRA

#define LED PC4
#define PORT_LED PORTC
#define DDR_LED DDRC

int main(void)
{
	DDR_BUTTON = 0<<BUTTON;  //Вывод PA4 будет входом
	PORT_BUTTON= 1<<BUTTON;  //Включаем подтяжку питания МК к входу PA4
	
	DDR_LED = 1<<LED;//Вывод PC4 будет выходом
	PORT_LED= 0<<LED;//Выключим выход.
	
	
    while(1)
    {
		if (BitIsClear(PIN_BUTTON,BUTTON))
		{
			SetBit(PORT_LED,LED);//Включим светодиод
		} 
		else
		{
			ClearBit(PORT_LED,LED);//Выключим светодиод
		}
		
    }
}

Как видим ничего сильно сложного. А сейчас посмотрим как это выглядит на видео.