版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年汽車ABS傳感器項目立項申請報告模板
- 2024-2025學(xué)年溫州市永嘉縣數(shù)學(xué)三上期末預(yù)測試題含解析
- 電廠個人自我鑒定6篇
- 教師節(jié)活動策劃書(15篇)
- 買賣合同模板匯編五篇
- 設(shè)計師工作總結(jié)集合15篇
- 學(xué)校防溺水工作方案15篇
- 2024年智能汽車研發(fā)與生產(chǎn)合同
- 2024年版5G網(wǎng)絡(luò)建設(shè)與運(yùn)營協(xié)議
- 自我鑒定范文100字左右10篇
- 物業(yè)管家轉(zhuǎn)正工作述職報告
- 四川省成都市九縣區(qū)2023-2024學(xué)年高一下學(xué)期期末調(diào)研考試化學(xué)試題(解析版)
- 產(chǎn)品創(chuàng)意設(shè)計學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 協(xié)議書范文離婚書范本模板
- DB3502T 078-2022 代建工作規(guī)程
- 重癥肺炎的護(hù)理查房護(hù)理病歷臨床病案
- 現(xiàn)場調(diào)查與勘察委托合同三篇
- 北京市海淀區(qū)2023-2024學(xué)年五年級上學(xué)期數(shù)學(xué)期末試卷
- 山西省事業(yè)單位工作人員年度考核登記表
- 人教版九年級化學(xué)電子版教材(全冊)-課件資料
- 生物人教版(2024)版七年級上冊1.2.1學(xué)習(xí)使用顯微鏡教學(xué)課件03
評論
0/150
提交評論