Трепћућа ЛЕД је први корак који бисте желели да започнете са електроником. У овом упутству ћемо повезати ЛЕД са АТмега32, који је микроконтролер серије АВР. Трепћемо ЛЕД диодом у пола секунде.
Компоненте потребне
Хардвер:
Микроконтролер АТмега32А
Напајање (5в)
АВР-ИСП програмер
Кондензатор 100уФ
ЛЕД
Отпорник од 220Ω
Софтвер
Атмел студио 6.1
Прогисп или фласх магија
Круг и радно објашњење
Као што је приказано на горњем дијаграму кола за повезивање ЛЕД-а са АВР микроконтролером, овде није потребно повезивати спољни кристал. Будући да АТМЕГА подразумевано ради на интерном осцилатору отпорник-кондензатор од 1 МХз. Само када је потребна тачност сата, пошто се примени високо прецизно бројање, спојни кристал се поставља. Када се контролер први пут купи, он подразумевано ради на унутрашњем кристалу.
Отпорник је овде повезан да ограничи цртање струје из ЛЕД диоде. Запамтите, контролер не може да обезбеди више од 30 мА на терминалима.
Објашњење програмирања
Програм за АТмега32 микроконтролер за трептање ЛЕД диоде приказан је испод. Коментари у коду објашњавају сврху поједине линије кода.
#инцлуде // заглавље да би се омогућила контрола протока података над пиновима
#дефине Ф_ЦПУ 1000000 // јавља фреквенцију кристала контролера
#инцлуде
инт маин (воид)
{
ДДРД = 0кФФ; // (или 0б1111 1111) У АВРСТУДИО за наређивање контролној јединици да користи одређени бит порта као улаз користимо „НУЛА“, јер му кажемо да користи одређени бит као излаз користимо „ОНЕ“. Пошто смо ставили осам „ЈЕДНИХ“, сви пинови ПОРТД-а су омогућени као излаз. Ако ставимо нулу као „0б1111 0111“, сада су сви пинови 0,1,2,4,5,6,7 омогућени као улази, а ПИН 3 је омогућен као улаз.
док (1) // петља траје заувек и ЛЕД ће вечно трептати
{
ПОРТД = 0кФФ; // каже се да сви пинови ПОРТД-а пружају излаз од 5в или им је речено да повуку високо (ЛЕД ОН)
_делаи_мс (220); // кашњење за 200мс
_делаи_мс (220);); // кашњење за 200мс
ПОРТД = 0к00; // каже се да сви пинови ПОРТД-а пружају масу на излазу или повлачењу
_делаи_мс (220);); // кашњење за 200мс
_делаи_мс (220);); // кашњење за 200мс
}
}