Thông báo

Collapse
No announcement yet.

Ai pro giúp em thuật toán chương trình này với!!

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

  • Ai pro giúp em thuật toán chương trình này với!!

    Đây là trương trình đo khoảng cách bằng sóng siêu âm dùng srf05 hiển thị trên LCD. Thaks các bác.

    #include<at89x52.h>
    #include<lcd.c>
    unsigned char array[5];
    void inter() interrupt 0
    {
    unsigned int time_return;
    char i;
    TR0=0;
    time_return=(TH0<<8)|TL0;
    time_return=(time_return-15535)/58;
    TR0=1;
    for(i=0;i<5;i++)
    {
    array[i]=time_return%10;
    time_return/=10;
    }
    mov(1,5);
    for(i=4;i>=0;i--)
    {
    dat(array[i]+48);
    }
    dat_str(":cm");
    }
    void time() interrupt 1
    {
    unsigned char i;
    TR0=0;
    P1_0=1;

    TH0=0x3c;
    TL0=0xaf;
    for(i=0;i<3;i++);

    P1_0=0;
    P3_2=1;
    while(!P3_2);
    TR0=1;
    }
    void main()
    {

    TMOD=1;
    TH0=0x3c;
    TL0=0xaf;
    ET0=1;
    EX0=1;
    IT0=1;
    EA=1;
    TR0=1;
    int_lcd();
    dat_str("Time xung tra ve");
    while(1)
    {
    }
    }

  • #2
    bác nào rảnh giúp em với ạ!!

    Comment


    • #3
      Vận tốc âm thanh bằng bao nhiêu?. L=S/2=(v*t)/2
      v:vận tốc âm thanh
      S:quãng đường đi từ lúc phát đến lúc thu được
      t:thời gian từ lúc phát đến lúc thu.
      giả sử bộ đếm timer 1 chu kì (T)đếm 1 lần.N là số lần đếm.

      L=(v*N*T)/2 (m)
      chỉ biết vậy thôi.
      Vận tốc âm thanh bằng bao nhiêu?. L=S/2=(v*t)/2
      v:vận tốc âm thanh
      S:quãng đường đi từ lúc phát đến lúc thu được
      t:thời gian từ lúc phát đến lúc thu.
      giả sử bộ đếm timer 1 chu kì (T)đếm 1 lần.N là số lần đếm.

      L=(v*N*T)/2 (m)
      chỉ biết vậy thôi.
      , , ,

      Comment


      • #4
        Chương trình này bạn lấy ở trang khongtenmien.com ah?. Mình cũng đã làm theo, chỉnh sửa chương trình 1 chút và chạy rất tốt.
        Mua bán thiết bị điện công nghiệp tại Hà Nội, toàn quốc.
        http://diencongnghiep360.com/
        http://tudienhathe.vn/

        Comment


        • #5
          vâng đúng rồi đó anh.Bây giờ em muốn dựng lại cái thuật toán của chương trình này..anh đã làm rồi giúp em với.Em cảm ơn nhiều ạ!!

          Comment


          • #6
            Ý có công thức rồi ráp code thôi.Cái này chỉ đo dưới 1m thôi.Bạn cố gắng làm đi.Chúc bạn thành công.
            , , ,

            Comment


            • #7
              Nguyên văn bởi ngockylan_64 Xem bài viết
              vâng đúng rồi đó anh.Bây giờ em muốn dựng lại cái thuật toán của chương trình này..anh đã làm rồi giúp em với.Em cảm ơn nhiều ạ!!
              Chương trình có rồi, thuật toán thì có gì khó đâu bạn, xem chương trình viết thế nào rồi suy ngay ra thôi mà. Đầu tiên là phát 1 xung ra khoảng x(giây) rồi đợi tín hiệu trên chân ngắt ngoài, đo thời gian đó rồi suy ra khoảng cách thôi.
              Cái code này chỉ là đo thí nghiệm khoảng cách theo đúng nguyên lý thôi. Trên các ứng dụng thực tế người ta làm phức tạp lắm. Lần trước mình làm bài tập lớn đo khoảng cách mức nước trong bình chứa để điều khiển động cơ bơm nước và các van xả. Dùng code trên bị nhiễu loạn xạ lên (động cơ, van đóng mở linh tinh...). Mấy ngày ko tìm ra nguyên nhân, tức quá đi hỏi mấy cao thủ thì mới biết rằng, nhiễu sóng siêu âm rất nhiều xung quanh(khi động cơ chạy, gần xe máy...) và con thu sẽ hiểu lầm!Cho nên muốn ko nhiễu thì phải phát ra nhiều chùm sóng siêu âm với tần số nào đó, rồi chỉ thu đúng các sóng có đúng tần số như vậy mà thôi... và còn nhiều điều nữa về phần cứng nữa.. Mấy cao thủ đó chuyên làm mạch đo khoảng cách ở đằng sau xe ô tô mà.
              Mua bán thiết bị điện công nghiệp tại Hà Nội, toàn quốc.
              http://diencongnghiep360.com/
              http://tudienhathe.vn/

              Comment


              • #8
                Tất nhiên là phải phát trên 20khz rồi.Bữa trước bạn phát với tần số bao nhiêu mà nhiễu thế.Học hỏi kinh nghiệm.Mấy pro bạn nói chắc đo khoảng cách bằng hồng ngoại.Tất nhiên là phải phát trên 20khz rồi.Bữa trước bạn phát với tần số bao nhiêu mà nhiễu thế.Học hỏi kinh nghiệm.Mấy pro bạn nói chắc đo khoảng cách bằng hồng ngoại.
                , , ,

                Comment


                • #9
                  hj. Vấn để là em hơi đuối về ngôn ngữ C, đọc không hiểu lắm nến muốn các bác chỉ giáo cái thuật toán..Em đang đinh viết lại bằng asembly.Mong mọi nguwoif chỉ giáo ạ!!

                  Comment


                  • #10
                    Mong các bác chỉ bảo thêm ạ!!

                    Comment


                    • #11
                      C là ngôn ngữ bậc cao. sang các dòng vi điều khiển phức tạp người ta thường viết bằng C thôi, Assembly chỉ viết cho những dòng đơn giản thôi.bạn nên học C sau này giúp ích rất nhiều.
                      Never forget who you are!

                      Comment


                      • #12
                        Vấn đề là em học C hơi yếu nên bây giờ muốn viết lại bằng ASM theo ý mình, bác nào giúp em cái giải thuật của ctrình ngôn ngữ C trên kia với ạ!!thaks các bác

                        Comment


                        • #13
                          Các bác chỉ bảo em cái thuật toán với, em muốn viết lại bằng ASM..ạ

                          Comment


                          • #14
                            nếu bạn biết asm thì cũng vậy à.
                            bạn nên viết bằng c vì phép nhân chia với số thực thì nghe ra khó đấy.
                            , , ,

                            Comment


                            • #15
                              em chỉ mong các bác giúp em cái thuật toàn của chương trình kia thôi, tại C em hơi kém..mong được chỉ giáo ạ!!

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X