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

资源简介

CC2530+OLED电压信号(模拟信号)显示串口传入上位机

资源截图

代码片段和文件信息

#include “ds18b20.h“ 

#define Ds18b20IO P0_7       //温度传感器引脚

void Delay_us(unsigned int k)//us延时函数
{
    T1CC0L = 0x06; 
    T1CC0H = 0x00; 
    T1CTL = 0x02; 
    while(k)
    { 
        while(!(T1CNTL >= 0x04));
        k--;
    }
    T1CTL = 0x00;  //关闭定时器
}

void Delay_ms(unsigned int k)
{
    T1CC0L = 0xe8;
    T1CC0H = 0x03;
    T1CTL = 0x0a; //模模式 32分频
    while(k)
    {
        while(!((T1CNTL >= 0xe8)&&(T1CNTH >= 0x03)));
        k--;
    }
    T1CTL = 0x00; //关闭定时器
}

void Delay_s(unsigned int k)
{
    while(k)
    {
        Delay_ms(1000);
        k--;
    }
}

//时钟频率为32M
void Ds18b20Delay(unsigned int k)
{
    unsigned int ij;
    for(i=0;i        for(j=0;j<2;j++);
}

void Ds18b20InputInitial(void)//设置端口为输入
{
    P0DIR &= 0x7f;
}

void Ds18b20OutputInitial(void)//设置端口为输出
{
    P0DIR |= 0x80;
}

//ds18b20初始化  初始化成功返回0x00,失败返回0x01
unsigned char Ds18b20Initial(void)
{
    unsigned char Status = 0x00;
    unsigned int CONT_1 = 0;
    unsigned char Flag_1 = 1;
    Ds18b20OutputInitial();
    Ds18b20IO = 1;      //DQ复位
    Ds18b20Delay(260);  //稍做延时
    Ds18b20IO = 0;      //单片机将DQ拉低
    Ds18b20Delay(750);  //精确延时 大于 480us 小于960us
    Ds18b20IO = 1;      //拉高总线
    Ds18b20InputInitial();//设置IO输入
    while((Ds18b20IO != 0)&&(Flag_1 == 1))//等待ds18b20响应,具有防止超时功能
    {                                      //等待约60ms左右
        CONT_1++;
        Ds18b20Delay(10);
        if(CONT_1 > 8000)Flag_1 = 0;
        Status = Ds18b20IO;
    }
    Ds18b20OutputInitial();
    Ds18b20IO = 1;
    Ds18b20Delay(100);
    return Status;       //返回初始化状态
}

void Ds18b20Write(unsigned char infor)
{
    unsigned int i;
    Ds18b20OutputInitial();
    for(i=0;i<8;i++)
    {
        if((infor & 0x01))
        {
            Ds18b20IO = 0;
            Ds18b20Delay(6);
            Ds18b20IO = 1;
            Ds18b20Delay(50);
        }
        else
        {
            Ds18b20IO = 0;
            Ds18b20Delay(50);
            Ds18b20IO = 1;
            Ds18b20Delay(6);
        }
        infor >>= 1;
    }
}

unsigned char Ds18b20Read(void)
{
    unsigned char Value = 0x00;
    unsigned int i;
    Ds18b20OutputInitial();
    Ds18b20IO = 1;
    Ds18b20Delay(10);
    for(i=0;i<8;i++)
    {
        Value >>= 1; 
        Ds18b20OutputInitial();
        Ds18b20IO = 0;// 给脉冲信号
        Ds18b20Delay(3);
        Ds18b20IO = 1;// 给脉冲信号
        Ds18b20Delay(3);
        Ds18b20InputInitial();
        if(Ds18b20IO == 1) Value |= 0x80;
        Ds18b20Delay(15);
    } 
    return Value;
}

//温度读取函数
unsigned char ReadDs18B20(void) 
{
    unsigned char V1V2;   //定义高低8位 缓冲
    unsigned char temp;    //定义温度缓冲寄存器
    
    Ds18b20Initial();
    Ds18b20Write(0xcc);    // 跳过读序号列号的操作
    Ds18b20Write(0x44);    // 启动温度转换
    
    Ds18b20Initial();
    Ds18b20Write(0xcc);    //跳过读序号列号的操作 
    Ds18b20Write(0xbe);    //读取温度寄存器等(共可读9个寄存器) 前两个就是温度
    

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

     文件      31188  2015-11-05 14:59  CC2530okokoko\Debug\Exe\ds18b20.d51

     文件        213  2015-11-05 21:24  CC2530okokoko\Debug\Obj\ds18b20.pbd

     文件      26502  2015-11-05 14:58  CC2530okokoko\Debug\Obj\ds18b20.r51

     文件     129845  2015-11-05 14:59  CC2530okokoko\Debug\Obj\main.r51

     文件       3295  2015-11-05 21:46  CC2530okokoko\ds18b20.dep

     文件      34276  2012-11-26 11:06  CC2530okokoko\ds18b20.ewd

     文件      56703  2015-11-04 20:43  CC2530okokoko\ds18b20.ewp

     文件        161  2012-09-09 19:40  CC2530okokoko\ds18b20.eww

     文件       1321  2015-11-05 21:24  CC2530okokoko\settings\ds18b20.cspy.bat

     文件       4242  2015-11-05 21:46  CC2530okokoko\settings\ds18b20.dbgdt

     文件        702  2015-11-05 21:46  CC2530okokoko\settings\ds18b20.dni

     文件       3939  2015-11-05 21:46  CC2530okokoko\settings\ds18b20.wsdt

     文件       4403  2013-03-25 13:00  CC2530okokoko\Source\adc.h

     文件      19103  2015-11-03 21:48  CC2530okokoko\Source\codetab.h

     文件       4011  2013-09-03 11:34  CC2530okokoko\Source\ds18b20.c

     文件        185  2013-09-03 11:47  CC2530okokoko\Source\ds18b20.h

     文件       4969  2012-02-29 21:51  CC2530okokoko\Source\hal_defs.h

     文件       3834  2012-02-29 21:46  CC2530okokoko\Source\hal_types.h

     文件       6804  2014-10-22 13:11  CC2530okokoko\Source\LCD.h

     文件       2645  2013-03-22 10:24  CC2530okokoko\Source\led.h

     文件      14978  2015-11-05 14:59  CC2530okokoko\Source\main.c

     文件        183  2012-06-05 16:35  CC2530okokoko\Source\uart.h

     文件       4403  2013-03-25 13:00  CC2530okokoko\新加\adc.h

     文件       4969  2012-02-29 21:51  CC2530okokoko\新加\hal_defs.h

     文件       3834  2012-02-29 21:46  CC2530okokoko\新加\hal_types.h

     文件       2645  2013-03-22 10:24  CC2530okokoko\新加\led.h

     文件        183  2012-06-05 16:35  CC2530okokoko\新加\uart.h

     目录          0  2015-11-05 14:58  CC2530okokoko\Debug\Exe

     目录          0  2013-07-08 17:48  CC2530okokoko\Debug\List

     目录          0  2015-11-05 21:46  CC2530okokoko\Debug\Obj

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

评论

共有 条评论

相关资源