![]() |
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); } } } |
có bạn nào biết chỉ mình với. đang bế tắc với nó.
|
Múi giờ GMT. Hiện tại là 12:25 AM. |
Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam