Thông báo

Collapse
No announcement yet.

Đo nhiệt độ dùng LM335 và ADC084

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

  • Đo nhiệt độ dùng LM335 và ADC084

    Mình đang làm cái mạch đo nhiệt độ bằng LM335 và ADC0804, tín hiệu ra của ADC qua cổng P2, điều khiển ADC qua P3_7(RD) và P3_6(WR), hiển thị kết quả lên LCD bằng giao tiếp 4bit. Viết code C rùi nhưng khi chạy toàn cho kết quả bằng 0. Mong các pro giúp đỡ!
    Click image for larger version

Name:	LM335 and ADC0804.JPG
Views:	1
Size:	62.9 KB
ID:	1413539
    Click image for larger version

Name:	LCD 4bit.JPG
Views:	1
Size:	24.9 KB
ID:	1413540
    code.txt

  • #2
    bạn chưa gọi hàm lấy mẫu mà

    thì trước tiên bạn phải kiểm tra phần đọc adc đã ok chưa chẳng hạn như p2 = data_in
    lập trình vi điều khiển 8051 - avr - pic- thiết kế mạch điện tử

    Học Hiểu Nguyên Tắc - Tuân Theo Nguyên Tắc - Giải Trừ Nguyên Tắc

    Comment


    • #3
      void main()
      {
      init();//Goi ham khoi tao
      LCD_Init();
      while(1)
      {
      display();//Goi chuong trinh hien thi ket qua
      enable_sampling=1;
      sampling();//Goi ham lay mau_Cu sau 1s thi lay mau nhiet do 1 lan
      laymau();
      LCD_Clear();
      }
      }
      lập trình vi điều khiển 8051 - avr - pic- thiết kế mạch điện tử

      Học Hiểu Nguyên Tắc - Tuân Theo Nguyên Tắc - Giải Trừ Nguyên Tắc

      Comment


      • #4
        mình đã sửa lại nhưng vẫn không hiệu quả, riêng phần hàm laymau() thì trong hàm display() đã có một lời gọi hàm đó rùi, mình code lại thì bây giờ lại cho ra kết quả 754 trên LCD (vượt quá 255) thật khó hiểu !!! có ai giải thích hộ mình với!!!
        code.txt

        Comment


        • #5
          thứ nhất : bạn thử lấy mẫu đưa ra PORT còn trống chẳng hạn P0. hay P1, P2 , hay P3 gì đó
          tốt nhất nạn nên xài phần mêm mô phỏng xem dữ liệu có thay đổi không nếu không thay đổi thì lỗi phần đó !
          còn không là do phần hiển thị của bạn ;
          nếu bạn muống test phần hiển thị thì chạy thử code này LCD_PrInteger(123); xem hiển thị đúng không để biết nguyên nhân do đâu
          lập trình vi điều khiển 8051 - avr - pic- thiết kế mạch điện tử

          Học Hiểu Nguyên Tắc - Tuân Theo Nguyên Tắc - Giải Trừ Nguyên Tắc

          Comment


          • #6
            Nguyên văn bởi tan955 Xem bài viết
            thứ nhất : bạn thử lấy mẫu đưa ra PORT còn trống chẳng hạn P0. hay P1, P2 , hay P3 gì đó
            tốt nhất nạn nên xài phần mêm mô phỏng xem dữ liệu có thay đổi không nếu không thay đổi thì lỗi phần đó !
            còn không là do phần hiển thị của bạn ;
            nếu bạn muống test phần hiển thị thì chạy thử code này LCD_PrInteger(123); xem hiển thị đúng không để biết nguyên nhân do đâu
            Phần hiển thị LCD thì ngon rùi, chỉ thấy đầu ra của ADC mãi chả thay đổi gì, phải xem lại phần code cho ADC rui!

            Comment

            Về tác giả

            Collapse

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

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

            Collapse

            Đang tải...
            X