[KIT89S52-V1]Đo ,hiển thị và cảnh báo nhiệt độ sử dụng DS18B20

Thảo luận trong 'KIT AT89S52 V1' bắt đầu bởi an.dxuan, 9 Tháng chín 2014.

Users Viewing Thread (Users: 0, Guests: 0)

Lượt xem: 574

  1. an.dxuan

    an.dxuan Admin

    Chào các bạn !;)
    Hôm nay,mình hướng dẫn các bạn bài đo nhiệt độ hiển thị lên LCD16x2 và cảnh báo khi nhiệt độ cao !
    -Mô tả đề bài
    + Đo nhiệt độ bằng DS18B20 hiển thị lên LCD16x2
    + Nhiệt độ vượt quá 34 độ C Cảnh báo nhiệt độ cao trên LCD16x2
    -Sơ đồ phần cứng
    + Khối DS18B20
    [​IMG]
    +Khối LCD16x2

    [​IMG]
    -Thực hiện chương trình
    +Vào chương trình chúng ta khởi tạo cho LCD16x2
    +Trong vòng lặp mình đọc nhiệt độ từ DS18b20
    +Check nhiệt độ xem nhiệt độ bình thường (<= 34 độ C) hay nhiệt độ cao (> 34 độ C)
    Nếu nhiệt độ bình thường : Hiển thị nhiệt độ lên LCD 16x2 và báo nhiệt độ thường
    Nếu nhiệt độ cao : Hiển thị nhiệt độ lên LCD16x2 và cảnh báo nhiệt độ cao
    Code
    Mã:
    lcd1602_init();
        lcd1602_gotoxy(0,0);
        lcd1602_puts("banlinhkien.vn");
        delay_ms(1000);
        lcd1602_clear();
        LED_DON = 0xff;
        while(1)
        {
            Nhiet_Do=ds18b20_readtemp();
            if(Nhiet_Do > 34)Check_Temp();
            sprintf(str2,"Temp=%.1f",Nhiet_Do);
            lcd1602_gotoxy(0,0);
            lcd1602_puts(str2);
            sprintf(str2,"Nhiet Do Thuong      ");
            lcd1602_gotoxy(0,1);
            lcd1602_puts(str2);
        }
    Các bạn có thể tham khảo thêm code mà mình dính kèm bên dưới .Chúc các bạn thành công !

    Các file đính kèm:

    tvd.dtvt thích bài này.
  2. tvd.dtvt

    tvd.dtvt New Member

    Nếu muốn đặt thêm ngưỡng nhỏ hơn 25 độ thì làm như thế nào ah.
    Mong mọi người giúp đỡ
  3. BanLinhKien.Vn

    BanLinhKien.Vn Nhóm MCU

    Chào bạn!
    Vậy thì bạn so sánh nhiệt độ đo được với 25.
    Nếu nhiệt độ đo được nhỏ thua 25 thì bạn thực hiện 1 công việc gì đó, như cảnh báo nhiệt độ thấp chẳng hạn.
  4. tvd.dtvt

    tvd.dtvt New Member

    Ý mình là code C viết như thế nào cơ, tại vì trước mình học asm, code c không được bây giờ muốn tham khảo.
  5. kidduc

    kidduc Guest

    Đọc C cơ bản + nghiên cứu code mẫu ở trên 1 chút bạn sẽ hiểu cách viết.
  6. binduatin3

    binduatin3 New Member

    Bài viết rất hay và bổ ích cảm ơn vì đã chia sẽ bài viết này

Chia sẻ trang này

Lên trên