




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、更多精品資料請關(guān)注:歌樓聽雨實訓 溫濕度傳感器實驗1. 實驗環(huán)境 硬件:zigbee(cc2431)模塊,zigbee下載調(diào)試板,配套溫濕度傳感器,usb仿真器,pc機 軟件:iar embedded workbench for mcs-512. 實驗內(nèi)容 閱讀up-cup iot-6410系統(tǒng)zigbee模塊硬件部分文檔,熟悉zigbee模塊相關(guān)硬件接口。 閱讀shtx0溫濕度傳感器芯片文檔,熟悉該傳感器的使用及時序操作。 使用iar開發(fā)環(huán)境設計程序,利用cc2431的io中斷來監(jiān)測溫濕度傳感器的狀態(tài)。3. 實驗原理3.1 硬件接口原理 zigbee(cc2431)模塊led硬件接口圖4.6
2、.1 led硬件接口zigbee(cc2431)模塊硬件上設計有2個led燈,用來編程調(diào)試使用。分別連接cc2431的p1_0、p、1_1兩個io引腳。從原理圖上可以看出,2個led燈共陽極,當p1_0、p1_1引腳為低電平時候,led燈點亮。 溫濕度傳感器模塊硬件接口圖4.6.2 溫濕度傳感器硬件接口圖4.6.3 zigbee模塊主板j5接口系統(tǒng)配套的溫濕度傳感器,與zigbee模塊的j5排線相連,這樣我們可以知道,溫濕度傳感器模塊的時鐘線與zigbee模塊的p0_0 io引腳相連,溫濕度傳感器的數(shù)據(jù)線與p0_1 io引腳相連。因此我們需要在代碼中將相應引腳進行輸入輸出控制模擬該傳感器時序,
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端口的上拉下拉電阻設置寄存器。表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 軟件設計關(guān)鍵源碼分析:設置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(); / 復位溫濕度傳感器 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; / 進行溫濕度原始數(shù)據(jù)參照校準 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引腳來模擬溫濕度傳感器時序,進而取得傳感器的狀態(tài),如果順利采集到溫濕度狀態(tài),則led2閃爍且在串口輸出相應的溫濕度數(shù)據(jù)。4. 實驗步驟 使用usb仿真器連接pc機和zigbee(cc2431)模塊,將zigbee調(diào)試板的電源撥到3.3v段,打開ziebee模塊開關(guān)供電。將系統(tǒng)配套串口線一端連接pc機,一端連接zigbee調(diào)試板的串口上。將系統(tǒng)配套溫濕度傳感器連接到zigbee模塊的主板上,連接j5線排端,且保證rj1電阻跳線跳至3.3v供電端。勿要連接錯!。 啟動iar開發(fā)環(huán)境,新建工程,將exp6實驗工程中代碼拷貝到新建工程中。 在iar開發(fā)環(huán)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 關(guān)于2024年無人機駕駛員執(zhí)照考試的知識點試題及答案
- 一級建造師復習時間分配試題及答案
- 探討無人機駕駛員職業(yè)道德的試題及答案
- 2025年入團考試試題及答案不斷更新
- 內(nèi)部控制框架試題及答案
- 無人機環(huán)境適應能力的試題及答案
- 護理職業(yè)生涯規(guī)劃試題及答案
- 護理教育與發(fā)展試題及答案
- 無人機駕駛員執(zhí)照考試的成功秘訣試題及答案
- 回顧總結(jié)的高級會計試題及答案
- 第24課《蛟龍?zhí)胶!氛n件
- 醫(yī)院感染與醫(yī)療質(zhì)量管理
- 《公司法》知識學習考試題庫150題(含答案)
- 新農(nóng)村太陽能路燈照明設計方案
- 計算機網(wǎng)絡安全畢業(yè)答辯
- 帶貨主播經(jīng)紀合同范本3篇
- 裝飾裝修方案
- 2024年度貨運代理服務合同運輸安全與事故預防3篇
- 高校實驗室雙重預防機制方案
- 幼兒園教師資格考試面試試題與參考答案(2025年)
- 燃氣管道項目審計要點
評論
0/150
提交評論