實(shí)訓(xùn)四溫濕度傳感器實(shí)驗(yàn)_第1頁
實(shí)訓(xùn)四溫濕度傳感器實(shí)驗(yàn)_第2頁
實(shí)訓(xùn)四溫濕度傳感器實(shí)驗(yàn)_第3頁
實(shí)訓(xùn)四溫濕度傳感器實(shí)驗(yàn)_第4頁
實(shí)訓(xùn)四溫濕度傳感器實(shí)驗(yàn)_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、更多精品資料請關(guān)注:歌樓聽雨實(shí)訓(xùn) 溫濕度傳感器實(shí)驗(yàn)1. 實(shí)驗(yàn)環(huán)境 硬件:zigbee(cc2431)模塊,zigbee下載調(diào)試板,配套溫濕度傳感器,usb仿真器,pc機(jī) 軟件:iar embedded workbench for mcs-512. 實(shí)驗(yàn)內(nèi)容 閱讀up-cup iot-6410系統(tǒng)zigbee模塊硬件部分文檔,熟悉zigbee模塊相關(guān)硬件接口。 閱讀shtx0溫濕度傳感器芯片文檔,熟悉該傳感器的使用及時序操作。 使用iar開發(fā)環(huán)境設(shè)計程序,利用cc2431的io中斷來監(jiān)測溫濕度傳感器的狀態(tài)。3. 實(shí)驗(yàn)原理3.1 硬件接口原理 zigbee(cc2431)模塊led硬件接口圖4.6

2、.1 led硬件接口zigbee(cc2431)模塊硬件上設(shè)計有2個led燈,用來編程調(diào)試使用。分別連接cc2431的p1_0、p、1_1兩個io引腳。從原理圖上可以看出,2個led燈共陽極,當(dāng)p1_0、p1_1引腳為低電平時候,led燈點(diǎn)亮。 溫濕度傳感器模塊硬件接口圖4.6.2 溫濕度傳感器硬件接口圖4.6.3 zigbee模塊主板j5接口系統(tǒng)配套的溫濕度傳感器,與zigbee模塊的j5排線相連,這樣我們可以知道,溫濕度傳感器模塊的時鐘線與zigbee模塊的p0_0 io引腳相連,溫濕度傳感器的數(shù)據(jù)線與p0_1 io引腳相連。因此我們需要在代碼中將相應(yīng)引腳進(jìn)行輸入輸出控制模擬該傳感器時序,

3、來監(jiān)測溫濕度傳感器狀態(tài)。 cc2431 相關(guān)寄存器表4.6.1 p0dir寄存器表4.6.2 p0inp寄存器表4.6.3 p2inp寄存器表4.6.4 p1寄存器表4.6.5 p1dir寄存器以上圖表列出了關(guān)于cc2431處理器的p0和p1 io端口相關(guān)寄存器,其中p0dir、p1dir為io方向寄存器,p0inp為p0端口輸入配置寄存器,p2inp用來控制p0端口的上拉下拉電阻設(shè)置寄存器。表4.6.6 clkcon寄存器表4.6.7 sleep寄存器表4.6.8 percfg寄存器表4.6.9 u0csr寄存器表4.6.10 u0gcr寄存器表4.6.11 u0buf和u0baud寄存器以

4、上圖表列舉了和cc2431處理器串口相關(guān)寄存器,用來初始化串口0配置的。詳情見軟件代碼部分。3.2 軟件設(shè)計關(guān)鍵源碼分析:設(shè)置cc2430 io 狀態(tài),模擬溫濕度傳感器時序,其中將數(shù)據(jù)線上拉電阻功能打開:#define sensor_data_in() dop0dir &= (0x020);p0inp &= 0x02;p2inp &= (0x015);while(0); #define sensor_clk_in() dop0dir &= (0x010);while(0); #define sensor_data_out() dop0dir |= (0x020);p0inp &= 0x02;p

