|
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 |
10-12-2009, 10:44 AM | #3 |
Nhập môn đệ tử
Tham gia ngày: May 2007
Bài gửi: 9
: |
E biết vậy nhưng ý e hỏi là khi nó đang thực hiện ngắt thì nó có đếm không hay là khi thực hiện xong ngắt và trở về chương trình chính nó mới đếm tiếp ?
ngắt của e nó thế này : Code:
void timer0() { set_timer0(6); // T = 16*(256 - 6)*0.2us = 800us (ne^'u dùng tha.ch anh 4M thi thay 0.2us thành 1us) ++count; set_adc_channel(0); // RA0/AN0(Pin2) is analog input channel delay_us(10); ap_adc=read_adc(); ap_dc=ap_dc+ap_adc; set_adc_channel(1); delay_us(10); dong_adc=read_adc(); dong_dc=dong_dc+dong_adc; power=(ap_adc-v_offset)*(dong_adc-i_offset); value=power+ value; if(count==625) //800*200=240000 { count=0; v_offset=ap_dc/625; i_offset=dong_dc/625; power_tb=(value/625)*1.13; //Ki=480 //Kv=639 //power_tb=(ap_adc*Kv*(5/1024))*(dong_adc*Ki*(5/1024)) power_sum=power_tb*0.5/(3600*1000); //power_tb*0.2/(3600*1000) __10 chu ky temp=power_sum+temp; if(temp>=0.001) { sum=sum+temp; temp=temp-0.001; RB7=1; delay_ms(20); RB7=0; } ap_dc=0; dong_dc=0; value=0; } } thay đổi nội dung bởi: phamminhtuan, 10-12-2009 lúc 11:15 AM. Lý do: Định dạng code |
|
|