Thông báo

Collapse
No announcement yet.

Không điều khiển được 0804, các a xem giúp e với!!! Please....!!!

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

  • Không điều khiển được 0804, các a xem giúp e với!!! Please....!!!

    Hiện tượng là 0804 cứ đờ ra không đọc gì hết, INTR của nó không bao giờ xuống 0 cả
    Đây là code của e, các a chỉ e chỗ sai với, e cám ơn các a:


    #include <REGX52.H>
    #include <STDIO.H>

    unsigned char m=166, n=28, tylexung, k=1;
    float dem=0;
    double tinh_toan;
    unsigned int temp;

    void khoitao()
    {
    EA=0;
    TR0=0;
    TMOD=0x01;
    TH0=m;
    TL0=n;
    ET0=1;
    EA=1;
    TR0=1;
    }

    void t0() interrupt 0
    {
    TR0=0;
    TF0=0;
    if(dem<tylexung) P1_7=1;
    else P1_7=0;
    dem+=k;
    if(dem==40) dem=0;
    TH0=m;
    TL0=n;
    TR0=1;
    }

    void delay(long t)
    {
    long i;
    for(i=0;i<t;i++);
    }

    void ADC()
    {
    P0_1=0;
    delay(5000);
    P0_1=1;
    while(P0_2);
    P0_0=0;
    if(!P2)
    {
    k=1;
    m=166;
    n=28;
    }
    else
    {
    tinh_toan= 65535 - 921600/(P2*78) - 29;
    temp=tinh_toan;
    m=temp/256;
    n=temp%256;
    k=20;
    }
    P0_0=1;
    }

    void main()
    {
    ADC();
    khoitao();
    while(1)
    {
    tylexung=20;
    }
    }
    Attached Files

  • #2
    Huhu, e mới học điện tử, câu hỏi có thể ngu ngu nhưng xin các a châm trước, chỉ bảo cho e với. E cám ơn các a nhiều.

    Comment


    • #3
      đọc code thấy hơi lạ , k thấy hiển thị lên cái gì cả

      Comment


      • #4
        Vâng, đề bài là Tạo xung vuông, tam giác = VĐK, điều chỉnh tần số bằng biến trở. Không có phần hiển thị tần số, vì đây là bài thầy giáo giao cho nhóm khác, mạch nhóm e là đo tần số hiển thị trên PC
        Cái 0804 không chạy hình như là do e thiếu 3 trở mắc từ RD,WR,INTR lên nguồn, e mắc vào thì nó chạy nhưng thấy nó chạy mà k hiểu vì sao thì cũng thấy rất khổ, các a giải thích cho e newbie đi

        Comment


        • #5
          E muốn điều chỉnh tần số 1->10000 Hz, mà đầu ra ADC có 256 mức => bước tần số là 39. E trong hàm ADC(), e đã tính toán giá trị m và n, tức là thay đổi giá trị nạp lại của TH0 và TL0 để thay đổi tần số nhưng.....thậm chí cho hàm ADC() vào thì T0 còn liệt luôn, k thấy chạy j hết
          Bị như thế là sao ạ? Tuy trình e còn kém, có thể sau khi nghe xong vẫn chưa hiểu ngay lý do nhưng chắc chắn e sẽ cố gắng lấy cần cù bù thông minh, tìm tòi học hỏi để hiểu. Xin các a giải đáp cho e. Tks

          Comment


          • #6
            Nguyên văn bởi dhp11591 Xem bài viết
            Vâng, đề bài là Tạo xung vuông, tam giác = VĐK, điều chỉnh tần số bằng biến trở. Không có phần hiển thị tần số, vì đây là bài thầy giáo giao cho nhóm khác, mạch nhóm e là đo tần số hiển thị trên PC
            Cái 0804 không chạy hình như là do e thiếu 3 trở mắc từ RD,WR,INTR lên nguồn, e mắc vào thì nó chạy nhưng thấy nó chạy mà k hiểu vì sao thì cũng thấy rất khổ, các a giải thích cho e newbie đi
            tao xung vuông thì được chứ tam giác thì phải dùng DAC rồi,bạn nên dùng luôn 1 con ADC cho nhanh

            Comment


            • #7
              Vâng, nếu dùng DAC chắc tạo được sóng sine luôn, nhưng nếu chỉ để tạo xung tam giác thì e dùng LM339

              A ơi, code của e rối chỗ nào mà k chạy đc ạ?

              Comment

              Về tác giả

              Collapse

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

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

              Collapse

              Đang tải...
              X