22 Şubat 2014 Cumartesi

C ile programlama uygulamaları-12

PWM Modu Uygulaması-1



AMAÇ:



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


YAPILACAK İŞ:



PWM sinyallerinin frekansı sabit kalarak görev çevrimi sürelerinin değiştirilmesi işlemi incelenecek.


DENEYİN BAĞLANTI ŞEMASI




    PROGRAM KODU:



#include <16f877a.h>



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



#use delay (clock=4000000) // Gecikme fonksiyonu için kullanılacak osilatör frekansı belirtiliyor.



#use fast_io(a) //Port yönlendirme komutları A portu için geçerli



#use fast_io(c) //Port yönlendirme komutları C portu için geçerli



int i=5; // Tamsayı tipinde değişken tanımlanıyor



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



void main ( )





setup_psp(PSP_DISABLED); setup_timer_1(T1_DISABLED);



setup_adc_ports(NO_ANALOGS); setup_adc(ADC_OFF);



set_tris_a(0×03);



set_tris_c(0×00);



setup_ccp1(CCP_PWM);



setup_ccp2(CCP_PWM);



setup_timer_2(T2_DIV_BY_16,170,1);



set_pwm1_duty(i);



set_pwm2_duty(i);



while(1)





if (input(pin_a0))





delay_ms(20);



while(input(pin_a0));



i+=3; //



if (i>=170)



i=170;



set_pwm1_duty(i);



set_pwm2_duty(i);





if (input(pin_a1))





delay_ms(20);



while(input(pin_a1));



i-=3;



if (i<5)



i=5;



set_pwm1_duty(i);



set_pwm2_duty(i);










İŞ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.





C ile programlama uygulamaları-12

Hiç yorum yok:

Yorum Gönder