![]() |
![]() |
#3 |
Nhập môn đệ tử
Tham gia ngày: Jun 2007
Bài gửi: 9
: |
em cảm ơm anh namqn,em cũng đã đọc kỹ các hướng dẫn trong CCS và cũng đẫ thay đổi các option trong setup_power_pwm_pins(),mà vẫn không được anh ạ. anh xem đoạn code em viết có sai không nhé
Code:
#include <18F4431.h> #include <DEF_18F4431.h> #fuses HS,NOWDT,NOPROTECT,NOLVP #use delay(clock=20000000) #use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7, BRGH1OK) int16 counter=0; int16 soxung=0; int16 period; int1 BLINK=1; int16 ch=16383; #int_EXT EXT_isr() { output_bit(PIN_D7, BLINK); //đo xung trên chân D7 xem đã vào ngắt chưa counter++; BLINK = !BLINK; output_bit(PIN_D7, BLINK); } #INT_TIMER1 void ngat_timer() { int i; set_timer1(0xEC78); // sets timer to interrupt in 1ms soxung=counter; counter = 0; // reset counter } void main() { setup_timer_1(T1_INTERNAL|T1_DIV_BY_1); // setup interrupts enable_interrupts(INT_TIMER1); enable_interrupts(global); enable_interrupts(int_ext); ext_int_edge(H_to_L); enable_interrupts(GLOBAL); period = 4095; //Frequency = Fosc / (4 * (period+1) * postscale) setup_power_pwm_pins (PWM_ODD_ON, PWM_ODD_ON, PWM_OFF, PWM_OFF); setup_power_pwm (PWM_CLOCK_DIV_4|PWM_FREE_RUN, 1, 0, period, 0, 1, 0); //add dead time while (true) { ch = getc(); set_power_pwm0_duty(ch); set_power_pwm2_duty(ch); putc(ch); } } thay đổi nội dung bởi: falleaf, 29-06-2007 lúc 03:19 PM. |
![]() |
![]() |
Ðiều Chỉnh | |
Xếp Bài | |
|
|