RP Store Tìm linh kiện theo mã, gửi BOM nhận báo giá Gửi BOM

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

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • lamplc
    Thành viên mới
    • Oct 2007
    • 9

    #1

    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!
    |
  • dinhchithanh
    Thành viên tích cực
    • Sep 2007
    • 478

    #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

    • lamplc
      Thành viên mới
      • Oct 2007
      • 9

      #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

      • sweetlovehp
        Thành viên mới
        • Oct 2007
        • 10

        #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

        • Co_processor
          Thành viên tích cực
          • Jan 2006
          • 598

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

          Comment

          • lamplc
            Thành viên mới
            • Oct 2007
            • 9

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

            Comment

            • thelam
              Thành viên chính thức
              • Aug 2005
              • 62

              #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

              • lamplc
                Thành viên mới
                • Oct 2007
                • 9

                #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

                • Zz_Bi_zZ
                  Thành viên tích cực
                  • Nov 2007
                  • 766

                  #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

                  • lamplc
                    Thành viên mới
                    • Oct 2007
                    • 9

                    #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...