• 大小: 289KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-08-13
  • 语言: 其他
  • 标签: MSP430  报警  

资源简介

使用MSP430单片机通过DS18B20采集温度书记,然后通过液晶LCD1602显示,并且根据设定上下限报警

资源截图

代码片段和文件信息

#include “msp430x54x.h“
typedef unsigned char uchar;
typedef unsigned int  uint;

#define DQ1 P1OUT |= BIT5
#define DQ0 P1OUT &= ~BIT5
#define DQ_in   P1DIR &= ~BIT5
#define DQ_out  P1DIR |= BIT5
#define DQ_val  (P1IN & BIT5)

/*******************************************
函数名称:DelayNus
功    能:实现N个微秒的延时
参    数:n--延时长度
返回值  :无
说明    :定时器A的计数时钟是1MHz,CPU主频8MHz
          所以通过定时器延时能够得到极为精确的
          us级延时
********************************************/
void DelayNus(uint n)
{
    TA1CCR0 = n;
    TA1CTL |= MC_1;           //增计数到CCR0
    while(!(TA1CTL & BIT0));   //等待
    TA1CTL &= ~MC_1;          //停止计数
    TA1CTL &= ~BIT0;          //清除中断标志
}
/*******************************************
函数名称:Init_18B20
功    能:对DS18B20进行复位操作
参    数:无
返回值  :初始化状态标志:1--失败,0--成功
********************************************/
uchar Init_18B20(void)
{
    uchar Error;
    
    DQ_out;
    _DINT();
    DQ0;
    DelayNus(500);
    DelayNus(500);
    DQ1;
    DelayNus(55);
    DelayNus(55);
    DQ_in;
    _NOP();
    if(DQ_val)      
    {
        Error = 1;          //初始化失败
    }
    else
    {
        Error = 0;          //初始化成功
    }
    DQ_out;
    DQ1;
    _EINT();
    
    DelayNus(400);
    DelayNus(400);
    return Error;
}
/*******************************************
函数名称:Write_18B20
功    能:向DS18B20写入一个字节的数据
参    数:wdata--写入的数据
返回值  :无
********************************************/
void Write_18B20(uchar wdata)
{
    uchar i;
    
    _DINT();
    for(i = 0; i < 8;i++)
    {
        DQ0;
        DelayNus(6);            //延时6us
        DelayNus(6);            //延时6us
        if(wdata & 0X01)    DQ1;
        else                DQ0;
        wdata >>= 1;
        DelayNus(50);           //延时50us
        DelayNus(50);           //延时50us
        DQ1;
        DelayNus(10);           //延时10us
        DelayNus(10);           //延时10us
    }
    _EINT();
}
/*******************************************
函数名称:Read_18B20
功    能:从DS18B20读取一个字节的数据
参    数:无
返回值  :读出的一个字节数据
********************************************/
uchar Read_18B20(void)
{
    uchar i;
    uchar temp = 0;
    
    _DINT();
    for(i = 0;i < 8;i++)
    {
        temp >>= 1;
        DQ0;
        DelayNus(6);            //延时6us
        DelayNus(6);            //延时6us
        DQ1;
        DelayNus(8);            //延时9us
        DelayNus(8);            //延时9us
        DQ_in;
        _NOP();
        if(DQ_val)   temp |= 0x80;
        DelayNus(45);           //延时45us
        DelayNus(45);           //延时45us
        DQ_out;
        DQ1;
        DelayNus(10);           //延时10us
        DelayNus(10);           //延时10us
    }
    _EINT();
    
    return  temp;
}

/*******************************************
函数名称:Skip
功    能:发送跳过读取产品ID号命令
参    数:无
返回值  :无
********************************************/
void Skip(void)
{
    Write_18B20(0xcc);
}
/*******************************************
函数名称:Conv

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      33264  2015-05-29 14:22  DS18B20测温、显示、报警\Debug\Exe\DS18B20.d43

     文件        153  2015-05-29 14:22  DS18B20测温、显示、报警\Debug\Obj\DS18B20.pbd

     文件      31258  2015-05-17 08:40  DS18B20测温、显示、报警\Debug\Obj\DS18B20.r43

     文件        896  2011-03-08 09:48  DS18B20测温、显示、报警\Debug\Obj\EW100.r43

     文件        896  2011-03-08 09:49  DS18B20测温、显示、报警\Debug\Obj\EW103.r43

     文件        896  2011-03-08 09:50  DS18B20测温、显示、报警\Debug\Obj\EW106.r43

     文件        896  2011-03-08 09:51  DS18B20测温、显示、报警\Debug\Obj\EW109.r43

     文件        896  2011-03-08 09:53  DS18B20测温、显示、报警\Debug\Obj\EW10C.r43

     文件        896  2011-03-08 09:54  DS18B20测温、显示、报警\Debug\Obj\EW10F.r43

     文件        896  2011-03-08 09:54  DS18B20测温、显示、报警\Debug\Obj\EW111.r43

     文件        896  2011-03-08 09:55  DS18B20测温、显示、报警\Debug\Obj\EW114.r43

     文件        896  2011-03-08 09:55  DS18B20测温、显示、报警\Debug\Obj\EW117.r43

     文件        893  2015-05-19 12:55  DS18B20测温、显示、报警\Debug\Obj\EW119A.r43

     文件        896  2011-03-08 09:55  DS18B20测温、显示、报警\Debug\Obj\EW11A.r43

     文件        882  2015-05-17 20:28  DS18B20测温、显示、报警\Debug\Obj\EW11C.r43

     文件        896  2011-03-08 09:57  DS18B20测温、显示、报警\Debug\Obj\EW11F.r43

     文件        896  2011-03-08 10:01  DS18B20测温、显示、报警\Debug\Obj\EW122.r43

     文件        896  2011-03-08 10:01  DS18B20测温、显示、报警\Debug\Obj\EW124.r43

     文件        896  2011-03-08 10:02  DS18B20测温、显示、报警\Debug\Obj\EW126.r43

     文件        896  2011-03-08 10:02  DS18B20测温、显示、报警\Debug\Obj\EW128.r43

     文件        896  2011-03-08 10:02  DS18B20测温、显示、报警\Debug\Obj\EW12A.r43

     文件        896  2011-03-08 10:02  DS18B20测温、显示、报警\Debug\Obj\EW12C.r43

     文件        876  2015-05-15 17:13  DS18B20测温、显示、报警\Debug\Obj\EW12D5.r43

     文件        884  2015-05-17 10:57  DS18B20测温、显示、报警\Debug\Obj\EW133B.r43

     文件        884  2015-05-17 10:07  DS18B20测温、显示、报警\Debug\Obj\EW13A5.r43

     文件        884  2015-05-17 20:16  DS18B20测温、显示、报警\Debug\Obj\EW15A5.r43

     文件        884  2015-05-18 14:59  DS18B20测温、显示、报警\Debug\Obj\EW1664.r43

     文件        884  2015-05-18 14:39  DS18B20测温、显示、报警\Debug\Obj\EW1666.r43

     文件        884  2015-05-17 10:43  DS18B20测温、显示、报警\Debug\Obj\EW1834.r43

     文件        884  2015-05-17 09:10  DS18B20测温、显示、报警\Debug\Obj\EW18A7.r43

............此处省略368个文件信息

评论

共有 条评论