You are on page 1of 1

#include "D:\10.Training\Vi dieu khien\rc\main.h" char dem; char value,value1,value2,value3; #INT_TIMER0 void set_servo() { set_timer0(130); dem++; //bie^'n ?

e^'m ta(ng thm 1 gi tri. mo^~i 0,1ms if (dem >= 200) // 200*0,1=20ms (xung 50Hz) { dem=0; // reset bie^'n ?e^'m output_high(PIN_d1); ; //bt co^?ng output_high(PIN_d2); ; } if (dem >= value) output_low(PIN_d1); //ta('t co^?ng if (dem >= value1) output_low(PIN_d2); } void main() { set_tris_d(0x00); //set cc chn o+? port C ?ie^`u l chn xua^'t output_d(0); enable_interrupts(int_timer0); //cho php nga('t timer0 enable_interrupts(global); setup_timer_0(RTCC_INTERNAL|RTCC_DIV_4); //chon ta^`n so^' cho timer0 tu+` clock chnh (16MHz) set_timer0(130); //ci ?a(.t timer ?e^? timer0 trn mo^~i 0,1ms /* so bat dau dem len = 256(so ket thuc) - timer*(Fosc/(4*Prescaler)) vd: thach anh(fosc = 20mhz), thoi gian xay ra ngat = 0.1ms (chon) ta can tim so bat dau de dem len 256 xay ra mot ngat, o vi du nay la 130, timer: tong thoi gian de xay ra mot ngat = thoi gian thuc cua may nhan voi so la n da dem Prescaler la RTCC_DIV_4 */ while(true) //vng la(.p { value=11; delay_ms(2500);//gi tri. gn cho cc bie^'n ?e^? ?ie^`u khie^?n ?o^. ro^.ng xung value=1; delay_ms(2500); value=20; delay_ms(2500); //value=18; //delay_ms(2500); } }

You might also like