View Single Post
Old 30-07-2011, 02:24 AM   #11
ocean_86
Đệ 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!!!
ocean_86 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn