PDA

View Full Version : tạo sóng Sin bằng PIC và R2R ladder


phanquangkhanh
05-03-2010, 11:40 PM
Mình mới lần đầu tiên làm quen với PIC và được ra bài tập phải tạo sóng Sin bằng PIC 18f46k20 và sử dụng thang điện trở R2R.
mạch thì mình đã tạo xong. Nhưng code thì viết nhưng ko cho ra kết quả mong muốn.
các bạn có thể xem wa và giúp mình được ko ?
đoạn code mình viết :

void main (void)
{
int i, j, x;
float k;
overlay unsigned char value[256];
TRISB = 0b00000000; // PORT B to output
LATB=0;
for (i=0;i<255;i++)
{ value[i]= 128*i/255; //tạo ra một array chứa giá trị Sin
}

while (1)
{
for(j=0;j<255;j++)
{
k=256*((sin((float)j/255*2*3.14159)+1)/2); //tạo giá trị Sin
LATB=k;

for (x=0;x<255;x++){ //so sánh với array

if(k>=value[x] && k<=((value[x]+value[x+1])/2))
{k=value[x];

break;}
else if (k<=value[x+1]&&k>=((value[x]+value[x+1])/2))
{k=value[x+1]; break;}

}
LATB=k;
Delay10TCYx(0.1);
}
}
}

phanquangkhanh
06-03-2010, 08:16 PM
có bạn nào biết chỉ mình với. đang bế tắc với nó.