• 大小: 204KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-09
  • 语言: 其他
  • 标签: msp430f149  12864  

资源简介

msp430f149 12864显示温度

资源截图

代码片段和文件信息

#include “ds18b20.h“




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

/*******************************************
函数名称:Skip
功    能:发送跳过读取产品ID号命令
参    数:无
返回值  :无
********************************************/
void Skip(void)
{
    Write_18B20(0xcc);
}
/*******************************************
函数名称:Convert
功    能:发送温度转换命令
参    数:无
返回值  :无
********************************************/
void Convert(void)
{
    Write_18B20(0x44);
}
/*******************************************
函数名称:Read_SP
功    能:发送读ScratchPad命令
参    数:无
返回值  :无
********************************************/
void Read_SP(void)
{
    Write_18B20(0xbe);
}
/*******************************************
函数名称:ReadTemp
功    能:从DS18B20的ScratchPad读取温度转换结果
参    数:无
返回值  :读取的温度数值
********************************************/
uint ReadTemp(void)
{
    uchar temp_low;
    

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

     文件      27201  2014-08-28 19:33  LCD12864\Debug\Exe\LCD12864.d43

     文件     277992  2014-08-28 18:46  LCD12864\Debug\Obj\DS18B20.pbi

     文件       9624  2014-08-28 18:46  LCD12864\Debug\Obj\DS18B20.pbi.cout

     文件      14535  2014-08-28 18:46  LCD12864\Debug\Obj\DS18B20.r43

     文件     462303  2014-08-28 19:33  LCD12864\Debug\Obj\LCD12864.pbd

     文件     462303  2014-08-28 19:33  LCD12864\Debug\Obj\LCD12864.pbd.browse

     文件     324989  2014-08-28 18:05  LCD12864\Debug\Obj\LCD12864.pbi

     文件       9625  2014-08-28 18:05  LCD12864\Debug\Obj\LCD12864.pbi.cout

     文件      21732  2014-08-28 18:05  LCD12864\Debug\Obj\LCD12864.r43

     文件     313679  2014-08-28 19:33  LCD12864\Debug\Obj\main.pbi

     文件       9621  2014-08-28 19:33  LCD12864\Debug\Obj\main.pbi.cout

     文件      22548  2014-08-28 19:33  LCD12864\Debug\Obj\main.r43

     文件       4001  2014-08-28 18:46  LCD12864\DS18B20.c

     文件        557  2014-08-28 18:46  LCD12864\DS18B20.h

     文件       5125  2014-08-28 18:05  LCD12864\LCD12864.c

     文件       3514  2014-08-28 19:33  LCD12864\LCD12864.dep

     文件      20421  2014-08-27 20:03  LCD12864\LCD12864.ewd

     文件      52634  2014-08-28 18:25  LCD12864\LCD12864.ewp

     文件        162  2014-08-26 16:45  LCD12864\LCD12864.eww

     文件        895  2014-08-28 18:05  LCD12864\LCD12864.h

     文件         25  2014-08-28 19:33  LCD12864\LCD12864CustomSfr.sfr

     文件       3029  2014-08-28 19:33  LCD12864\main.c

     文件          0  2014-08-28 19:33  LCD12864\path.txt

     文件       1442  2014-08-28 19:34  LCD12864\settings\LCD12864.cspy.bat

     文件       6077  2014-08-27 21:19  LCD12864\settings\LCD12864.dbgdt

     文件       1336  2014-08-28 19:34  LCD12864\settings\LCD12864.dni

     文件       4572  2014-08-28 19:33  LCD12864\settings\LCD12864.wsdt

     目录          0  2014-08-26 19:25  LCD12864\Debug\Exe

     目录          0  2014-08-26 16:44  LCD12864\Debug\List

     目录          0  2014-08-28 19:33  LCD12864\Debug\Obj

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

评论

共有 条评论