




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、課程設(shè)計名稱:單片機(jī)程序設(shè)計基礎(chǔ)目:智能澆花裝置程序設(shè)計學(xué) 期:2013-2014學(xué)年第二學(xué)期 專 業(yè):測控技術(shù)與儀器 班 級: 測控11-1 姓 名: 學(xué) 號:指導(dǎo)教師:日30月5年2014完成日期:智能澆花裝置程序設(shè)計遼寧工程技術(shù)大學(xué)課程設(shè)計成績評定表學(xué)期)二 2013-2014(開始開始姓名專 業(yè)測控技術(shù)與儀器系統(tǒng)初始化Init WaterLe_key1=1;班 級測控11-1課程名 稱單片機(jī)程序設(shè)計基礎(chǔ)WaterLe_key2=1;論文題 目智能澆化裝置程序設(shè)計系統(tǒng)全狀態(tài)檢測Statefulinspection 調(diào)用DS18B20 DHT11 ad轉(zhuǎn)換函數(shù),分別讀出采樣值評指 標(biāo)評定指
2、標(biāo)系統(tǒng)操控System control分值溫度報警是得分知識創(chuàng)新性溫度低于警戒 值?20標(biāo)志位=1理論止確性系統(tǒng)數(shù)據(jù)全顯示 Status display 否20內(nèi)容難易,性 水箱水位是否最 低?15是水箱上水標(biāo) 志位=1結(jié)合實(shí)際性否10知識掌握程度15是花盆澆水書寫規(guī)范,性土壤濕度是否最 低?10標(biāo)志位=1工作量否10總成績100評語:任課教 師時間2014年6月8日備注1智能澆花裝置程序設(shè)計課程設(shè)計任務(wù)書一、設(shè)計題目智能澆花裝置系統(tǒng)程序設(shè)計二、設(shè)計任務(wù) 設(shè)計在單片機(jī)為核心的前提下,完成對花盆的澆水,對水箱 的補(bǔ)水以及低溫報警功能。通過使用繼電器,溫度傳感器,濕度傳感器等元件, 編寫合適的驅(qū)動
3、程序進(jìn)行控制,完成裝置的全部功能。三、設(shè)計計劃本設(shè)計共1周。第1天:針對選題查資料,確定設(shè)計方案;第2天:方案分析比較,確定程序的邏輯順序,執(zhí)行步驟;通過網(wǎng)上搜索,學(xué)習(xí)并理解部分芯片的程序操作。第3天:編寫主程序流程圖和軟件程序;第4天:對編寫程序進(jìn)行語法和邏輯糾錯,并下載運(yùn)行;第5天:編寫整理設(shè)計報告。四、設(shè)計要求1、繪制軟件流程圖弁利用 C語言編寫軟件程序;2、形成設(shè)計報告。指導(dǎo)教師:教研室主任:2014年5月26日2智能澆花裝置程序設(shè)計目錄1、系統(tǒng)程序功能及設(shè)計思44路 1.1 系統(tǒng)主要功能 程序設(shè)計思路1.2 42、主程序及其他程序的設(shè)計 62.1 主程序流程設(shè)計 62.2 系統(tǒng)狀態(tài)檢
4、測程序 72.3 系統(tǒng)操控程 序 92.4 數(shù)據(jù)顯示程序 113、調(diào)試 143.1 程序邏輯檢查及語法校 正 143.2 程序編譯及裝載 144、總 結(jié) 155、設(shè)計體 會 16獻(xiàn) . 173智能澆花裝置程序設(shè)計1.1 統(tǒng)程序功能及設(shè)計思路1.2 系統(tǒng)主要功能智能澆花裝置主要功能如下:1、檢測土壤濕度并自動澆水,通過電磁閥控制花盆內(nèi)水量2、通過繼電器控制水泵進(jìn)行自動補(bǔ)水功能。3、低溫報警。室溫低影響花卉生長,此時需要聲音提醒。4、人機(jī)交互顯示。使用LCD5110液晶進(jìn)行顯示。上述各個功能均有不同電路模塊進(jìn)行控制,核心芯片為STC12C5A60S2,程序代碼兼容8051系列單片機(jī)。1.3 程序設(shè)
5、計思路LCD5110顯示室溫,濕度水箱水位土壤濕度單片機(jī)檢測檢測檢測繼電器花盆土壤水箱電磁閥水泵 圖1智能澆花裝置硬件工作原理智能澆花系統(tǒng)程序語言以C語言為主,根據(jù)設(shè)計所實(shí)現(xiàn)的不同功能,將系統(tǒng)程 序分為主程序和驅(qū)動程序兩部分。其中,主程序的作用包含控制邏輯的實(shí)現(xiàn)、 驅(qū)動程序 的調(diào)用及配合、功能區(qū)分以及系統(tǒng)初始化。驅(qū)動程序主要為部分傳感器及芯片的 通信協(xié)議、數(shù)據(jù)采集和處理程序、液晶顯示所用字庫以及單片機(jī)操作程序,由于驅(qū)動程序涉及硬件電路中的各個模塊,因此,驅(qū)動程序比較繁多,主要有LCD5110驅(qū)動、DS18b20通信協(xié)議、DHT11通信協(xié)議、繼電器控制程序、水位檢測控制程序以及單片機(jī)中斷和 AD
6、轉(zhuǎn)換功能設(shè)定程序。主程序中包含4個子程序塊分別為系統(tǒng)初始化程序、系統(tǒng)全狀態(tài)檢測程序、系統(tǒng)操控程序和數(shù)據(jù)顯示程序。主要功能如下:1、系統(tǒng)初始化程序完成系統(tǒng)上電時, 對部分芯片的初始設(shè)定、單片機(jī)定時器中 斷功能的設(shè)定、液晶初始顯示內(nèi)容以及相關(guān)標(biāo)志位的賦值。4智能澆花裝置程序設(shè)計2、全狀態(tài)檢測程序主要用于對空氣溫濕度、土壤濕度、水箱水位的檢測,當(dāng)系 統(tǒng)初次通電、復(fù)位以及其他可能用于檢測時,都會使用該程序或者首先執(zhí)行該檢 測程序,保證整個裝置在正常情況下工作以便完成相應(yīng)的功能。3、系統(tǒng)操控程序主要是在采集到系統(tǒng)狀態(tài)參數(shù)后,針對不同情況執(zhí)行不同的功能,命令部分硬件機(jī)構(gòu)處理相應(yīng)問題如土壤濕度低,會命令繼電
7、器吸合使電磁閥開始澆水等。4、數(shù)據(jù)顯示程序利用LCD5110液晶為使用者提供有關(guān)系統(tǒng)的檢測參數(shù)如土壤濕 度,空氣溫濕度等,同時,在執(zhí)行某些功能時,顯示提示信息,實(shí)時監(jiān)控系統(tǒng)各 參數(shù)的變化。驅(qū)動程序以.H文件形式存在于主函數(shù)之外,通過全局變量或者臨時標(biāo)志位,互 通信息,執(zhí)行主函數(shù)的控制指令。驅(qū)動程序因芯片而不同,通信時序千差萬別, 部分驅(qū)動程序以芯片數(shù)據(jù)手冊提供的 C語言程序?yàn)橹?,無需自己編寫即可使用, 但是,由于STC12C5A60S2單片機(jī)指令執(zhí)行速度快于8051系列,因此,驅(qū)動程 序中的通信時序要經(jīng)過調(diào)試、驗(yàn)證后才能真正在本系統(tǒng)程序中使用。5智能澆花裝置程序設(shè)計2、主程序及其他程序的設(shè)計2
8、.1主程序流程設(shè)計圖2系統(tǒng)主程序流程圖系統(tǒng)主程序流程設(shè)計如圖2所示,程序詳細(xì)內(nèi)容如下:/*/ /*/ void main()/*系統(tǒng)主程序*/Init();/系統(tǒng)初始化while(N)Stateful_Inspection(); / 系統(tǒng)狀態(tài)監(jiān)測 System_Control();/系統(tǒng)電控Status_Display(); /系統(tǒng)數(shù)據(jù)顯示與提醒 的忙信號檢測程序段中,當(dāng)溫 的賦值操作在初始化程序內(nèi)對 N上述程序中,DS18B206智能澆花裝置程序設(shè)計度傳感器未有信號應(yīng)答時,N=0,將不執(zhí)行while循環(huán),而是在液晶上提示傳感 器未接入系統(tǒng),如果傳感器正常工作,N=1,執(zhí)行while循環(huán)。2.
9、2系統(tǒng)狀態(tài)檢測程序結(jié)束圖3狀態(tài)檢測程序流程圖上圖展示了系統(tǒng)對自身狀態(tài)檢測的運(yùn)行過程,其中,WaterLe_key1、WaterLe_key2分別為高低水位檢測傳感器的使能標(biāo)志位,當(dāng)程序加行對水箱水 位檢測的功能時,必須對二者賦值為1,若為0,則關(guān)閉傳感器無法獲取信號。檢測程序獲取到狀態(tài)信息后,不用直接去調(diào)用某些功能驅(qū)動程序,只需要將相 應(yīng)的標(biāo)志位賦值即可,這樣,可使程序整體執(zhí)行效率提高,編寫時容易發(fā)現(xiàn)錯誤。程序中所有條件判斷語句均使用ifelse,程序詳細(xì)內(nèi)容如下: /* */ void Stateful_Inspection() *系統(tǒng)全狀態(tài)檢測*7智能澆花裝置程序設(shè)計if(SI) Wate
10、rLe_key1=1;WaterLe_key2=1;calculate_T();計算溫度T_Value=TN;/讀出溫度整數(shù)部分,為“溫度報警”做準(zhǔn)備RH();/計算濕度RHS_Value=100(-2*ADC_Result(0);/AD 轉(zhuǎn)換輸出的是十進(jìn)制整形數(shù)據(jù),該公式用/接計算濕度的百分比,計算所得數(shù)據(jù)需要除以10if(T_Value=T_Alert)KW_view=1; / 報警開啟else if(Water_level2=1)/檢查低水位傳感器信號,等于 1 ,說明水箱無水,則上水Draw_water=1;else if(S_ValueT_Alert) KW_view=0;/溫度達(dá)到
11、后停止報警與顯示提醒,并重新進(jìn)行系統(tǒng)狀態(tài)監(jiān)測 SI=1;if(Draw_water)/ 上水Draw_water=0;DW_view=1;SI=0;t1=0;TR1=1;/開啟定時器11E-T1=1;/開啟定時器中斷WaterLe_key1=1;WaterLe_key2=1;澆水 if(Water_on) / Wat.er_on=0;WO_yiew=1;10智能澆花裝置程序設(shè)計WaterLe_key2=1;SI=0;t0=0;TR0=1;/開啟定時器0ET0=1;開啟定時器0中斷2.4 數(shù)據(jù)顯示程序開顯示實(shí)時報警顯示標(biāo)志位、上水顯示標(biāo)志位、度、濕度、是全水顯示標(biāo)志壤濕度顯示低=報警提示標(biāo)志報警
12、、音報 否是提示上水?上水提示標(biāo)志位=1否提示澆水是顯示土壤?澆水提示標(biāo)志位=1濕度否結(jié)束圖5數(shù)據(jù)顯示程序流程圖在經(jīng)過檢測程序?qū)ο嚓P(guān)標(biāo)志位賦值后,數(shù)據(jù)顯示程序執(zhí)行時通過判斷標(biāo)志位是否為1,來進(jìn)一步執(zhí)行相應(yīng)的子程序。當(dāng)所有標(biāo)志位為0時,液晶正常顯示即沒有任何有關(guān)警告或提示的內(nèi)容顯示出來。程序詳細(xì)內(nèi)容如下:/*系統(tǒng)檢測數(shù)據(jù)全顯示*11智能澆花裝置程序設(shè)計*/ void Status_Display().if(KW_view=0)&(DW_view=0)&(WO_view=0)Draw_water=0;Display_Scan();Display_T(); 此處顯示溫度Display_RH(); 止
13、匕處顯示空氣濕度Display_soilRH(1000-2*ADC_Result(0);/止匕處顯示土壤濕度 if(KW_view)Keep_Warm();/(氐溫提示:請注意保溫beep();/聲音提示delay1ms(100);beep();delay1ms(100);if(DW_view)Clear5110();Display5110(5,2,chinese3,14,2,25);/正Display5110(19,2,chinese3,14,2,26); 在Display5110(33,2,chinese3,14,2,29); 上Display5110(47,2,chinese3,14,2
14、,28); / 水 delay1ms(100);if(WO_view)12智能澆花裝置程序設(shè)計Clear5110();Display5110(4,2,chinese3,14,2,25);/正Display5110(18,2,chinese3,14,2,26); / 在Display5110(32,2,chinese3,14,2,27); 澆Display5110(46,2,chinese3,14,2,28); / 水Display_soilRH(1000-2*ADC_Result(0);/澆水過程繼續(xù)顯示土壤濕度,實(shí)時監(jiān)測濕度變化13智能澆花裝置程序設(shè)計3、調(diào)試3.1 程序邏輯檢查及語法校正根
15、據(jù)系統(tǒng)不同功能和實(shí)際的操作過程,分析各程序塊中的語句的前后搭配和邏輯 判斷條件是否合理,由于實(shí)際環(huán)境以及硬件執(zhí)行機(jī)構(gòu)的限制, 需要人為地將部分程序 分出優(yōu)先級,分步分時執(zhí)行相應(yīng)的功能,避免程序執(zhí)行過程中,邏輯混亂,操作 失誤,便于以后對部分程序的修改。除此而外,還需要對C語言的語法進(jìn)行檢查,在本程序設(shè)計中,主要有if.else, while循環(huán),中斷服務(wù)程序和指針等相關(guān)語句,編寫時尤為注意。3.2 程序編譯及裝載當(dāng)程序邏輯順序和語法檢查無誤后,開始對程序進(jìn)行編譯與裝載。在調(diào)試過程中, 需要結(jié)合硬件的執(zhí)行情況對程序中不妥之處進(jìn)行更正,也可以注釋掉部分程序,僅執(zhí)行未注釋的程序,逐個觀察并修改相應(yīng)功
16、能的子程序語句。當(dāng)所有程序執(zhí)行的功能均符合設(shè)計需要時,程序設(shè)計工作基本完成。14智能澆花裝置程序設(shè)計4、總結(jié)經(jīng)過對程序整體思路的把握,合理安排各功能程序邏輯關(guān)系和順序, 編寫正確的 語句進(jìn)行控制,通過軟件編譯糾錯和硬件調(diào)試修改,基本完成了設(shè)計要求的有關(guān)功能,修改、更正了錯誤的程序邏輯和語法錯誤。通過實(shí)際的調(diào)試和觀察,本次智能澆花裝置系統(tǒng)程序圓滿完成。15智能澆花裝置程序設(shè)計5、設(shè)計體會通過設(shè)計智能澆花裝置的程序,我學(xué)會了運(yùn)用 KEIL C軟件編輯單片機(jī)程序工程 以及利用軟件進(jìn)行程序調(diào)試。另外,鞏固了曾經(jīng)學(xué)過的 C語言知識,并且在實(shí)際應(yīng)用 中總結(jié)了不少經(jīng)驗(yàn)和教訓(xùn),使我對C語言的編譯有了更新的認(rèn)識
17、,提高了我對C 語言程序的應(yīng)用能力,同時,也掌握了不少有關(guān)數(shù)據(jù)處理方面的程序算法如平均 值濾波法。編寫設(shè)計程序時,不僅需要創(chuàng)新的思路和靈感,還需要細(xì)心認(rèn)真的態(tài)度,在本 次設(shè)計過程中,出現(xiàn)了很多因一時疏忽導(dǎo)致的語法或者邏輯錯誤,致使硬件調(diào)試 時系統(tǒng)工作不正常甚至損壞部分機(jī)構(gòu)。因此,程序的編輯不僅要求我們掌握熟練 的C語言應(yīng)用技能,還要戒驕戒躁,仔細(xì)排除編寫過程中的細(xì)小錯誤,這樣, 在后續(xù)的調(diào)試過程中,提高工作效率,避免不必要的危險發(fā)生。對程序進(jìn)行設(shè)計應(yīng)當(dāng)特別注意使用者的習(xí)慣操作,以及實(shí)際可能發(fā)生的錯誤操 作,提高程序功能的執(zhí)行人性化,合理化。程序編輯的合情合理有時可以保護(hù)硬 件機(jī)構(gòu)或電路板免受沖擊和破壞,這使得系統(tǒng)整體的安全性能增強(qiáng),實(shí)用性大幅16智能澆花裝置程序設(shè)計參考文獻(xiàn)1譚浩強(qiáng).C語言程序設(shè)計基礎(chǔ)M.清華大學(xué)出版社,2004.2王選民.智能儀器原理及設(shè)計M.清華大學(xué)出版社,2008.3張毅剛.單片機(jī)原理及應(yīng)用M.高等教育出版社,2002.4何利J民.單片機(jī)應(yīng)用技術(shù)選編M.
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 業(yè)務(wù)運(yùn)營績效評估表
- 化肥吊裝安裝施工方案
- 產(chǎn)品分類與價格對比表格
- 三農(nóng)村畜牧業(yè)發(fā)展手冊
- 建設(shè)工程施工保修協(xié)議書
- 全球石油天然氣產(chǎn)量分布表
- 軟土路基施工方案
- 集成隔音鋁板施工方案
- 儲罐保溫施工方案
- 輸配電施工方案
- 中央2025年全國婦聯(lián)所屬在京事業(yè)單位招聘93人筆試歷年參考題庫附帶答案詳解
- 人教版高中物理選擇性必修第二冊電磁波的發(fā)射與接收課件
- 《建筑冷熱源》全冊配套最完整課件1
- 廣州2025年廣東廣州市番禺區(qū)小谷圍街道辦事處下屬事業(yè)單位招聘5人筆試歷年參考題庫附帶答案詳解
- CentOS 7系統(tǒng)配置與管理(Linux 試題庫) 習(xí)題答案 (楊海艷 第2版)
- 手機(jī)直連衛(wèi)星的可用頻率分析
- 2025年春新人教版歷史七年級下冊課件 第16課-明朝的對外關(guān)系
- 部編四下語文《口語交際:轉(zhuǎn)述》公開課教案教學(xué)設(shè)計【一等獎】
- 校園及設(shè)備設(shè)施安全隱患排查情況登記表
- 解析幾何期末考試試卷
- 給水管道通水試驗(yàn)及沖洗記錄填寫范本
評論
0/150
提交評論