![]() |
|
Tài trợ cho PIC Vietnam |
||||||||
| PIC - Thiết kế và Ứng dụng Ý tưởng cho các sản phẩm sử dụng PIC/dsPIC và các sản phẩm của Microchip |
|
|
Ðiều Chỉnh | Xếp Bài |
|
|
#9 |
|
Đệ tử 1 túi
Tham gia ngày: Mar 2010
Bài gửi: 12
: |
cám ơn picpen
mình đã so pha như vậy rồi đó còn đây là chương trình của mình, mình viết mà nó không chạy(không đo được khoảng thời gian lệch pha đó) #INCLUDE <16F877A.h> //#include <math.h> #DEVICE *=16 ADC = 10 #FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, BROWNOUT, NOLVP, NOCPD, NOWRT #USE DELAY (CLOCK = 12000000) #INCLUDE <lcd_lib_4bit.C> //================================================== ============================ // DINH NGHIA THANH GHI, PORT, CAC CHAN #byte PORTA = 0x05 #byte PORTB = 0x06 #byte PORTC = 0x07 #byte PORTD = 0x08 #byte PORTE = 0x09 #byte TRISA = 0x85 #byte TRISB = 0x86 #byte TRISC = 0x87 #byte TRISD = 0x88 #byte TRISE = 0x89 #bit RB7 = 0X06.7 #bit RB6 = 0X06.6 #bit RB5 = 0X06.5 #bit RB4 = 0X06.4 char BANG[90]={0x01,0x03,0x05,0x06,0x08,0x0A,0x0C,0x0D,0x0F, 0x11,0x13,0x14,0x16,0x18,0x19,0x1B,0x1D,0x1E,0x20, 0x22,0x23,0x25,0x27,0x28,0x2A,0x2B,0X2D,0x2E,0x30, 0x32,0x33,0X34,0x36,0x37,0x39,0x3A,0x3C,0x3D,0x3E, 0x40,0x41,0x42,0x44,0x45,0x46,0x47,0x49,0x4A,0x4B, 0x4C,0x4D,0x4E,0x4F,0x50,0x51,0x52,0x53,0x54,0x55, 0x56,0x57,0x58,0x59,0x59,0x5A,0x5B,0x5C,0x5C,0x5D, 0x5D,0x5E,0x5F,0x5F,0x60,0x60,0x61,0x61,0x61,0x62, 0x62,0x62,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63, 0x64}; int16 temp2,k; int16 a1,b1,c1, state; #int_timer1 #int_ext void ngat() { if(k=0) { set_timer1 (0); ext_int_edge(l_to_h); k = 1; } else { temp2=get_timer1(); ext_int_edge(h_to_l); k = 0; state = 1; } } void main() { k=0; temp2 = 0; state = 0; output_bit (pin_D2, 0); // DK RS output_bit (pin_D3, 1); // DK CS enable_interrupts(global); enable_interrupts(int_ext); ext_int_edge (l_to_h); enable_interrupts(int_timer1); setup_timer_1(t1_internal|t1_div_by_1); while(true); { if(state=1) { temp2 = get_timer1(); temp2=bang[temp2-90]; state = 0; a1=temp2/100; temp2=temp2%100; b1=temp2/10; c1=temp2%10; } } lcd_putcmd(0xc0); printf(lcd_putchar,"COS = "); lcd_putchar(a1 + 0x30); printf(lcd_putchar,"."); lcd_putchar(b1 + 0x30); lcd_putchar(c1 + 0x30); } rất mong các cao thủ giúp đỡ em. thanks!!! |
|
|
|
| Ðiều Chỉnh | |
| Xếp Bài | |
|
|