Thông báo

Collapse
No announcement yet.

[xin giúp] tạo sóng Sin bằng PIC 18f và R2R ladder

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • [xin giúp] tạo sóng Sin bằng PIC 18f và R2R ladder

    Mình hiện đang học PIC. giảng viên yêu cầu phải tạo ra một sóng hình sin bằng PIC 18f46k20 và thang điện trở "R2R ladder". Mình đã làm xong mạch và thử lập trình cho PIC chạy. Khi viết code C cho PIC, chạy thử đoạn code thì cho ra các giá trị rất đúng. Nhưng khi nạp vào chip thì kết quả ko được như mong muốn. Đoạn sóng nhận được hình Sin nhưng sai số rất nhiều, nhiễu ...
    ko biết code mình viết ra có đúng ko, bạn nào có thể kiểm tra giúp mình với
    đây là đoạn code mình viết ra :

    #include "p18f46k20.h"
    #include "delays.h"
    #include "math.h"

    /** D E C L A R A T I O N S *******************************************/


    void main (void)
    {
    int i, j, x;
    float k;
    overlay unsigned char value[256];
    TRISB = 0b00000000;
    LATB=0;
    for (i=0;i<=255;i++)
    { value[i]= i/255; // tạo ra một chuỗi các giá trị của hàm Sin để so sánh
    }

    while (1)
    {
    for(j=0;j<=255;j++)
    {
    k = ((sin((float)j/255*2*3.14159)+1)/2); // tạo sóng Sin


    for (x=0;x<=255;x++){ // so sánh với giá trị của chuỗi

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

    break;}
    else
    {//k=value[x+1];
    k=x+1;
    break;}

    }
    LATB=k; //nạp giá trị
    Delay10TCYx(150);
    }
    }
    }

  • #2
    mình muốn hỏi các bác cái này bác nào giúp minh với ?khi mình sài pin tiểu sau một thời gian thì đem ra phơi thì thấy một lớp màu trắng bám trên pin ,vậy đó là hiện tượng gì vậy ?

    cảm ơn các bác nha !!!!!!!!!

    Comment

    Về tác giả

    Collapse

    phanquangkha Tìm hiểu thêm về phanquangkha

    Bài viết mới nhất

    Collapse

    Đang tải...
    X