Thông báo

Collapse
No announcement yet.

Câu hỏi hóc búa về tần số!

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

  • Câu hỏi hóc búa về tần số!

    Các anh cho em hỏi, đề bài giao tiếp "Loa, ma trận bàn phím và led 7 đoạn" ( gợi ý : Loa xuất tần số nhập từ bàn phím , led hiển thị tần số xuất ra loa.)
    Làm sao tra bản các giá trị tần số để xuất ra loa? đây mọi người. Em viểt được phần xuất giá trị nhập từ bàn phím ra led rồi (giao tiếp matrix 4X4 với Led7seg) nhưng bế tắc phần tần số. VD em có bản tần số unsigned char[20HZ,40HZ,60HZ...] để xuất ra loa.
    Last edited by doublemint_1; 07-12-2013, 22:51.

  • #2
    Bạn có biết cách tính toán tạo dao động bằng 89xx không? chỉ là nạp thời gian tràn cho timer chứ có gì to tát đâu? Cái bài này có khó gì đâu động não tị ra ngay. chắc chắn đi học các bạn được học về cách dùng timer rồi ở đây chỉ là áp dụng cái đó thôi chứ có gì cao siêu đâu? mà bạn dùng bảng tần số không được đâu vì nếu như vậy thì bắt buộc phải nhập những tần số được mình đặt sẵn à? nếu thế thì dùng bàn phím 4x4 làm gì? dùng 2 nút 1 nút + 1 nút - là xong rồi còn gì?

    Comment


    • #3
      Em chưa hiểu ý anh lắm, cách tạo xung vuông ra 1 port thì em biết rồi, nhưng mà làm sao tạo được tần số khác nhau từ bàn phím hả Anh?

      Comment


      • #4
        Dùng f=1/t. Bạn thay đôi T=f(x), với x là giá trị nhập vào.
        Ví dụ: x= 1<=> f = 1hz
        Ví dụ: x= 10<=> f = 10hz
        Ví dụ: x= 100<=> f = 100hz

        Xuất loa: Vòng lặp. Lặp lại tần số f vừa có được từ giá trị x vừa nhập. Để nghe được ra loa nha bạn

        Comment


        • #5
          Anh giải thích rõ hơn dùm em ko? có giá trị nhập vào, dùng vòng lặp thế nào anh nhỉ>? mà xung vuông Anh tạo bằng timer?

          Comment


          • #6
            Nguyên văn bởi doublemint_1 Xem bài viết
            Anh giải thích rõ hơn dùm em ko? có giá trị nhập vào, dùng vòng lặp thế nào anh nhỉ>? mà xung vuông Anh tạo bằng timer?
            Thế ko phải timer thì bạn định dùng delay à?

            Comment


            • #7
              Đây là cấu trúc 1 chuơng trình tạo xung vuông đơn giản nhất nếu chỗ nào bạn chưa biết thì tự tìm hiểu nhé, bài của bạn cũng chỉ nâng cao hơn cái này có chút xíu thôi chứ chẳng có gì to tát cả, công thức tính thì có cả rồi có điều công thức này là tĩnh nó chỉ tính ở thời điểm dịch của chuơng trình còn với bài của bạn thì phải áp dụng công thức tại thời điểm chương trình đang chạy. Bạn dựa vào sườn này mà làm, cái gì cũng cần có khổ luyện cả chứ chẳng mấy người sinh ra đã là thần đồng ngay đâu.
              Attached Files

              Comment


              • #8
                cảm ơn Anh nhiều! em đang học vi xử lý nhưng chưa hiểu đoạn code này dùng làm gì vậy Anh?
                "#define TEMP (0-(CPU_CLOCK/FREQ))
                #define HIGH(x) ((x>>8) & 0xff)
                #define LOW(x) (x & 0xff)
                #define tiHigh HIGH(TEMP)
                #define tiLow LOW(TEMP)
                "

                Comment


                • #9
                  Nguyên văn bởi doublemint_1 Xem bài viết
                  cảm ơn Anh nhiều! em đang học vi xử lý nhưng chưa hiểu đoạn code này dùng làm gì vậy Anh?
                  "#define TEMP (0-(CPU_CLOCK/FREQ))
                  #define HIGH(x) ((x>>8) & 0xff)
                  #define LOW(x) (x & 0xff)
                  #define tiHigh HIGH(TEMP)
                  #define tiLow LOW(TEMP)
                  "
                  Đấy chính là cách tính thời gian tràn cho timer đó, nhưng cái đó chỉ là tính toán "tại thời điểm chuơng trình dịch nên chỉ tạo ra được 1 tần số" bạn phải viết lại cách tính đó cho nó chạy lúc "chuơng trình thực thi" thì mới tạo ra nhiều tần số được. Gợi ý 1 chút là bạn tạo ra 2 biến tiHigh và biến tiLow chứ không phải là hằng như ở trên nữa. và sau đó cứ mỗi lúc có yêu cầu thay đổi tần số thì bạn update lại giá trị cho 2 biến đó theo yêu cầu đầu vào vậy là tần số sẽ tự động thay đổi.

                  Comment

                  Về tác giả

                  Collapse

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

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

                  Collapse

                  Đang tải...
                  X