




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、一、主要內容:1、項目研究內容(根據你們做的情況對下面六點進行修改即可)(1)對溫室機房控制系統進行整體結構設計,設計系統的硬件電路,實現對溫室參數進行采集,顯示,報警,通信及對執行機構進行模擬控制的功能。(2)外圍設備的智能切換控制,實時溫度、濕度監測,處理環節均由系統智能控制,減少人工干預。(3)分析fs2410芯片和外圍設備傳輸、處理數據的效率和方式,為將來更復雜的任務打下基礎。(4)對溫室知道控制系統進行軟件設計(5)分析機房設備穩定運行的溫度和濕度范圍(6)為嵌入式方向教學探索新的方法2、項目研究成果實現了對溫度、濕度的顯示、控制以及警報。當溫度達到某一限定值時,就會產生警報,同時繼
2、電器開關就會激發,從而相關外設調節設備響應,來達到溫濕度的控制效果。3、項目解決方案(簡要介紹采用何種軟硬件平臺,可行性及項目設計整體思路)硬件設備:EasyARM2100開發試驗板,繼電器開關(6VDC OMRON LY2NJ),電位器(BAOSHI 3296 0908C),傳感器(DHT11),三極管(S8050 D.331),5V干電池2節,直流電源(6V),發光二極管(1個),J-link仿真器,杜邦線(若干)。軟件設備:室內溫濕度的控制主要是為了保持室內溫濕度的穩定,適合于一些對溫濕度要求較高的場合使用。本項目是基于ARM7 2410 系列開發板設計的,傳感器把溫濕度相關數據發送到主
3、控板上,然后通過串口調試助手顯示在電腦上。當溫濕度的值達到某一設定的臨界值時就會觸發開發板產生一個信號(輸出),使三極管處于導通狀態,繼電器開關響應,連接外設電源開始工作。當傳感器發送的數據在設定的合適的范圍內,開發板上的信號中斷,電壓消失,繼電器開關釋放,外設停止工作。從而達到對溫濕度的控制效果。4、項目技術報告(項目總體結構、所用技術、軟硬件各個模塊實現)總體方案結構圖:設計電路圖:二、(1)項目實現結果硬件連接圖:軟件配置:調試器:AXD Debugger編譯環境:A開發環境:codewarrior for ARM Developer suite (2)使用流程(即簡明用戶手冊)1.首先
4、把傳感器連接到2410開發板上,傳感器1PIN連接開發板的5V供電端,2PIN數據端連接P0.2,3PIN懸空,4PIN連接GND(即接地)。2.用戶要在電腦上安裝ARM Developer Suite V1.2軟件 然后創建一個項目文件,打開項目程序程序(見附錄)。3.給2410主控板供電、連接J-link仿真器并連接控制板到電腦的串口4.編譯并調試程序,然后打開串口調試小助手,把波特率調為115200(3)項目運行結果(軟件抓圖、硬件整個相片) 三、結論(結論、不足、進一步完善建議)本次項目實現了對溫濕度的檢測、報警和控制的功能,并能通過程序修改相關的參數來對不同的場合進行檢測
5、,從而擴大了該項目成果的使用范圍。在做這個項目前期,由于沒有把顯示器顯示數據的原理搞明白,所以沒有用顯示器來顯示數據。后期溫濕度的顯示是靠另外的軟件來解決的,沒有顯示器也就給讀取數據帶來了麻煩。另外這個項目是在2410控制板上實現的,所以如果要成為產品的話,就必須要用更便宜控制板替換2410,這樣就可以減少成本。軟件的操作也是一個不足之處,由于ARM Developer Suite V1.2軟件本省的原因,編譯和運行該項目的程序的過程有點復雜,這也是要改進的一點。在項目選擇硬件時,由于沒有考慮的周到,造成三極管的導通電壓需求較高。2410控制板上可提供的信號電壓是3.3V,所以外加了一個直流電
6、源(兩節干電池)供電,這一點需要改進-更換一個導通電壓低于3.3V的三極管。從圖片上可以看到硬件的連線很亂,可以把這些硬件固定在一塊電路板上,從而可以使整體看起來比較的簡單。以上是對本項目中出現的困難、不足和需要改進之處做的一個總結,我也從這個項目制作的過程中加深了對嵌入式的了解和認識。2010/12/21 秦嵩峰附:#include "config.h"#include <stdio.h>#define UART_BPS115200/* 定義通訊波特率 */#define LEDCON1 (1<<22)/濕度過高報警#define LEDCON2
7、(1<<23)/濕度過低報警#define LEDCON3 (1<<24)/溫度過高報警#define LEDCON4 (1<<25)/溫度過低報警#define BUZZE (1<<7)#define DATA_BUS (1<<2) #define CONTROL (1<<8)#define warning_temp_max25#define warning_temp_min20#define warning_rh_max50#define warning_rh_min43uint8 RH_H_temp;/濕度數據uin
8、t8 RH_L_temp;uint8 RH_H;uint8 RH_L;uint8 T_H_temp;/溫度數據uint8 T_L_temp;uint8 T_H;uint8 T_L;uint8 check_temp;uint8 comdata;uint32 flag_0_time=0;uint32 flag_1_time=0;uint32 measure;/*延遲10us*/void Delay_10us() T0TCR = 0x03; T0TCR = 0x01;/啟動并復位T0TC; T0IR = 0x01; while(T0IR&0x01)=0); /T0IR = 0x01; /T0
9、TCR = 0;/計數器停止/*延遲1us*/void Delay_1us()/用匯編實現1us定時 _asm NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP /*延遲1ms*/void Delay_1ms() T1TCR = 0x03; T1TCR = 0x01; T1IR = 0x0
10、1; while(T1IR&0x01)=0); /T1TCR = 0;/計數器停止/*判別0函數,26-28us表示0*/void MeasureForZero() uint8 count; for(count=0;count<4;count+) T0TCR = 0x03; T0TCR = 0x01;/啟動并復位T0TC; T0IR = 0x01; while(T0IR&0x01)=0) flag_0_time+; /測量30us,flag_0_time的值;注意while語句也會占用時間/*判別1函數*/void MeasureForOne() uint8 count;
11、 for(count=0;count<8;count+) T0TCR = 0x03; T0TCR = 0x01;/啟動并復位T0TC; T0IR = 0x01; while(T0IR&0x01)=0) flag_1_time+; /*定時器0,1初始化函數*/void Time0Init(void) /* 初始化定時器0,實現0.5S定時;定時器1實現0.1秒定時。 */ T0TC = 0; T0PR = 0;/設置定時器1分頻 T0MCR = 0x03;/匹配通道0匹配中斷并復位T0TC T0MR0 = 120;/實現10us定時,(實際要大于10us,真實值約為10.85us
12、) T0TCR = 0x03; T0TCR = 0x01;void Time1Init(void) T1TC = 0; T1PR = 0; T1MCR = 0x03; T1MR0 = 11059;/實現1ms定時 T1TCR = 0x03; T1TCR = 0x01;/*數據接收函數*/void COM(void) uint8 i; uint32 detect; for(i=0;i<8;i+) measure=0; detect=0; while(!(IO0PIN&DATA_BUS)/等待50us結束 detect+; while(IO0PIN&DATA_BUS)=4)
13、measure+; if(measure<flag_0_time) comdata<<=1; comdata|=0; else if(measure>flag_0_time)&&(measure<flag_1_time) comdata<<=1; comdata|=1; else comdata<<=1;comdata|=1; /for/-/-濕度讀取子程序 -/-/-以下變量均為全局變量-/-溫度高8位= U8T_data_H-/-溫度低8位= U8T_data_L-/-濕度高8位= U8RH_data_H-/-濕度低8位
14、= U8RH_data_L-/-校驗 8位 = U8checkdata-/-調用相關子程序如下-/- Delay_1ms();, Delay_10us();,COM();/-void RH(void) uint8 counter; IO0CLR = DATA_BUS; /將總線拉低18ms,發出開始信號 for(counter=0;counter<18;counter+) Delay_1ms(); /將總線拉高40us,等待傳感器響應 IO0SET = DATA_BUS; /主機設為輸入 判斷從機響應信號 IO0DIR&=(DATA_BUS); Delay_10us(); Del
15、ay_10us(); Delay_10us();/ Delay_10us();/判斷從機是否有低電平響應信號 如不響應則跳出,響應則向下運行 if(IO0PIN&DATA_BUS)=0)/有響應 /等待IO0PIN的響應信號 / while(IO0PIN&DATA_BUS)=1); while(!(IO0PIN&DATA_BUS);/等待80us的響應結束 while(IO0PIN&DATA_BUS);/等待80us的響應結束 COM(); RH_H_temp=comdata; COM(); RH_L_temp=comdata; COM(); T_H_temp=
16、comdata; COM(); T_L_temp=comdata; COM(); check_temp=comdata; if(check_temp=(RH_H_temp+RH_L_temp+T_H_temp+T_L_temp) RH_H=RH_H_temp; RH_L=RH_L_temp; T_H=T_H_temp; T_L=T_L_temp; /* 名稱:UART0_Ini()* 功能:初始化串口0。設置為8位數據位,1位停止位,無奇偶校驗,波特率為115200* 入口參數:無* 出口參數:無*/void UART0_Ini(void) uint16 Fdiv; U0LCR = 0x83;
17、 / DLAB = 1,可設置波特率 Fdiv = (Fpclk / 16) / UART_BPS; / 設置波特率 U0DLM = Fdiv / 256; U0DLL = Fdiv % 256; U0LCR = 0x03;/* 名稱:UART0_SendByte()* 功能:向串口發送字節數據,并等待發送完畢。* 入口參數:data要發送的數據* 出口參數:無*/void UART0_SendByte(uint8 data) U0THR = data; / 發送數據 while( (U0LSR&0x40)=0 ); / 等待數據發送完畢/* 名稱:UART0_SendStr()* 功
18、能:向串口發送一字符串* 入口參數:srt要發送的字符串的指針* 出口參數:無*/void UART0_SendStr(char const *str) while(1) if( *str = '0' ) break; UART0_SendByte(*str+); / 發送數據 uint8 const SEND_STRING = "Hello World!n"/*主函數*/int main() uint32 i;/ uint8 data4;/用來存放接收到的數據 char str30; PINSEL0=0x00000005;/UART PINSEL1=0x0
19、0000000; IO0DIR = DATA_BUS; UART0_Ini(); Time0Init(); Time1Init(); MeasureForOne(); MeasureForZero(); while(1) /* FlashLEDCON_23();/10ms 為單位的2s閃爍 FlashLEDCON_24();/10us 為單位的2s閃爍 */ IO0DIR = LEDCON1|LEDCON2|LEDCON3|DATA_BUS|CONTROL|BUZZE; RH(); /每隔2s采樣 for(i=0;i<2000;i+) Delay_1ms(); /檢查溫度是否到報警值 if(RH_H>warning_
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 成人教育教師專業化發展計劃
- 工業生產中降低噪音和污染的技術措施
- 旅游業客戶滿意度問題清單及整改措施
- 三氧治療疼痛臨床應用與機制解析
- 制造業倉庫主管2025年工作總結與計劃
- 建筑材料行業2025年發展計劃與總結
- 復學后心理健康輔導計劃
- 鋼結構工程項目的安全生產預控措施
- STEAM教育下的數學課程標準心得體會
- PEP小學英語四年級上冊分級閱讀計劃
- 2024年中職高考數學計算訓練 專題13 數列的相關計算
- ISO22716-執行標準化妝品良好操作規范GMPC標準及內審員培訓教材
- 工程造價咨詢服務投標方案(技術方案)
- 四川省宜賓市2024年小升初語文真題試卷及答案
- 二手車過戶原車主委托書模板
- 2023年10月00322中國行政史試題及答案含解析
- 醫院培訓課件:《PPD試驗》
- 中國飲食文化智慧樹知到期末考試答案2024年
- MOOC 金融學-湖南大學 中國大學慕課答案
- 第五單元 單元作業設計 小學語文部編版三年級下冊
- 成人氧氣吸入療法-中華護理學會團體標準
評論
0/150
提交評論