基本信息
源码名称:CC2530温湿度传感器
源码大小:0.04M
文件格式:.rar
开发语言:C/C++
更新时间:2018-07-18
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍
基于C语言与CC2530设备使用DHT11采集温湿度数据并输出

#include <ioCC2530.h>
#include <string.h>
#include"DHT11.h"
#include"LCD3310.h"


//typedef unsigned char uchar;
typedef unsigned int  uint;
#define TX_SIZE    20

#define TX_STRING  "Hello World  "

char TxData[TX_SIZE];        //存储发送字符串

/****************************************************************************
* 名    称: DelayMS()
* 功    能: 以毫秒为单位延时 16M时约为535,32M时要调整,系统时钟不修改默认为16M
* 入口参数: msec 延时参数,值越大延时越久
* 出口参数: 无
****************************************************************************/
void DelayMS(uint msec)
{  
    uint i,j;
    
    for (i=0; i<msec; i )
        for (j=0; j<1070; j );
}

/****************************************************************************
* 名    称: InitUart()
* 功    能: 串口初始化函数
* 入口参数: 无
* 出口参数: 无
****************************************************************************/
void InitUart(void)

    PERCFG = 0x00;           //外设控制寄存器 USART 0的IO位置:0为P0口位置1 
    P0SEL = 0x0c;            //P0_2,P0_3用作串口(外设功能)
    P2DIR &= ~0XC0;          //P0优先作为UART0
    
    U0CSR |= 0x80;           //设置为UART方式
    U0GCR |= 11;       
    U0BAUD |= 216;           //波特率设为115200
    UTX0IF = 0;              //UART0 TX中断标志初始置位0
}

/****************************************************************************
* 名    称: UartSendString()
* 功    能: 串口发送函数
* 入口参数: Data:发送缓冲区   len:发送长度
* 出口参数: 无
****************************************************************************/
void UartSendString(char *Data, int len)
{
    uint i;
    
    for(i=0; i<len; i )
    {
        U0DBUF = *Data ;
        while(UTX0IF == 0);
        UTX0IF = 0;
    }
}

/****************************************************************************
* 程序入口函数
****************************************************************************/
void main(void)
{
    CLKCONCMD &= ~0x40;               //设置系统时钟源为32MHZ晶振
    while(CLKCONSTA & 0x40);          //等待晶振稳定为32M
    CLKCONCMD &= ~0x47;               //设置系统主时钟频率为32MHZ
    InitUart();                       //调置串口相关寄存器
    initLcd();
    memset(TxData, 0, TX_SIZE);       //数据清0
    //TxData[0]=48;
    //memcpy(TxData, TX_STRING, sizeof(TX_STRING)); //复制发送字符串到TxData
    while(1)
    {
    //    UartSendString(TxData, sizeof(TX_STRING)); //串口发送数据
       DHT11();
        UartSendString("当前温度值是:", 14);
        TxData[0]=(char)wendu_shi 48;
        TxData[1]=(char)wendu_ge 48;
        UartSendString(TxData, 2);
        UartSendString("\r\n", 2);
        LCD_write_english_string(0,0,TxData);
      
        DelayMS(1000);                 //延时
    }
}