Thông báo

Collapse
No announcement yet.

tạo sóng tam giác 1khz với vdk

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

  • tạo sóng tam giác 1khz với vdk

    Giúp em viết chương trình tạo sóng tam giác với tần số 1Khz bằng VDK 8051,
    Xin cam on!
    |

  • #2
    8051 chỉ tạo được sóng vuông thôi, muốn có sóng tam giác thi chắc là phải dùng thêm mạch tích phân.
    Đăng ký Dropbox có ngay 2GB lưu trữ online miễn phí:

    Comment


    • #3
      Bằng cách nào mà tạo sóng vuông sau đó xén thành sóng tam giác không huynh?
      |

      Comment


      • #4
        tạo sóng vuông thì lập trình đều đặn 1 ngõ ra lên xuống 5V-0V theo tần số 1kHz, còn muốn chuyển thành sóng tam giác thì nối ngõ ra đó vào mạch tích phân để nhận được sóng tam giác hay sao đó ( cái đó quên rồi).

        Comment


        • #5
          Hoặc dùng DAC ! (sóng bậc thang)

          Comment


          • #6
            Thanks Huynh để đệ làm thử xem .
            |

            Comment


            • #7
              Muốn tạo sóng tam giác thì chỉ cần dùng một port của 8051 như một counter và một Op-Amp với R-2R resistor network thay cho DAC là có thể tạo ra sóng tam giác. Ý tưởng là như thế này:
              Code:
              counter = 0;
              port = 0; 
              flag = 0;
              if (flag == 0)
                 if (counter < 256)
                     counter = counter + 1 ;
                     port = counter;
                     Delay;
                 else
                     flag = 1;
                 end;
              
              else 
                 if (counter > 0)
                     counter = counter -1;
                     port = counter;
                     Delay;
                  else
                     flag = 0;
                 end;
              end;
              Muốn thay đổi tần số của sóng thì chỉ cần thay đổi thời gian tăng giảm của counter. Với cách này thì resolution của sóng output chỉ có 8 bit thôi nên nếu chọn tần số thấp thì cho sóng tam giác thấp ra sẽ bi méo. Nếu không đếm xuống thì bạn sẽ có sóng răng cưa thay cho sóng tam giác.

              Comment


              • #8
                Huynh à,
                Đệ muốn Huynh chuyển cho đệ sang asembler, tại đệ muốn mô phỏng bằng Proteus, và đệ viết trên Keil. Còn huynh viết bằng pascal hay C đệ không biết cách để mô phỏng.
                Thanks Huynh!
                Nguyên văn bởi thelam Xem bài viết
                Muốn tạo sóng tam giác thì chỉ cần dùng một port của 8051 như một counter và một Op-Amp với R-2R resistor network thay cho DAC là có thể tạo ra sóng tam giác. Ý tưởng là như thế này:
                Code:
                counter = 0;
                port = 0; 
                flag = 0;
                if (flag == 0)
                   if (counter < 256)
                       counter = counter + 1 ;
                       port = counter;
                       Delay;
                   else
                       flag = 1;
                   end;
                
                else 
                   if (counter > 0)
                       counter = counter -1;
                       port = counter;
                       Delay;
                    else
                       flag = 0;
                   end;
                end;
                Muốn thay đổi tần số của sóng thì chỉ cần thay đổi thời gian tăng giảm của counter. Với cách này thì resolution của sóng output chỉ có 8 bit thôi nên nếu chọn tần số thấp thì cho sóng tam giác thấp ra sẽ bi méo. Nếu không đếm xuống thì bạn sẽ có sóng răng cưa thay cho sóng tam giác.
                |

                Comment


                • #9
                  choy ! viết = ASM hay C đều chạy đc trên proteus hết mà , proteus nó có hỉu bạn viết = ngôn ngữ gì đâu , nó chỉ nhận file hex của bạn rùi chạy mô phỏng thui mà

                  Comment


                  • #10
                    Huynh a ,

                    De da chuyen sang file hẽ nhung sao khi mo phong bang proteus thi tren oscilloscope no chi hien la duong thang thoi, huynh giup de duoc ko?
                    Thanks Huynh.

                    Nguyên văn bởi thelam Xem bài viết
                    Muốn tạo sóng tam giác thì chỉ cần dùng một port của 8051 như một counter và một Op-Amp với R-2R resistor network thay cho DAC là có thể tạo ra sóng tam giác. Ý tưởng là như thế này:
                    Code:
                    counter = 0;
                    port = 0; 
                    flag = 0;
                    if (flag == 0)
                       if (counter < 256)
                           counter = counter + 1 ;
                           port = counter;
                           Delay;
                       else
                           flag = 1;
                       end;
                    
                    else 
                       if (counter > 0)
                           counter = counter -1;
                           port = counter;
                           Delay;
                        else
                           flag = 0;
                       end;
                    end;
                    Muốn thay đổi tần số của sóng thì chỉ cần thay đổi thời gian tăng giảm của counter. Với cách này thì resolution của sóng output chỉ có 8 bit thôi nên nếu chọn tần số thấp thì cho sóng tam giác thấp ra sẽ bi méo. Nếu không đếm xuống thì bạn sẽ có sóng răng cưa thay cho sóng tam giác.
                    |

                    Comment

                    Về tác giả

                    Collapse

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

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

                    Collapse

                    Đang tải...
                    X