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