STC15WXXX+DS18B20温度检测

该程序使用STC15WXXX单片机,结合DS18B20温度传感器进行温度检测。通过数码管4位共阴显示温度,显示范围参照DS18B20规格。程序包括初始化、温度读取、数码管显示等关键功能。
摘要由CSDN通过智能技术生成

/*
本程序使用STC15WXXX,晶振无特殊声明使用12MHz
数码管4位共阴,带负温度显示。
温度传感器是使用DS18B20。温度显示范围参见DS18B20的产品规格介绍。
*/


#include<stdio.h>
#include <STC15F2K60S2.H>


#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit duan=P5^4;//申明U2锁存器的锁存端(数码段),P3^3改为P5^4
sbit ds=P3^4;//温度传感器数据端口
//四八译码选择数码管
sbit LSA=P3^5;//数码管第2位  A
sbit LSB=P3^6;//数码管第3位  B
sbit LSC=P3^7;//数码管第4位  C
sbit LSD=P5^5;//符号位,数码管第1位,  D  ,P3^2改为P5^5

//数码显示表
uchar code out[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//共阴
//数码显示表带DP小数点
uchar code out_dp[10]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};//共阴
//数码显示负号
uchar code out_minus[2]={0x00,0x40};
//数码显示初始化
uchar code out_initc[3]={0x08,0x48,0x49};
uchar temp0,temp1,temp2,temp3;
uchar data1;
uint temp;//定义整数型温度数据
float f_temp;//定义浮点型温度数据

void delay518us()        //@12.000MHz
{
    uchar i,j;

    i = 7;
    j = 8;
    do
    {
        while (--j);
    } while (--i);
}


void delay205us()        //@12.000MHz
{
    uchar i,j;

    i = 3;
    j = 97;
    do
    {
        while (--j);
    } while (--i);
}

void delay25us()        //@12.000MHz
{
    uchar i;

//    _nop_();
//    _nop_();
    i = 72;
    while (--i);
}


void delay7us()    

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值