5、2inp &= (0x015);while(0);#define sensor_clk_out() dop0dir |= (0x010);while(0);#define set_data_1() (p0_1 = 1)#define set_data_0() (p0_1 = 0)#define set_clk_1() (p0_0 = 1)#define set_clk_0() (p0_0 = 0)#define is_data_1() ( p0_1 )#define is_clk_1() ( p0_0 )溫濕度采集模擬時序代碼參見工程代碼sht11.c文件,其中大部分采用官方提供demo代碼完

6、成,稍加時序控制即可使用。函數(shù)定于如下:void udelay(uint n);void _nop_(void);void s_connectionreset(void);char s_measure(unsigned char *p_value, unsigned char *p_checksum, unsigned char mode);void calc_sth11(float *p_humidity ,float *p_temperature);float calc_dewpoint(float h,float t);char s_read_byte(unsigned char ack

7、);char s_write_byte(unsigned char value);主函數(shù)如下:/*函數(shù)功能 :主函數(shù)*入口參數(shù) :無*返 回 值 :無*說 明 :無*/void main(void) value humi_val,temp_val; unsigned char error=0,checksum; char temp_buf10; char humi_buf10; float dew_point; / 初始化串口 波特率57600inituart(); init_io();/ p1、p0 io初始化 delay(200); sensor_data_out(); set_data_

8、0(); sensor_clk_out(); set_clk_0(); s_connectionreset(); / 復(fù)位溫濕度傳感器 delay(20); / 循環(huán)采集溫濕度狀態(tài)并通過串口發(fā)送數(shù)據(jù) while(1) error=0; led2 =1; error+=s_measure(unsigned char*) &humi_val.i,&checksum,humi); /measure humidity delay(50000); error+=s_measure(unsigned char*) &temp_val.i,&checksum,temp); /measure temperat

9、ure delay(50000); if(error!=0) s_connectionreset();uarttx_send_string(error,5);led1 = 0;delay(50000);led1 = 1; else led2 = 0; humi_val.f=(float)humi_val.i; temp_val.f=(float)temp_val.i; / 進(jìn)行溫濕度原始數(shù)據(jù)參照校準(zhǔn) calc_sth11(&humi_val.f,&temp_val.f); /calculate humidity, temperature dew_point=calc_dewpoint(humi

10、_val.f,temp_val.f); /calculate dew point delay(50000); / 格式化數(shù)據(jù)輸出 sprintf(humi_buf, (char *)%f, (float)humi_val.f); sprintf(temp_buf, (char *)%f, (float)temp_val.f); uarttx_send_string(temp:,5); uarttx_send_string(temp_buf,sizeof(temp_buf); uarttx_send_string(humi:,5); uarttx_send_string(humi_buf,siz

11、eof(humi_buf); uarttx_send_word(0x0a); uarttx_send_word(0x0d); /delay(50000); 程序通過配置cc2431 處理器的io p0_0、p0_1引腳來模擬溫濕度傳感器時序,進(jìn)而取得傳感器的狀態(tài),如果順利采集到溫濕度狀態(tài),則led2閃爍且在串口輸出相應(yīng)的溫濕度數(shù)據(jù)。4. 實(shí)驗(yàn)步驟 使用usb仿真器連接pc機(jī)和zigbee(cc2431)模塊,將zigbee調(diào)試板的電源撥到3.3v段,打開ziebee模塊開關(guān)供電。將系統(tǒng)配套串口線一端連接pc機(jī),一端連接zigbee調(diào)試板的串口上。將系統(tǒng)配套溫濕度傳感器連接到zigbee模塊的主板上,連接j5線排端,且保證rj1電阻跳線跳至3.3v供電端。勿要連接錯!。 啟動iar開發(fā)環(huán)境,新建工程,將exp6實(shí)驗(yàn)工程中代碼拷貝到新建工程中。 在iar開發(fā)環(huán)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論