Embeded sistemlərKoteqoriyasız

ATtiny13 – gecikmə funksiyası ilə yanıb-sönən LED

Bu kiçik layihə LED-in ATtiny13 mikrokontrollerinə necə ibirləşəcəyini və sayrışması üçün sadə bir proqramın necə yazılacağını göstərir. Kod Github-dadır, buraya vurun.

LEDs are widely used for various display functions and can be directly (not quite directly, through the resistor) driven from the pins of AVR chip. In our circuit a LED is connected to PB0 and it is made to blink for roughly every second by using delay function.

LEDlər müxtəlif display funksiyaları üçün geniş istifadə olunur və birbaşa AVR çipinin pinlərindən idarə oluna bilər (birbaşa deyil, müqavimət vasitəsi ilə). Dövrəmizdə LED PB0-a qoşulur və gecikmə funksiyasından istifadə edərək saniyədə bir dəfə yandırlıb-söndürülür.

Tələb olunan hissələr

Dövrə diaqramı

blinky-one-led

Proqram təminatı

Bu kod C ilə yazılmışdır və avr-gcc istifadə edərək tərtib(compile) edilə bilər. Bu layihənin tərtib olunmasına dair daha ətraflı məlumat burada.

#include <avr/io.h>
#include <util/delay.h>

#define LED_PIN PB0                     // PB0 as a LED pin

int
main(void)
{

        /* setup */
        DDRB = 0b00000001;              // set LED pin as OUTPUT 
        PORTB = 0b00000000;             // set all pins to LOW

        /* loop */
        while (1) {
                PORTB ^= _BV(LED_PIN);  // toggle LED pin
                _delay_ms(500);
        }
}

Əlaqəli Məqalələr

0 0 səslər
Article Rating
Abunə ol
Xəbər ver
guest

0 Comments
Sətir içi geri bildirimlər
Bütün şərhlərə baxın
Back to top button
0
Fikirlərinizi bilmək istərdik,lütfən şərh yazın.x