資源簡介
DHT11數字溫濕度傳感器是一款含有已校準數字信號輸出的溫濕度復合傳感器,它應用專用的數字模塊采集技術和溫濕度傳感技術,確保產品具有極高的可靠性和卓越的長期穩定性。傳感器包括一個電阻式感濕元件和一個NTC測溫元件,并與一個高性能8位單片機相連接。
CC2530 是用于2.4-GHz IEEE 802.15.4、ZigBee 和RF4CE 應用的一個真正的片上系統(SoC)解決方案。它能夠以非常低的總的材料成本建立強大的網絡節點。CC2530 結合了領先的RF 收發器的優良性能,業界標準的增強型8051 CPU,系統內可編程閃存,8-KB RAM 和許多其他強大的功能。
CC2530下驅動溫濕度傳感器DHT11,程序為自己開發,驗證可用。

代碼片段和文件信息
//BY?QIUJIE?TECH.INC.
#include?
#include?
#include?“stdio.h“
#define??uint??unsigned?int
#define??uchar?unsigned?char
//定義控制燈的端口
#define??DHT11_DATA??P1_0
/*****************全局變量的定義******************/
uchar??Overtime_counter;??//判斷等待是否超時的計數器。利用uchar型的數值范圍進行自動延時控制(時長由初值決定),并判斷是否超時
uchar??bit_value; ??//從DATA總線上讀到的位值
uchar??T_data_HT_data_LRH_data_HRH_data_Lcheckdata;//校驗過的溫度高8位溫度低8位濕度高8位濕度低8位校驗和8位
uchar??T_data_H_tempT_data_L_tempRH_data_H_tempRH_data_L_tempcheckdata_temp;//未經校驗的數據
uchar??comdata; ????//從DHT11讀取的一個字節的數據
uchar??count;???????//串口發送的字節計數變量
uchar??code_state;
uchar??counter_i=0;
//函數聲明
void?initUARTSEND(void);
void?UartTX_Send_String(char?*Dataint?len);
void?InitialAD(void);
char?Txdata[25]=“DHT11?BEGIN:??“;
char??str[16];
/****************************************************************
????延時函數
****************************************************************/
void??Delay_10us(void)
{
????????uchar?i=18;
????????for(;i>0;i--);
}
void?Delay_100us(uint?i)
{
uchar?j;
for(;i>0;i--)
{?
??for(j=0;j<10;j++)
??????????Delay_10us();
}
}
/****************************************************************
???串口初始化函數
****************************************************************/
void?initUARTSEND(void)
{
????//CLKCONCMD?=?0X10;????????????//12M晶振
????//while(CLKCONSTA!=0X10);
??
??//initialized?xsc
??CLKCONCMD?&=?~0X7F;
??while(CLKCONSTA?&?0X40);//bit6為0時(32MHz晶振,1為16MHz的RC)跳出循環
????
????PERCFG?=?0x00; //位置1?P0口
????P0SEL?=?0x3c; //P0_2P0_3P0_4P0_5用作串口
????P2DIR?&=?~0XC0;?????????????????????????????//P0優先作為UART0
????U0CSR?|=?0x80; //UART方式
????U0GCR?|=?10; ???????
????U0BAUD?|=?216; //波特率設為57600
????UTX0IF?=?0;?????????????????????????????????//UART0?TX中斷標志初始置位0
}
/****************************************************************
???定時器初始化函數
****************************************************************/
void?InitialT1test(void)
{
??//initialized?interrupt
??EA?=?1;
??T1IE?=?1;
????????
????????//初始化計數器1
T1CTL?=?0x05; ???????//8分頻;自動重裝模式(0x0000->0xffff)????????
????????T1STAT=?0x00;??????????//通道0中斷有效
????????
}
/****************************************************************
串口發送字符串函數
****************************************************************/
void?UartTX_Send_String(char?*Dataint?len)
{
??int?j;
??for(j=0;j ??{
????U0DBUF?=?*Data++;
????while(UTX0IF?==?0);
????UTX0IF?=?0;
??}
}
void?U0TX_send_byte(char?data)
{
??U0DBUF=data;
??while(!UTX0IF);
??UTX0IF=0;
}
void?U0TX_send_int(uchar?data)
{
??uchar?num0num1num2temp;
??num0=data/100;
??temp=data%100;
??num1=temp/10;
??temp=temp%10;
??num2=temp;
??U0TX_send_byte(num0+48);
??U0TX_send_byte(num1+48);
??U0TX_send_byte(num2+48);
??U0TX_send_byte(‘#‘);
}
/*****************從DHT11讀取一個字節函數******************/
void??Read_Byte(void)
{
??//U0TX_send_byte(‘l‘);
uchar?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????7909??2012-07-08?16:40??dht11-cc2530\32MHz\CC2530UART1Test.c
?????文件???????2289??2012-07-21?14:23??dht11-cc2530\32MHz\CC2530UART1Test.dep
?????文件??????26857??2011-10-31?10:48??dht11-cc2530\32MHz\CC2530UART1Test.ewd
?????文件??????53179??2010-09-11?09:55??dht11-cc2530\32MHz\CC2530UART1Test.ewp
?????文件????????169??2010-09-09?17:22??dht11-cc2530\32MHz\CC2530UART1Test.eww
?????文件??????15169??2012-07-21?14:23??dht11-cc2530\32MHz\Debug\Exe\CC2530UART1Test.hex
?????文件????????185??2012-07-21?14:23??dht11-cc2530\32MHz\Debug\Obj\CC2530UART1Test.pbd
?????文件????????732??2012-07-21?14:23??dht11-cc2530\32MHz\Debug\Obj\CC2530UART1Test.pbi
?????文件??????34846??2012-07-21?14:23??dht11-cc2530\32MHz\Debug\Obj\CC2530UART1Test.r51
?????文件???????2496??2012-07-21?14:23??dht11-cc2530\32MHz\settings\CC2530UART1Test.cspy.bat
?????文件???????3341??2012-07-21?14:23??dht11-cc2530\32MHz\settings\CC2530UART1Test.dbgdt
?????文件????????601??2012-07-21?14:24??dht11-cc2530\32MHz\settings\CC2530UART1Test.dni
?????文件???????3647??2012-07-21?14:23??dht11-cc2530\32MHz\settings\CC2530UART1Test.wsdt
?????文件??????17920??2012-07-29?13:42??dht11-cc2530\數據記錄.xls
?????文件????????225??2012-07-08?16:49??dht11-cc2530\日志.txt
?????目錄??????????0??2013-06-22?08:03??dht11-cc2530\32MHz\Debug\Exe
?????目錄??????????0??2012-07-08?16:46??dht11-cc2530\32MHz\Debug\List
?????目錄??????????0??2013-06-22?08:03??dht11-cc2530\32MHz\Debug\Obj
?????目錄??????????0??2013-06-22?08:03??dht11-cc2530\32MHz\Debug
?????目錄??????????0??2013-06-22?08:03??dht11-cc2530\32MHz\settings
?????目錄??????????0??2013-06-22?08:03??dht11-cc2530\32MHz
?????目錄??????????0??2013-06-22?08:03??dht11-cc2530
-----------?---------??----------?-----??----
???????????????169565????????????????????22
評論
共有 條評論