View Single Post
Old 05-03-2010, 11:40 PM   #1
phanquangkhanh
Nhập môn đệ tử
 
Tham gia ngày: Feb 2010
Bài gửi: 3
:
tạo sóng Sin bằng PIC và R2R ladder

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 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn