Timer0 Uygulaması-1

AMAÇ:

Mikrodeneleyicilerin çalışma sistemini öğrenmek, C dili ile program yazabilme ve 16F877A entegresini programlayabilme yeteneğini kazanmak.

YAPILACAK İŞ:

Timer0 kesmesinin kullanılmasını öğrenmek.

DENEYİN BAĞLANTI ŞEMASI

    PROGRAM KODU:

#include <16f877a.h>

#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD

#use delay (clock=4000000)

#use fast_io(b)

int i=0;

//****************** Timer0 Kesmesi *****************************

#int_timer0

void timer0_kesme ()

{

set_timer0(60);

i++;

if (i==10)

output_high(pin_b0);

if (i==20)

{

output_low(pin_b0);

i=0;

}

}

/********* ANA PROGRAM FONKSİYONU********/

void main ( )

{

setup_psp(PSP_DISABLED);

setup_timer_1(T1_DISABLED);

setup_timer_2(T2_DISABLED,0,1);

setup_adc_ports(NO_ANALOGS);

setup_adc(ADC_OFF);

setup_CCP1(CCP_OFF);

setup_CCP2(CCP_OFF);

set_tris_b(0x00);

output_b(0x00);

setup_timer_0(RTCC_INTERNAL | RTCC_DIV_256);

set_timer0(60);

enable_interrupts(INT_timer0);

enable_interrupts(GLOBAL);

while(1);

}

İŞLEM BASAMAKLARI

1.Devreyi bord üzerine kurunuz.

2. Kodu yazıp derleyiniz.Hex kodunu Pice yükleyiniz.

3.Devrenin çalışmasını inceleyiniz.

DEĞERLENDİRME ÇALIŞMALARI

1.Kodların yanına açıklamalarını yazınız.

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz