STC89C52RC单片机制作温度报警器

本文介绍了一个使用STC89C52RC单片机和DS18B20数字温度传感器制作温度报警器的过程。首先介绍了所需的硬件设备和传感器,然后详细阐述了电路连接方法。接着,提供了C语言编写的代码,包括传感器初始化、温度读取和报警逻辑。最后,展示了如何在LCD1602显示屏上显示温度值、最高值和最低值的示例代码。
摘要由CSDN通过智能技术生成

步骤1:准备硬件设备和传感器
1.获取STC89C52RC单片机开发板。这个开发板基于8051内核,具有丰富的IO口用于连接其他设备。
2.使用DS18B20数字温度传感器。DS18B20是一款广泛使用的数字温度传感器,可以通过1线接口与单片机通信。

步骤2:连接电路
3.将DS18B20的VCC引脚连接到开发板的VCC引脚,以提供传感器的电源。
4.将DS18B20的GND引脚连接到开发板的GND引脚,以建立共地连接。
5.将DS18B20的DQ引脚连接到开发板的任意IO口,如P1.0引脚。

步骤3:编写代码

下面是更详细的代码示例(使用C语言编写),涵盖了温度传感器的初始化、温度读取和报警逻辑:
#include <reg52.h>

// 定义DS18B20相关的引脚及端口
sbit DQ = P1^0;       // 温度传感器引脚连接到P1.0口

// 延时函数
void delay(unsigned int time) {
    unsigned int i, j;
    for (i = time; i > 0; i--)
        for (j = 110; j > 0; j--);
}

// 初始化DS18B20
unsigned char Init_DS18B20() {
    unsigned char flag, presence;

    DQ = 1;                         // 拉高DQ引脚
    delay(8);                       // 延时约640us

    DQ = 0;                         // 拉低DQ引脚
    delay(80);                      // 延时约640us

    DQ = 1;                         // 释放DQ引脚
    delay(10);                      // 延时约80us

    flag = DQ;                      // 读取DQ引脚状态
    delay(100);                     // 延时约800us

    presence = DQ;                  // 读取DQ引脚状态

    delay(100);                     // 延时约800us

    return presence;
}

// 从DS18B20读取一个字节
unsigned char ReadOneChar() {
    unsigned char i, j;
    unsigned char dat = 0;

    for (i = 0; i <8; i++) {
        DQ 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值