![]() |
|
Tài trợ cho PIC Vietnam |
Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC |
|
Ðiều Chỉnh | Xếp Bài |
![]() |
#3 |
Nhập môn đệ tử
Tham gia ngày: Jan 2011
Bài gửi: 4
: |
Cám ơn bác đã trả lời.
Em muốn hỏi thêm là như bác nói thì với thạch anh 20M thì thời gian lấy mẫu nhỏ nhất là 0.4 us, vậy sao em lấy mẫu trong 20 us mà chỉ được có 3 mẫu, các bác xem code có gì sai không??? code: #include<16f877.h> #include <_df_.h> #use delay(clock = 20000000) #use rs232(baud = 9600,parity = n,xmit = pin_C6, rcv = pin_C7) int var_adc[]; int var_timer1_count = 0; int16 var_adc_count = 0; void init() { enable_interrupts(int_timer1); setup_timer_1(t1_internal | t1_div_by_2); set_timer1(65486); //T_timer = (65536-65486)*4*2/20M = 20us } #int_timer1 void interrupt_timer1(void) { var_timer1_count++; if(var_timer1_count != 2) printf("%lu\n\r",var_adc_count); set_timer1(65486); } void main(void) { enable_interrupts (GLOBAL); setup_adc(adc_clock_div_2); setup_adc_ports(AN0_AN1_VSS_VREF ); set_adc_channel(0); init(); while(true) { if(var_timer1_count == 2) { var_adc[var_adc_count++] = read_adc(); } } } |
![]() |
![]() |
Tags |
ladykiller, tdm |
|
|