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

                  • Andrea14
                    Vấn đề về tốc độ quay
                    bởi Andrea14
                    Chào mọi người,

                    Tôi muốn mô phỏng sự thay đổi các mùa bằng cách từ từ nghiêng một quả địa cầu 16 inch bằng một động cơ bước nhỏ. Một động cơ bước khác sẽ quay quả địa cầu theo thời gian thực. Hệ thống truyền động...
                    hôm nay, 12:42
                  • bqviet
                    Trả lời cho Đấu tắt điện cho máy tính bảng
                    bởi bqviet
                    Bqv cáo lỗi vì chưa đủ khả năng diễn giải để người đọc hiểu. Người làm kỹ thuật sâu đôi khi như thế đó. Về việc nạp pin không vào dù cell mới, khả năng cái mạch quản lý đó đã hỏng - cũng chính là nguyên nhân đám cell cũ hỏng từ đầu.
                    06-12-2025, 17:17
                  • nguyendinhvan
                    Trả lời cho Xin hỏi về mạch thu FM/AM trong catsette
                    bởi nguyendinhvan
                    Theo tôi, nó chỉ là cái Tuy- ê - nơ, hoặc là khối Trung Văn Tần, nó một phần trong cái Da đì ô thôi. Vì có thấy một chỗ có ba chân hàn, giiống như chân Cờ rít sờ tăng 455 ki nô hẹc. Còn khối Tuy ê nơ thì không nhìn thây cái Di ốt Va di cáp...
                    05-12-2025, 19:59
                  • afrendly
                    Trả lời cho Đấu tắt điện cho máy tính bảng
                    bởi afrendly
                    Có vẻ ngoài hiểu biết của mình rồi. Cuối cùng mình quyết định tìm mua 2 pin trên Shopee, giá 200K thay vào. Tuy nhận pin được 1%, sạc mãi không vào nhưng cũng mở được máy lên. Vậy cũng tạm. Cảm ơn bạn đã hỗ trợ nhé....
                    04-12-2025, 01:27
                  Đang tải...
                  X