You are on page 1of 9

NDEKLER 1. nsz 2. PIC16F877A ile Darbe Genilik Modlasyonu (PWM) Uygulamas 3.

PIC16F877A ile Darbe Genilik Modlasyonu (PWM) ve Analog Dijital evrimi (ADC) Uygulamas 4. Kaynaklar

NSZ
Bu proje almasnda PIC16F877A ve HI TECH C kullanarak g elektronii uygulamalarna temel bir giri yaplmtr.

Bu proje almamda bana yardmlarn ve bilgilerini esirgemeyen Sayn Yrd. Do. Dr. Tark ERFDANa, Sayn Nasr ORUHa ve Mesut RNCANa teekkrlerimi ve sayglarm sunmay bir bor bilirim.

1. PIC16F877A ile Darbe Genilik Modlasyonu (PWM) Uygulamas


Darbe Genilik Modlasyonu (Pulse Width Modulation, PWM) kare dalgann bir periyot ierisindeki doluluk boluk orann deitirerek sinyalin ortalama deerini deitiren bir yntemdir. PIC16F877Ay HI TECH C ile programlayarak MOSFETle sabit mknatsl bir DC motorun srlmesi iinde yazlan program kodlar aadaki gibidir:

#include <htc.h> #include "delay.h" void main(void) { TRISA=0x01; TRISC=0x00; PORTC=0x00; PR2=24; CCPR1L=12; T2CKPS1=1; T2CKPS0=0; TMR2ON=1; CCP1M3=1; CCP1M2=1; CCP1M1=1; CCP1M0=1; for(;;) { }

2. PIC16F877A ile Darbe Genilik Modlasyonu (PWM) ve Analog Dijital evrimi (ADC) Uygulamas
Bu uygulamada, lineer potansiyometre zerindeki gerilim PIC16F877Adaki ADCye okutturularak PWM doluluk oran belirlenecek ve MOSFETle sabit mknatsl DC motor srlecektir. HI TECH C program satrlar aadaki gibidir: #include <htc.h> #include "delay.h" void main(void) { TRISA=0x01; TRISC=0x00; PORTC=0x00; PCFG3=1; PCFG2=1; PCFG1=1; PCFG0=0; ADFM=1; ADON=1; ADCS1=1; ADCS0=0; PR2=4; T2CKPS1=1; T2CKPS0=0; TMR2ON=1; CCP1M3=1; CCP1M2=1;

CCP1M1=1; CCP1M0=1; TMR2IF=0; TMR2IE=1; PEIE=1; GIE=1; for(;;) { CHS2=0; CHS1=0; CHS0=0; DelayUs(25); ADGO=1; while(ADGO); } } static void interrupt kesme(void) { if (TMR2IF) { CCPR1L=ADRESH; TMR2IF=0; TMR2ON=1; } }

You might also like