• 大小: 4KB
    文件类型: .c
    金币: 1
    下载: 0 次
    发布日期: 2021-07-28
  • 语言: 其他
  • 标签: ds18b2  89c51  

资源简介

89c51单片机,实时采集ds18b20温度,并用1602显示。也可以设置阈值范围,到达此范围温度,蜂鸣器报警,离开此温度范围时,报警停止。

资源截图

代码片段和文件信息

/***********************18B20实时温度计1602显示***********************
*  晶振:11.0592MHZ
******************************************************************/


#include 
#include 
#include 

#define uchar unsigned char
#define uint unsigned int

sbit rw = P2^1; 
sbit RS = P2^0;  
sbit LCDEN = P2^2;
sbit ds = P2^6; 



void delayUs()
{
    _nop_();
}

void delayMs(uint a)
{
    uint i j;
    for(i = a; i > 0; i--)
        for(j = 100; j > 0; j--);
}


void writeComm(uchar comm)            //指令寄存器,当rs rw=0,en由1变成0时,就把P0口的数据送入 
{
     RS = 0;    
    P0 = comm;
    LCDEN = 1;
     delayUs();
    LCDEN = 0;
    delayMs(1);
}

//写数据:RS=1 RW=0;
void writeData(uchar dat)
{
    RS = 1;
    P0 = dat;
    LCDEN = 1;
    delayUs();
    LCDEN = 0;
    delayMs(1);
}


 void init()
 {
    rw = 0; 
    writeComm(0x38);
    writeComm(0x0c); 
    writeComm(0x06);
    writeComm(0x01); 
}

void writeString(uchar * str uchar length)
{
    uchar i;
    for(i = 0; i < length; i++)
    {
        writeData(str[i]);
    }
 }
 
/**//*****************************DS18B20*******************************/

void dsInit()
 {
    
    unsigned int i;  
    ds = 0;
    i = 100;  
    while(i>0) i--;
    ds = 1;   
    i = 4;
    while(i>0) i--;
}
 
void dsWait()
{
    unsigned int i;
    while(ds);  
    while(~ds);
    i = 4;
    while(i > 0) i--;
}


bit readBit()
{
    unsigned int i;
    bit b;
    ds = 0;
    i++;   
    ds = 1; 
    i++; i++;  
    b = ds;
    i = 8; 
    while(i>0) i--;
    return b;
}

unsigned char readByte()
{
    unsigned int i;
    unsigned char j dat;
    dat = 0;
    for(i=0; i<8; i++)
    {
        j = readBit();
      
        dat = (j << 7) | (dat >> 1);
    }
    return dat;
}


void writeByte(unsigned char dat)
{
    unsigned int i;
    unsigned char j;
    bit b;
    for(j = 0; j < 8; j++)
    {
        b = dat & 0x01;
        da

评论

共有 条评论