Thông báo

Collapse
No announcement yet.

chuyển đổi tương tự-số (ADC) với AT9C2051

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

  • chuyển đổi tương tự-số (ADC) với AT9C2051

    Bạn nào biết cách chuyển đổi tương tự - số dùng con AT9C2051 thì chỉ mình với. Mình chỉ biết là sử dụng chức năng Analog compare nhưng không rõ sử dụng chức năng đó thế nào để chuyển đổi được.

  • #2
    chắc bạn đọc và hiểu lầm về tài liệu rồi
    cái ngõ vào đó chì là để so sanh analog thôi chứ không phải là biến đổi từ analog sang số

    cách khác thì bạn gắn 1 con IC đổi tương tư sang số
    rồi dùng 89c2051 đọc về

    chúc bạn thành công
    Điện thoại:
    email:

    Comment


    • #3
      ADC với 89C2051 là có thật đấy nhé. Nhưng khả năng mình viết bằng ASM thì không nổi! Mình dùng ADC với 89C2051 bằng BASCOM (BAS51), thằng bascom này có hàm sẵn cho cái vụ này.

      Comment


      • #4
        Analog-to-Digital Conversion Utilizing the AT89CX051 MCU (6 pages, updated 12/97)
        This Application Note describes how to build a low cost A/D converter with the Atmel 20-Pin Microcontrollers.

        http://www.atmel.com/dyn/resources/p...ts/DOC0524.PDF
        From MTA

        Comment


        • #5
          Nguyên văn bởi Missile33 Xem bài viết
          Analog-to-Digital Conversion Utilizing the AT89CX051 MCU (6 pages, updated 12/97)
          This Application Note describes how to build a low cost A/D converter with the Atmel 20-Pin Microcontrollers.

          http://www.atmel.com/dyn/resources/p...ts/DOC0524.PDF
          89c2051 chỉ co chức năng so sánh analog rồi quyết định cho chân P3.7 thôi
          chứ làm gì có chức năng chuyển đổi tương tự sang số

          trong cái sơ đồ đó
          cái mạch cua ATMEL là mạch cơ bản về biến đổi tương tự sang số

          có nghĩ là đầu vào là tương tự nối với P1.1
          ta sẽ tạo 1 tín hiệu tương tự đưa vào p1.0
          dĩ nhiên việc điều khiển chân tương tự này sẽ là số
          khi chân P1.0 so sánh vói chân P1.1 giống nhau thì ta sẽ ghi nhận lại kết qua số đó
          vậy là đã có kết quả số

          đó là một giải thuật phần cứng kết hợp với phần mềm và dựa vào cách so sánh analog
          tuy nhiên phương pháp này độ chính xác không cao
          ATMEL đã phát triển dòng AVR hỗ trợ ACD nên phương pháp này cũng it còn người dùng

          chúc bạn thành công
          Điện thoại:
          email:

          Comment


          • #6
            Làm được chứ. Nhưng mà phải có 1 con DAC để 2051 quét lần lượt từ 0 đến lúc bộ so sánh nhận đc giá trị bằng. Con DAC có thể thay bằng 1 mạng điện trở cho rẻ nhưng không chính xác. Bộ so sánh này mà đem làm ADC chỉ cho vui thôi, nên ứng dụng vào cái khác. Mã ASM cho mạch này đơn giản thôi. Chưa viết bao giờ nhưng mình nghĩ nó chỉ 10 dòng lệnh là cùng.
            |

            Comment


            • #7
              Nguyên văn bởi minhtinh Xem bài viết
              Làm được chứ. Nhưng mà phải có 1 con DAC để 2051 quét lần lượt từ 0 đến lúc bộ so sánh nhận đc giá trị bằng. Con DAC có thể thay bằng 1 mạng điện trở cho rẻ nhưng không chính xác. Bộ so sánh này mà đem làm ADC chỉ cho vui thôi, nên ứng dụng vào cái khác. Mã ASM cho mạch này đơn giản thôi. Chưa viết bao giờ nhưng mình nghĩ nó chỉ 10 dòng lệnh là cùng.
              he he...
              tớ dùng bascom làm một phát là xong. tuy nhiên như "đangung" đã nối là không chính xác...
              Tuy nhiên nó cũng là một cách hay để phát triển giải thuật...

              Comment


              • #8
                Tài liệu Missile33 gửi đã nói cả rồi còn gì. Với ứng dụng đơn giản thì có thể sử dụng cách này (cách RC ấy), nhất là trường hợp trong nhà còn một đống 89C2051, đành phải dùng dần

                Comment


                • #9
                  Mình đã biết được nguyên tắc chuyển đổi tương tự số của AT9C2051. Theo sơ đồ của tài liệu trên thì thời gian nạp điện của tụ đến giá trị điện áp bằng điện áp của tín hiệu tương tự cần chuyển đổi sẽ tỷ lệ thuận với giá trị điện áp đó, dùng timer để đo khoảng thời gian này, giá trị mà timer đo được chính là giá trị số của tín hiệu tương tự cần chuyển đổi.
                  Ví dụ thế này: Nếu điện áp tương tự cần chuyển đổi là 2V (đưa vào chân P1.1), lúc đầu timer ở giá trị 0, điện áp trên tụ = 0. Khi bắt đầu chuyển đổi, nguồn Vcc sẽ nạp điện cho tụ, điện áp trên tụ sẽ tăng từ 0V đến 2V thì chân P3.6 sẽ được đặt lên 1 (vì khi điện áp trên tụ tăng đến 2 V thì điện áp chân P1.1 >= P1.0) lúc này ta dừng chạy timer, và giá trị của timer lúc này chính là giá trị số của điện áp 2V. Nếu điện áp là 3V thì tụ phải nạp đến 3V chân P3.6 mới được set lên 1, thời gian nạp sẽ lâu hơn và giá trị đo được của timer sẽ tỷ lệ với thời gian nạp của tụ (hệ số tỷ lệ sẽ phụ thuộc vào giá trị của R). Tuy nhiên phương pháp này chỉ là gần đúng vì thời gian nạp của tụ chỉ gần tỷ lệ thuận với điện áp trên tụ, tuy nhiên với các ứng dụng không cần độ chính xác cao thì ta có thể dùng phương pháp này. ví dụ như đồng hồ (đo thời gian) vạn năng chẳng hạn, có thể dùng cách này để đo nhiệt độ phòng đỡ phải dùng thêm con ADC nữa. Bạn nào có ý kiến gì thì cùng chia sẻ nhá

                  Comment


                  • #10
                    Nguyên văn bởi lephong90 Xem bài viết
                    Mình đã biết được nguyên tắc chuyển đổi tương tự số của AT9C2051. Theo sơ đồ của tài liệu trên thì thời gian nạp điện của tụ đến giá trị điện áp bằng điện áp của tín hiệu tương tự cần chuyển đổi sẽ tỷ lệ thuận với giá trị điện áp đó, dùng timer để đo khoảng thời gian này, giá trị mà timer đo được chính là giá trị số của tín hiệu tương tự cần chuyển đổi.
                    Ví dụ thế này: Nếu điện áp tương tự cần chuyển đổi là 2V (đưa vào chân P1.1), lúc đầu timer ở giá trị 0, điện áp trên tụ = 0. Khi bắt đầu chuyển đổi, nguồn Vcc sẽ nạp điện cho tụ, điện áp trên tụ sẽ tăng từ 0V đến 2V thì chân P3.6 sẽ được đặt lên 1 (vì khi điện áp trên tụ tăng đến 2 V thì điện áp chân P1.1 >= P1.0) lúc này ta dừng chạy timer, và giá trị của timer lúc này chính là giá trị số của điện áp 2V. Nếu điện áp là 3V thì tụ phải nạp đến 3V chân P3.6 mới được set lên 1, thời gian nạp sẽ lâu hơn và giá trị đo được của timer sẽ tỷ lệ với thời gian nạp của tụ (hệ số tỷ lệ sẽ phụ thuộc vào giá trị của R). Tuy nhiên phương pháp này chỉ là gần đúng vì thời gian nạp của tụ chỉ gần tỷ lệ thuận với điện áp trên tụ, tuy nhiên với các ứng dụng không cần độ chính xác cao thì ta có thể dùng phương pháp này. ví dụ như đồng hồ (đo thời gian) vạn năng chẳng hạn, có thể dùng cách này để đo nhiệt độ phòng đỡ phải dùng thêm con ADC nữa. Bạn nào có ý kiến gì thì cùng chia sẻ nhá
                    chính xác rồi còn ý kiến gì nữa mừ

                    Comment

                    Về tác giả

                    Collapse

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

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

                    Collapse

                    Đang tải...
                    X