




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、西安工業(yè)大學(xué)北方信息工程學(xué)院西安工業(yè)大學(xué)北方信息工程學(xué)院本科畢業(yè)設(shè)計(jì)本科畢業(yè)設(shè)計(jì)(論文論文)題目題目:糧食倉庫溫濕度智能檢測糧食倉庫溫濕度智能檢測系統(tǒng)軟件設(shè)計(jì)系統(tǒng)軟件設(shè)計(jì)系系 別:別: 光電信息系 專專 業(yè):業(yè): 測控技術(shù)與儀器 班班 級:級: B070102 學(xué)學(xué) 生:生: 霍龍 學(xué)學(xué) 號:號: B07010207 指導(dǎo)教師:指導(dǎo)教師: 王可寧 2011 年 05 月畢業(yè)設(shè)計(jì)(論文)任務(wù)書系別 光電信息系 專業(yè) 測控技術(shù)與儀器 班級 B070102 姓名 霍龍 學(xué)號 B07010207 1.畢業(yè)設(shè)計(jì)(論文)題目: 糧食倉庫溫濕度智能檢測系統(tǒng)軟件設(shè)計(jì) 2.題目背景和意義:糧食溫度和濕度含量是直
2、接影響糧食加工、儲(chǔ)藏、貿(mào)易與食用的重要質(zhì)量指標(biāo)。 因此,對倉庫中糧食的濕度含量和溫度進(jìn)行實(shí)時(shí)檢測具有重要的意義。單片機(jī)自誕生以來給全世界人類的生活和工作起到了劇烈的作用,利用單片機(jī)進(jìn)行溫濕度檢測、處理和顯示具有實(shí)時(shí)性好、成本低、穩(wěn)定性高等優(yōu)點(diǎn)。通過該系統(tǒng)的設(shè)計(jì),可使學(xué)生對單片機(jī)的原理和功能有個(gè)較系統(tǒng)和全面的掌握,也可以使學(xué)生初步學(xué)習(xí)到有關(guān)工程設(shè)計(jì)的方法和思路。這樣他們的就業(yè)面會(huì)更加寬廣,也可以滿足當(dāng)今社會(huì)對單片機(jī)開發(fā)人才的大量需求。3.設(shè)計(jì)(論文)的主要內(nèi)容(理工科含技術(shù)指標(biāo)):本系統(tǒng)所需的元器件有 MCS-51 單片機(jī)、溫度傳感器、濕度傳感器等器件、數(shù)碼管、鍵盤等,要求學(xué)生利用匯編語言或 C
3、51 語言在Keil 軟件編輯環(huán)境中編寫程序,設(shè)計(jì)出一個(gè)糧食濕度、溫度智能檢測系統(tǒng),并且能夠?qū)穸群亢蛯?shí)時(shí)溫度顯示在數(shù)碼管上。具體來說該學(xué)生的主要任務(wù)是在系統(tǒng)硬件電路的基礎(chǔ)上,利用 MCS-51 單片機(jī)的匯編語言或 C51 語言編寫程序,實(shí)現(xiàn):(1)糧食倉庫的溫度、濕度實(shí)時(shí)測量功能;(2)將測量到的溫濕度含量顯示在 4 位數(shù)碼管;(3)利用若干個(gè)開關(guān)按鍵設(shè)置溫度、濕度的標(biāo)準(zhǔn)值;(4)實(shí)現(xiàn)系統(tǒng)溫度、濕度超限報(bào)警功能;(5)編寫程序?qū)崿F(xiàn)系統(tǒng)的看門狗復(fù)位功能。設(shè)計(jì)指標(biāo):(1)溫度范圍:-40 度-+85 度;(2)濕度范圍:0100%RH;(3)顯示:4 位數(shù)碼管。4.設(shè)計(jì)的基本要求及進(jìn)度安排(含
4、起始時(shí)間、設(shè)計(jì)地點(diǎn)):(1)選題、收集資料、確定開發(fā)工具、理解題目、開題報(bào)告3 周,2010 年 11 月 25 日前(2)需求分析(需求說明書)、開發(fā)計(jì)劃(項(xiàng)目計(jì)劃書)3 周,2011 年 1 月 15 日前(3)總體流程圖 2 周,2010 年 1 月 31 日前(4)編寫程序4 周,2011 年 2 月 28 日(5)系統(tǒng)集成2 周,2011 年 3 月 15 日前(6)系統(tǒng)測試1 周,2011 年 3 月 22 日前(7)導(dǎo)師驗(yàn)收1 周,2011 年 3 月 30 日前(8)完成論文10 周,2010 年 4月 1 日前。 5.畢業(yè)設(shè)計(jì)(論文)的工作量要求 撰寫 15000 字論文 實(shí)
5、驗(yàn)(時(shí)數(shù))*或?qū)嵙?xí)(天數(shù)): 300 機(jī)時(shí) 圖紙(幅面和張數(shù))*: 其他要求: 查閱資料不少于 10 份 指導(dǎo)教師簽名: 年 月 日II 學(xué)生簽名: 年 月 日 系主任審批: 年 月 日說明:1 本表一式二份,一份由學(xué)生裝訂入冊,一份教師自留。2 帶*項(xiàng)可根據(jù)學(xué)科特點(diǎn)選填。I糧食倉庫溫濕度智能檢測系統(tǒng)軟件設(shè)計(jì)糧食倉庫溫濕度智能檢測系統(tǒng)軟件設(shè)計(jì)摘摘 要要糧食中的溫度和濕度是影響糧食質(zhì)量的重要因素,它也是國內(nèi)外糧食部門嚴(yán)格控制的一項(xiàng)重要質(zhì)量指標(biāo)。 本設(shè)計(jì)以 MCS-51 單片機(jī)的 STC89C52 芯片為核心,利用數(shù)字式的濕度傳感器 HS1101 和數(shù)字式的溫度傳感器 DS18B20 在線檢測倉庫
6、中糧食的實(shí)時(shí)溫濕度,再輔以必要的外圍電路,設(shè)計(jì)了一個(gè)簡易的濕度測量系統(tǒng)。本文詳細(xì)介紹了系統(tǒng)的軟件設(shè)計(jì)過程,給出了系統(tǒng)各模塊的軟件工作流程圖和源程序代碼,并用 Protues 軟件和 Keil 軟件對系統(tǒng)進(jìn)行了調(diào)試。 本系統(tǒng)的軟件采用 MCS-51 單片機(jī)的匯編語言進(jìn)行編程。整個(gè)系統(tǒng)能夠完成實(shí)時(shí)溫濕度顯示、溫濕度超限報(bào)警、報(bào)警值設(shè)置等功能。經(jīng)調(diào)試,系統(tǒng)工作穩(wěn)定、可靠性強(qiáng)。 關(guān)鍵詞:關(guān)鍵詞:STC89C52 單片機(jī);溫度傳感器;濕度傳感器;軟件設(shè)計(jì)IISoftware Design of Temperature and Humidity Intelligent Detection System i
7、n the Food DepotsAbstractGrain temperature and humidity are important factors affecting food quality,it is also strictly control domestic food sector is an important indicator of quality.he design of the MCS-51 microcontroller STC89C52 chip as the core,the use of digital HS1101 humidity sensor and d
8、igital temperature sensor DS18B20 online real-time detection of food in the warehouse temperature and humidity,supplemented by the necessary peripheral circuits,a simple humidity measurement system. This paper describes the software design process,given the work of each module of the software flow c
9、hart and source code,and Keil with Protues software and debug software on the system. The systems software uses MCS-51 microcontroller assembly language programming.Completion of the entire system can display real-time temperature and humidity,temperature and humidity limit alarm,the alarm value is
10、set and so on. After commissioning,the system is stable,reliable.Key Words: STC89C52 SCM;temperature sensor;humidity sensor;software designIII目目 錄錄1 緒論緒論 .51.1 課題意義和研究背景 .51.2 國內(nèi)外發(fā)展?fàn)顩r .51.3 系統(tǒng)的設(shè)計(jì)要求 .61.4 本課題的主要研究內(nèi)容 .62 系統(tǒng)方案及論證系統(tǒng)方案及論證 .72.1 總體方案設(shè)計(jì).72.2 模塊化編程思想方案論證.72.3 顯示模塊的選擇與論證 .82.3.1 靜態(tài)顯示方案.82.3.
11、2 動(dòng)態(tài)顯示方案.82.4 編程語言選擇方案 .82.4.1 匯編語言.82.4.2 C 語言.93 系統(tǒng)軟件設(shè)計(jì)系統(tǒng)軟件設(shè)計(jì).103.1 系統(tǒng)硬件工作原理 .103.2 系統(tǒng)軟件設(shè)計(jì)概述 .103.3 主程序模塊設(shè)計(jì) .103.4 溫度采集模塊程序設(shè)計(jì) .123.5 濕度采集模塊 .163.6 數(shù)據(jù)顯示模塊程序設(shè)計(jì) .213.7 超限值報(bào)警模塊程序設(shè)計(jì) .244 系統(tǒng)調(diào)試系統(tǒng)調(diào)試.264.1 系統(tǒng)調(diào)試用到的工具 .264.1.1 硬件調(diào)試軟件 Proteus 軟件.264.1.2 軟件調(diào)試軟件 Keil 軟件.274.2 系統(tǒng)測試.304.2.1 軟件設(shè)計(jì)分析.304.2.2 主要指標(biāo)測試.
12、30IV4.2.3 測試結(jié)果.305 結(jié)論結(jié)論.31參考文獻(xiàn)參考文獻(xiàn).32致致 謝謝.33畢業(yè)設(shè)計(jì)(論文)知識(shí)產(chǎn)權(quán)聲明畢業(yè)設(shè)計(jì)(論文)知識(shí)產(chǎn)權(quán)聲明.34畢業(yè)設(shè)計(jì)(論文)獨(dú)創(chuàng)性聲明畢業(yè)設(shè)計(jì)(論文)獨(dú)創(chuàng)性聲明.35附錄附錄 1 糧食倉庫溫濕度智能檢測系統(tǒng)源程序代碼糧食倉庫溫濕度智能檢測系統(tǒng)源程序代碼.36附錄附錄 2 系統(tǒng)系統(tǒng) Protues 電路原理圖電路原理圖.481 緒論51 緒論緒論1.1 課題意義和研究背景課題意義和研究背景糧食儲(chǔ)藏是國家為防備戰(zhàn)爭、災(zāi)荒及其它突發(fā)性事件而采取的有效措施,因此,糧食的安全儲(chǔ)藏具有重要意義。目前,中國地方及墾區(qū)的各種大型糧庫都還存在著程度不同的糧食儲(chǔ)存變質(zhì)問
13、題。根據(jù)國家糧食保護(hù)法規(guī)定,必須定期抽樣檢查糧庫各點(diǎn)的糧食溫度和濕度,以便及時(shí)采取相應(yīng)的措施。但大部分糧庫目前還是采取人工測量溫度和濕度的方法,這不僅使糧庫工作人員工作量增大,且工作效率低,尤其是大型糧庫的溫度和濕度檢測任務(wù)如不能及時(shí)徹底完成,則有可能會(huì)造成糧食大面積變質(zhì)。據(jù)有關(guān)資料統(tǒng)計(jì),中國每年因糧食變質(zhì)而損失的糧食達(dá)數(shù)億斤,直接造成的經(jīng)濟(jì)損失是驚人的。 影響糧食安全儲(chǔ)藏的主要參數(shù)是糧食的溫度和濕度,這兩者之間又是互相關(guān)聯(lián)的。糧食在正常儲(chǔ)藏過程中,含水量一般在 12%以下(為安全狀態(tài)),不會(huì)產(chǎn)生溫度突變,一旦糧庫進(jìn)水、結(jié)露等使糧食的含水量達(dá)到 20%以上時(shí),由于糧粒受潮,胚芽萌發(fā),新陳代謝加
14、快而產(chǎn)生呼吸熱,使局部糧食溫度突然升高,必然引起糧食“發(fā)燒”和霉變,并可能形成連鎖反應(yīng),從而造成不可挽回的損失。因此設(shè)計(jì)出一種經(jīng)濟(jì)實(shí)用的糧庫糧情溫濕度智能檢測系統(tǒng)是非常有必要的1。1.2 國內(nèi)外發(fā)展?fàn)顩r國內(nèi)外發(fā)展?fàn)顩r糧情檢測屬監(jiān)控系統(tǒng)范疇,近年來,由于傳感器技術(shù)、計(jì)算機(jī)技術(shù)、超大規(guī)模集成電路技術(shù)和網(wǎng)絡(luò)通信技術(shù)的發(fā)展,使監(jiān)控系統(tǒng)廣泛應(yīng)用于工農(nóng)業(yè)生產(chǎn)等領(lǐng)域,因此,糧情檢測技術(shù)的研究在軟、硬件等方面都有了一定的進(jìn)展。早期糧情監(jiān)測主要采用溫度計(jì)測量法,它是將溫度計(jì)放入特制的插桿中,根據(jù)經(jīng)驗(yàn)插在糧堆的多個(gè)測溫點(diǎn),管理人員定期拔出讀數(shù),確定糧溫的高、低,決定是否倒糧。這種方法對儲(chǔ)糧有一定的作用,但由于溫度
15、計(jì)精度、人工讀數(shù)的人為因素等原因,溫度檢測不僅速度慢,而且精度低,抽樣不徹底,局部糧溫過高不易被及時(shí)發(fā)現(xiàn),導(dǎo)致因局部糧食發(fā)霉變質(zhì)引起大面積壞糧的情況時(shí)有發(fā)生。隨著科技的發(fā)展,從 1978 年開始,采用電阻式溫度傳感器、采樣器、模數(shù)轉(zhuǎn)換器、報(bào)普器等組成的儲(chǔ)糧監(jiān)測系統(tǒng)出現(xiàn),它可對各糧庫的各個(gè)測溫點(diǎn)進(jìn)行巡回檢測,檢測速度、精度大大提高,降低了勞動(dòng)強(qiáng)度,但由于電阻傳感器的靈敏度低,致使檢測精度、系統(tǒng)可靠性還不夠理想。至 1990 年,糧情檢測系統(tǒng)西安工業(yè)大學(xué)北方信息工程學(xué)院畢業(yè)設(shè)計(jì)(論文)6有了很大的改善和提高,系統(tǒng)在布線上采用矩陣式布線技術(shù),簡化了數(shù)據(jù)采集部分的線路,在傳感器方面應(yīng)用了半導(dǎo)體、熱電偶
16、等器件;在線路傳輸上采用了串行傳輸方式,從而減少了傳輸線根數(shù);采用單片機(jī)進(jìn)行數(shù)據(jù)處理,并采用各種手段提高數(shù)據(jù)傳輸及檢測速度,通過軟硬件技術(shù)的結(jié)合,檢測精度和可靠性較以前有很大提高。但溫度傳感器的線性度差,系統(tǒng)的檢測精度仍不理想,無法大面積推廣。近年來,隨著單片機(jī)功能的日益強(qiáng)大和計(jì)算機(jī)的廣泛應(yīng)用,糧情檢測的準(zhǔn)確性、穩(wěn)定性要求越來越高。尋找最佳配置和最好的性價(jià)比成為糧情監(jiān)測研究的熱點(diǎn)2。國外在糧情監(jiān)控技術(shù)上己達(dá)到了很成熟的地步,高科技數(shù)字式傳感器廣泛應(yīng)用于糧情檢測系統(tǒng)。這種傳感器采用了半導(dǎo)體集成電路與微控制器最新技術(shù),在一個(gè)管芯上集成了半導(dǎo)體溫度檢測芯片、數(shù)據(jù)信號轉(zhuǎn)換芯片、計(jì)算機(jī)接口芯片,存儲(chǔ)芯片
17、等,除完成溫度檢測功能外,還可完成預(yù)置范圍溫度、報(bào)警、多路 AD 轉(zhuǎn)換、溫度補(bǔ)償?shù)裙δ堋S捎跀?shù)字溫度傳感器直接傳出數(shù)字量,從而解決了溫度信號長距離傳輸問題及傳輸過程中因干擾和衰減而導(dǎo)致的精度降低等問題。目前,國內(nèi)出現(xiàn)了豐富的數(shù)字傳感器配套產(chǎn)品,如遠(yuǎn)程控制模塊、中繼器、接插器、分線器等,技術(shù)也比較成熟。1.3 系統(tǒng)的設(shè)計(jì)要求系統(tǒng)的設(shè)計(jì)要求具體來說該學(xué)生的主要任務(wù)是在系統(tǒng)硬件電路的基礎(chǔ)上,利用 MCS-51 單片機(jī)的匯編語言或 C51 語言編寫程序,實(shí)現(xiàn):(1)糧食倉庫的溫度、濕度實(shí)時(shí)測量功能;(2)將測量到的溫濕度含量顯示在 4 位數(shù)碼管;(3)利用若干個(gè)開關(guān)按鍵設(shè)置溫度、濕度的標(biāo)準(zhǔn)值;(4)實(shí)
18、現(xiàn)系統(tǒng)溫度、濕度超限報(bào)警功能。1.4 本課題的主要研究內(nèi)容本課題的主要研究內(nèi)容1.設(shè)計(jì)相應(yīng)的信號采集電路、執(zhí)行電路等硬件電路;2.實(shí)現(xiàn)各環(huán)境要素的自動(dòng)監(jiān)測;3.通過單片機(jī)匯編語言編制數(shù)據(jù)采集、分析處理、顯示、修改、參數(shù)設(shè)置、控制等程序功能模塊;4.研究裝置的軟硬件抗干擾措施,提高系統(tǒng)工作的可靠性和穩(wěn)定性。2 系統(tǒng)方案論證72 系統(tǒng)方案及論證系統(tǒng)方案及論證2.1 總體方案設(shè)計(jì)總體方案設(shè)計(jì) 經(jīng)分析,將系統(tǒng)分為兩個(gè)部分,一個(gè)是由溫濕度傳感器組成的檢測部分,另一個(gè)是由單片機(jī)和 LED 數(shù)碼管組成的主控與顯示部分。如圖所示 DS18B20 和 HS1101 濕度檢測電路將檢測到的數(shù)送到單片機(jī),單片機(jī)對接
19、收到的數(shù)據(jù)進(jìn)行處理并送到 LED 數(shù)碼管,5V 穩(wěn)壓電源給各個(gè)部分供電。系統(tǒng)組成框圖如圖 2.1 所示。 圖 2.1 系統(tǒng)組成框圖2.2 模塊化編程思想方案論證模塊化編程思想方案論證如果一本書沒有章、節(jié)和段落,學(xué)習(xí)起來該有多么困難。將復(fù)雜任務(wù)和主題分解為更便于管理的部分,是使它們更容易處理的一種方法。同樣,計(jì)算機(jī)程序也可以分解為小的子程序,或模塊,而這些子程序或模塊可以分別進(jìn)行開發(fā)和測試。這種方法就稱為模塊化程序設(shè)計(jì)(modular programming)。模塊最重要的屬性是它們應(yīng)該盡可能的獨(dú)立和自包含。另外,一般將它們設(shè)計(jì)成執(zhí)行一個(gè)特定的、定義好的函數(shù),它有一個(gè)入口點(diǎn)和一個(gè)退出點(diǎn)。同時(shí),模
20、塊常常很短(通常只有 50 到 100 條指令)和高度內(nèi)聚的3。模塊化程序設(shè)計(jì)有很多優(yōu)點(diǎn)。不管對于開發(fā)者還是用戶來說,小的、自包含的單元都更易于設(shè)計(jì)和理解底層的邏輯。模塊化程序設(shè)計(jì)使開發(fā)更方便,這是因?yàn)槊總€(gè)模塊都可以獨(dú)自得以完善。事實(shí)上,對于大型軟件項(xiàng)目,不同的程序員可以只負(fù)責(zé)各自的組件。模塊化設(shè)計(jì)也使調(diào)試和測試程序更加容易,因?yàn)殄e(cuò)誤更容易隔離開來。最后,程序的維護(hù)和修改更加方便。這主要是因?yàn)榭梢蚤_發(fā)新模塊來執(zhí)行額外的任務(wù),然后將其集成到現(xiàn)有的、組織良好的架構(gòu)中。單片機(jī)顯示模塊HS1101 濕度檢測電路DS18B20溫度檢測電源西安工業(yè)大學(xué)北方信息工程學(xué)院畢業(yè)設(shè)計(jì)(論文)8盡管所有這些屬性都是
21、使用模塊的理由,而與數(shù)值工程問題求解相關(guān)的、最重要的理由是,可以對有用的模塊庫進(jìn)行維護(hù),以便以后在其的程序中使用。2.3 顯示模塊的選擇與論證顯示模塊的選擇與論證LED 數(shù)碼管要正常顯示,就要用驅(qū)動(dòng)電路來驅(qū)動(dòng)數(shù)碼管的各個(gè)段碼,從而顯示出需要的數(shù)位,因此根據(jù) LED 數(shù)碼管的驅(qū)動(dòng)方式的不同,可以分為靜態(tài)式和動(dòng)態(tài)式兩類。2.3.1 靜態(tài)顯示方案靜態(tài)顯示方案對于單片機(jī)的 I/O 接口進(jìn)行驅(qū)動(dòng),或者使用如 BCD 碼二-十進(jìn)位解碼器解碼進(jìn)行驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)的優(yōu)點(diǎn)是編程簡單,顯示亮度高,缺點(diǎn)是占用 I/O 接口多,如驅(qū)動(dòng) 5 個(gè)數(shù)碼管靜態(tài)顯示則需要 5840 根 I/O 接口來驅(qū)動(dòng),要知道一個(gè) 89S51
22、 單片機(jī)可用的I/O 接口才 32 個(gè)呢。故實(shí)際應(yīng)用時(shí)必須增加解碼驅(qū)動(dòng)器進(jìn)行驅(qū)動(dòng),增加了硬體電路的復(fù)雜性。2.3.2 動(dòng)態(tài)顯示方案動(dòng)態(tài)顯示方案 數(shù)碼管動(dòng)態(tài)顯示介面是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,動(dòng)態(tài)驅(qū)動(dòng)是將所有數(shù)碼管的 8 個(gè)顯示筆劃“a,b,c,d,e,f,g,dp” 的同名端連在一起,另外為每個(gè)數(shù)碼管的公共極 COM 增加位元選通控制電路,位元選通由各自獨(dú)立的 I/O 線控制,當(dāng)單片機(jī)輸出字形碼時(shí),所有數(shù)碼管都接收到相同的字形碼,但究竟是那個(gè)數(shù)碼管會(huì)顯示出字形,取決于單片機(jī)對位元選通 COM 端電路的控制,所以只要將需要顯示的數(shù)碼管的選通控制打開,該位元就顯示出字形,沒有選通的數(shù)
23、碼管就不會(huì)亮。透過分時(shí)輪流控制各個(gè) LED 數(shù)碼管的 COM 端,就使各個(gè)數(shù)碼管輪流受控顯示,這就是動(dòng)態(tài)驅(qū)動(dòng)。在輪流顯示過程中,每位元數(shù)碼管的點(diǎn)亮?xí)r間為 12ms 暫留現(xiàn)象及發(fā)光二極體的余輝效應(yīng),盡管實(shí)際上各位數(shù)碼管并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示資料,不會(huì)有閃爍感,動(dòng)態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的 I/O 接口,而且功耗更低4。2.4 編程語言選擇方案編程語言選擇方案2.4.1 匯編語言匯編語言匯編語言是一種功能很強(qiáng)的程序設(shè)計(jì)語言,也是利用計(jì)算機(jī)所有硬件特性并能直接控制硬件的語言。匯編語言,作為一門語言,對應(yīng)于高級語言的編譯器,需要一個(gè)“匯編
24、器”來把匯編語言原文件匯編成機(jī)器可執(zhí)行的代碼。高級的匯編器如MASM,TASM 等等為寫匯編程序提供了很多類似于高級語言的特征,比如結(jié)構(gòu)化、抽象等。在這樣的環(huán)境中編寫的匯編程序,有很大一部分是面向匯編器的偽指令,已西安工業(yè)大學(xué)北方信息工程學(xué)院畢業(yè)設(shè)計(jì)(論文)9經(jīng)類同于高級語言?,F(xiàn)在的匯編環(huán)境已經(jīng)如此高級,即使全部用匯編語言來編寫Windows 的應(yīng)用程序也是可行的,但這不是匯編語言的長處。匯編語言的長處在于編寫高效且需要對機(jī)器硬件精確控制的程序。2.4.2 C 語言語言C 語言是一種計(jì)算機(jī)程序設(shè)計(jì)語言。它既具有高級語言的特點(diǎn),又具有匯編語言的特點(diǎn)。它可以作為工作系統(tǒng)設(shè)計(jì)語言,編寫系統(tǒng)應(yīng)用程序,
25、也可以作為應(yīng)用程序設(shè)計(jì)語言,編寫不依賴計(jì)算機(jī)硬件的應(yīng)用程序。因此,它的應(yīng)用范圍廣泛,不僅僅是在軟件開發(fā)上,而且各類科研都需要用到 C 語言,具體應(yīng)用比如單片機(jī)以及嵌入式系統(tǒng)開發(fā)。C 語言是功的系統(tǒng)描述語言,用 C 語言開發(fā)的 UNIX 操作系統(tǒng)就是一個(gè)成功的范例;同時(shí) C 語言又是一種通用的程序設(shè)計(jì)語言,在國際上廣泛流行。世界上很多著名的計(jì)算公司都成功的開發(fā)了不同版本的 C 語言,很多優(yōu)秀的應(yīng)用程序也都使用 C 語言開發(fā)的,它是一種很有發(fā)展前途的高級程序設(shè)計(jì)語言。 1. C 是中級語言。它把高級語言的基本結(jié)構(gòu)和語句與低級語言的實(shí)用性結(jié)合起來。C 語言可以像匯編語言一樣對位、字節(jié)和地址進(jìn)行操作,
26、 而這三者是計(jì)算機(jī)最基本的工作單元。 2.C 是結(jié)構(gòu)式語言。結(jié)構(gòu)式語言的顯著特點(diǎn)是代碼及數(shù)據(jù)的分隔化,即程序的各個(gè)部分除了必要的信息交流外彼此獨(dú)立。這種結(jié)構(gòu)化方式可使程序?qū)哟吻逦?,便于使用、維護(hù)以及調(diào)試。C 語言是以函數(shù)形式提供給用戶的,這些函數(shù)可方便的調(diào)用,并具有多種循環(huán)、條件語句控制程序流向,從而使程序完全結(jié)構(gòu)化。 3.C 語言功能齊全。具有各種各樣的數(shù)據(jù)類型,并引入了指針概念,可使程序效率更高。而且計(jì)算功能、邏輯判斷功能也比較強(qiáng)大,可以實(shí)現(xiàn)決策目的的游戲。 4. C 語言適用范圍大。適合于多種操作系統(tǒng),如 Windows、DOS、UNIX 等等;也適用于多種機(jī)型。 C 語言對編寫需要硬件
27、進(jìn)行操作的場合,明顯優(yōu)于其它解釋型高級語言,有一些大型應(yīng)用軟件也是用 C 語言編寫的。 C 語言具有較好的可移植性,并具備很強(qiáng)的數(shù)據(jù)處理能力,因此適于編寫系統(tǒng)軟件,三維,二維圖形和動(dòng)畫。它是數(shù)值計(jì)算的高級語言5。匯編語言是低級語言,在編寫程序的時(shí)候會(huì)把根據(jù)不同的情況指定使用不同的尋址方式,能夠?qū)?nèi)存和 CPU 里的通用寄存器直接操縱。不同的計(jì)算機(jī)系列會(huì)有不同的匯編語言此次課題選擇了 C 語言進(jìn)行編寫。3 系統(tǒng)軟件設(shè)計(jì)103 系統(tǒng)軟件設(shè)計(jì)系統(tǒng)軟件設(shè)計(jì)3.1 系統(tǒng)硬件工作原理系統(tǒng)硬件工作原理該系統(tǒng)的硬件電路由以下幾部分電路模塊組成:單片機(jī)、溫度傳感器檢測電路、濕度傳感器檢測電路、數(shù)碼管顯示電路、鍵
28、盤開關(guān)電路、蜂鳴器報(bào)警電路等部分。系統(tǒng)硬件框圖如圖 3.1 所示。S18B20 溫度傳感器HS1101 濕度傳感器STC89C52單片機(jī)串行 LED 顯示報(bào)警電路鍵盤圖 3.1 系統(tǒng)硬件框圖3.2 系統(tǒng)軟件設(shè)計(jì)概述系統(tǒng)軟件設(shè)計(jì)概述本章在硬件電路設(shè)計(jì)的基礎(chǔ)上,全面闡述各部分軟件的設(shè)計(jì)思想和具體實(shí)現(xiàn)方法。整個(gè)軟件采用模塊化設(shè)計(jì)結(jié)構(gòu),并利用匯編語言編制。整個(gè)程序由主程序、顯示、報(bào)警、測量等子程序模塊組成6。3.3 主程序模塊設(shè)計(jì)主程序模塊設(shè)計(jì)主程序框圖如圖 3.2 所示。程序初始化包括寄存器設(shè)置、堆棧設(shè)置和相關(guān)單元清零設(shè)置等。主程序存放于 89c52 中,啟動(dòng)后循環(huán)執(zhí)行,不停地進(jìn)行采樣計(jì)算,得出實(shí)際
29、溫、濕度值,并與設(shè)定值進(jìn)行比較,實(shí)現(xiàn)聲光報(bào)警信號。在主程序是單片機(jī)程序的主體,整個(gè)單片機(jī)端系統(tǒng)軟件的功能的實(shí)現(xiàn)都是在其中完成的。軟件設(shè)計(jì)的主要思路是將采集、接收、顯示燈功能編成獨(dú)立的模塊。西安工業(yè)大學(xué)北方信息工程學(xué)院畢業(yè)設(shè)計(jì)(論文)11 是 否 是 否圖 3.2 主程序流程圖/* 主函數(shù) */*/void main() EA=1; /開總中斷 init_t0(); /初始化定時(shí)器 init_t1(); TR0=1; /定時(shí)器開始工作 TR1=1; ET0=1; lcd_init() ; /初始化 LCD ok_menu();BEEP=0;while(1) if(key1=0)Key1 鍵按下?
30、顯示濕度Key2 鍵按下?顯示溫度開始結(jié)束西安工業(yè)大學(xué)北方信息工程學(xué)院畢業(yè)設(shè)計(jì)(論文)12 lcd_init; wendu_Menu (); do Read_Temperature() ; Disp_Temperature() ; baojing(); while(key2) ; if(key2=0)lcd_init;shidu_Menu();do if(int_flag=1) disp(); while(key1); 3.4 溫度采集模溫度采集模塊程序設(shè)塊程序設(shè)計(jì)計(jì)根據(jù) DS18B20 的通訊協(xié)議,主機(jī)(單片機(jī))控制 DS18B20 完成溫度轉(zhuǎn)換必須經(jīng)過三個(gè)步驟:每一次讀寫之前都要對 DS1
31、8B20 進(jìn)行復(fù)位操作,復(fù)位成功后發(fā)送一條ROM 指令,最后發(fā)送 RAM 指令,這樣才能對 DS18B20 進(jìn)行預(yù)定的操作。復(fù)位要求主CPU 將數(shù)據(jù)線下拉 500 微秒,然后釋放,當(dāng) DS18B20 收到信號后等待 1660 微秒左右,后發(fā)出 60240 微秒的存在低脈沖,主 CPU 收到此信號表示復(fù)位成功7。西安工業(yè)大學(xué)北方信息工程學(xué)院畢業(yè)設(shè)計(jì)(論文)13 否 是圖 3.3 溫度檢測程序流程DS18B20 中的溫度傳感器可完成對溫度的測量,以 12 位轉(zhuǎn)化為例:用 16 位符號擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供,以 0.0625/LSB 形式表達(dá),其中 S 為符號位8。圖 3.4 DS18B20
32、溫度值初始化是否成功?初始化從 18B20 讀字節(jié)向 18B20 寫字節(jié)開始結(jié)束讀取溫度西安工業(yè)大學(xué)北方信息工程學(xué)院畢業(yè)設(shè)計(jì)(論文)14這是 12 位轉(zhuǎn)化后得到的 12 位數(shù)據(jù),存儲(chǔ)在 18B20 的兩個(gè) 8 比特的 RAM 中,二進(jìn)制中的前面 5 位是符號位,如果測得的溫度大于 0,這 5 位為 0,只要將測到的數(shù)值乘于 0.0625 即可得到實(shí)際溫度;如果溫度小于 0,這 5 位為 1,測到的數(shù)值需要取反加1 再乘于 0.0625 即可得到實(shí)際溫度(例如+125的數(shù)字輸出為 07D0H,+25.0625的數(shù)字輸出為 0191H-25.0625的數(shù)字輸出為 FF6FH,-55的數(shù)字輸出為 F
33、C90H)9。/* /*溫度測量* /* /*初始化 ds1820 */*/Init_DS18B20(void) DQ = 1 ; /DQ 復(fù)位 Delay(8) ; /稍做延時(shí) DQ = 0 ; /單片機(jī)將 DQ 拉低 Delay(90) ; /精確延時(shí) 大于 480us DQ = 1 ; /拉高總線 Delay(8) ; presence = DQ ; /如果=0 則初始化成功 =1 則初始化失敗 Delay(100) ; DQ = 1 ; return(presence) ; /返回信號,0=presence,1= no presence/* 讀一個(gè)字節(jié) */*/ ReadOneChar
34、(void)unsigned char i = 0 ;unsigned char dat = 0 ;for (i = 8 ; i 0 ; i-) DQ = 0 ; / 給脈沖信號 dat = 1 ; DQ = 1 ; / 給脈沖信號 if(DQ)西安工業(yè)大學(xué)北方信息工程學(xué)院畢業(yè)設(shè)計(jì)(論文)15 dat |= 0 x80 ; Delay(4) ; return (dat) ;/* 寫一個(gè)字節(jié) */*/ WriteOneChar(unsigned char dat) unsigned char i = 0 ; for (i = 8 ; i 0 ; i-) DQ = 0 ; DQ = dat&
35、;0 x01 ; Delay(5) ; DQ = 1 ; dat=1 ; /* 讀取溫度 */*/ Read_Temperature(void) Init_DS18B20() ; WriteOneChar(0 xCC) ; / 跳過讀序號列號的操作 WriteOneChar(0 x44) ; / 啟動(dòng)溫度轉(zhuǎn)換 Init_DS18B20() ; WriteOneChar(0 xCC) ; /跳過讀序號列號的操作 WriteOneChar(0 xBE) ; /讀取溫度寄存器 temp_data0 = ReadOneChar() ; /溫度低 8 位 temp_data1 = ReadOneChar
36、() ; /溫度高 8 位 /* 數(shù)據(jù)轉(zhuǎn)換與溫度顯示 */*/ Disp_Temperature()西安工業(yè)大學(xué)北方信息工程學(xué)院畢業(yè)設(shè)計(jì)(論文)16display4=temp_data0&0 x0f ;display0=ditabdisplay4+0 x30 ; /查表得小數(shù)位的值display4=(temp_data0&0 xf0)4)|(temp_data1&0 x0f)=0 x32&display1=0 x31) BEEP=1;elseBEEP=0;3.5 濕度采集模塊濕度采集模塊顯示電路采用四位七段 LCD 數(shù)碼管顯示即 LED 四位七段數(shù)碼管字符型液晶
37、模塊,是目前使用最廣泛的液晶屏之一。LED 四位七段數(shù)碼管字符型液晶模塊是點(diǎn)陣型液晶驅(qū)動(dòng)方便,經(jīng)編碼后顯示內(nèi)容多樣化10。標(biāo)定即顯示當(dāng)下工作狀態(tài),顯示溫濕度。西安工業(yè)大學(xué)北方信息工程學(xué)院畢業(yè)設(shè)計(jì)(論文)17 是 否 圖.3.4 濕度檢測流程圖由圖 3.5 可知相對濕度與電容的關(guān)系可看成直線段,所以有相對濕度RH= .(3.1)2 7163RHC 圖 3.5 電容值與相對濕度值的關(guān)系所以有(3.2)551.1038 1.936103.0114103.44.310Fmes HZfHZRHRHRH開定時(shí) T0,T1是否計(jì)滿 1S?關(guān)閉 T0 并根據(jù)頻率算出濕度值開始結(jié)束顯示溫度西安工業(yè)大學(xué)北方信息工
38、程學(xué)院畢業(yè)設(shè)計(jì)(論文)18/*濕度測量*/ /軟件延時(shí)/void delays(unsigned int cnt) while(-cnt);/定時(shí)器 0 初始化void init_t0(void) TMOD=(TMOD&0 xF0)|0 x01; /定時(shí)器 0 工作于方式 1/ TH0=(65536-50000)/256; /定時(shí) 50ms/ TL0=(65535-50000)%256;TH0=0 x4c;TL0=0 x00;/ 定時(shí)器 1 初始化void init_t1(void) TMOD=(TMOD&0 x0F)|0 x50; /定時(shí)器 1 用作計(jì)時(shí) TH1 =0 x00
39、; TL1 =0 x00;/定時(shí)器 0 中斷服務(wù)程序void int_t0(void) interrupt 1 TH0=(65535-50000)/256; TL0=(65535-50000)%256; int_count+; if(int_count=20) 西安工業(yè)大學(xué)北方信息工程學(xué)院畢業(yè)設(shè)計(jì)(論文)19 TR1=0; int_flag=1; int_count=0 x00; /定時(shí)器 1 中斷服務(wù)程序void int_t1(void) interrupt 3 T1count+; void disp(void) /濕度顯示函數(shù) int_flag=0; sum=TL1+TH1*256+T1c
40、ount*65536; /計(jì)算 1 秒內(nèi)的脈沖個(gè)數(shù) /以下將數(shù)據(jù)格式化,轉(zhuǎn)成 LED 可顯示的 BCD 碼 wet=100-(sum-4000)/50;/* 濕度計(jì)算公式 le0=wet%10; /最低位 wet=wet/10; le1=wet%10; /第二位 wet=wet/10; le2=wet%10; /第三位 wet=wet/10; int_count=0 x00; T1count=0; TH1=0 x00; TL1=0 x00; TR1=1; lcd_pos(0 x4a) ; lcd_wdat(le2+48); lcd_pos(0 x4b) ; lcd_wdat(le1+48);
41、lcd_pos(0 x4c) ; lcd_wdat(le0+48); delays(100); void wendu_Menu () /顯示溫度的菜單西安工業(yè)大學(xué)北方信息工程學(xué)院畢業(yè)設(shè)計(jì)(論文)20 uchar m ; lcd_pos(0) ; /設(shè)置顯示位置為第一行的第 1 個(gè)字符 m = 0 ; while(cdis1m != 0) /顯示字符 lcd_wdat(cdis1m) ; m+ ; lcd_pos(0 x40) ; /設(shè)置顯示位置為第二行第 1 個(gè)字符 m = 0 ; while(cdis2m != 0) lcd_wdat(cdis2m) ; /顯示字符 m+ ; writeta
42、b() ; /自定義字符寫入 CGRAM delay1(5) ; lcd_pos(0 x4d) ; lcd_wdat(0 x00) ; /顯示自定義字符 void shidu_Menu () /顯示濕度的菜單 uchar m ; lcd_pos(0) ; /設(shè)置顯示位置為第一行的第 1 個(gè)字符 m = 0 ; while(cdis3m != 0) /顯示字符 lcd_wdat(cdis3m) ; m+ ; lcd_pos(0 x40) ; /設(shè)置顯示位置為第二行第 1 個(gè)字符 m = 0 ; while(cdis4m != 0) 西安工業(yè)大學(xué)北方信息工程學(xué)院畢業(yè)設(shè)計(jì)(論文)21 lcd_wda
43、t(cdis4m) ; /顯示字符 m+ ; writetab() ; /自定義字符寫入 CGRAM delay1(5) ; lcd_pos(0 x4d) ; lcd_wdat(0 x00) ; /顯示自定義字符 void ok_menu() uchar m; lcd_pos(0) ; /設(shè)置顯示位置為第一行的第 1 個(gè)字符 m = 0 ; while(cdis5m != 0) /顯示字符 lcd_wdat(cdis5m) ; m+ ; lcd_pos(0 x40) ; /設(shè)置顯示位置為第二行第 1 個(gè)字符 m = 0 ; while(cdis6m != 0) lcd_wdat(cdis6m)
44、 ; /顯示字符 m+ ; 3.6 數(shù)據(jù)顯示模塊程序設(shè)計(jì)數(shù)據(jù)顯示模塊程序設(shè)計(jì)在日常生活中,大家對液晶顯示器并不陌生。液晶顯示模塊已作為很多電子產(chǎn)品的通過器件,如在計(jì)算器、萬用表、電子表及很多家用電子產(chǎn)品中都可以看到,顯示的主要是數(shù)字、專用符號和圖形。在單片機(jī)的人機(jī)交流界面中,一般的輸出方式有以下幾種:發(fā)光管、LED 數(shù)碼管、液晶顯示器11在單片機(jī)系統(tǒng)中應(yīng)用晶液顯示器作為輸出器件有以下幾個(gè)優(yōu)點(diǎn):顯示質(zhì)量高、數(shù)字式接口 、體積小、重量輕 、功耗低 、LCD,LED 四位七段數(shù)碼管 主要技術(shù)參數(shù):顯示容量:162 個(gè)字符;芯片工作電壓:4.55.5V;工作電流:2.0mA(5.0V);模塊最佳工作電
45、壓:5.0V;字符尺寸:2.954.35(WH)mm。西安工業(yè)大學(xué)北方信息工程學(xué)院畢業(yè)設(shè)計(jì)(論文)22 是 否圖 3.6 液晶顯示程序流程/*/*檢查 LCD 忙狀態(tài)/*lcd_busy 為 1 時(shí),忙,等待。lcd-busy 為 0 時(shí),閑,可寫指令與數(shù)據(jù)。 */*/ bit lcd_busy() bit result ; LCD_RS = 0 ; LCD_RW = 1 ; LCD_EN = 1 ; delayNOP() ; result = (bit)(P0&0 x80) ; LCD_EN = 0 ; return(result) ; 是否忙碌?寫指令寫數(shù)據(jù)設(shè)置顯示位初始化開始結(jié)束
46、顯示西安工業(yè)大學(xué)北方信息工程學(xué)院畢業(yè)設(shè)計(jì)(論文)23 /*寫指令數(shù)據(jù)到 LCD/*RS=L,RW=L,E=高脈沖,D0-D7=指令碼。 */*/void lcd_wcmd(uchar cmd) while(lcd_busy() ; LCD_RS = 0 ; LCD_RW = 0 ; LCD_EN = 0 ; _nop_() ; _nop_() ; P0 = cmd ; delayNOP() ; LCD_EN = 1 ; delayNOP() ; LCD_EN = 0 ; /*/*寫顯示數(shù)據(jù)到 LCD */*RS=H,RW=L,E=高脈沖,D0-D7=數(shù)據(jù)。 */*/void lcd_wdat(
47、uchar dat) while(lcd_busy() ; LCD_RS = 1 ; LCD_RW = 0 ; LCD_EN = 0 ; P0 = dat ; delayNOP() ; LCD_EN = 1 ; delayNOP() ; LCD_EN = 0 ; /* LCD 初始化設(shè)定/*/void lcd_init() delay1(15) ; lcd_wcmd(0 x01) ; /清除 LCD 的顯示內(nèi)容 西安工業(yè)大學(xué)北方信息工程學(xué)院畢業(yè)設(shè)計(jì)(論文)24 lcd_wcmd(0 x38) ; /16*2 顯示,5*7 點(diǎn)陣,8 位數(shù)據(jù) delay1(5) ; lcd_wcmd(0 x38)
48、 ; delay1(5) ; lcd_wcmd(0 x38) ; delay1(5) ; lcd_wcmd(0 x0c) ; /顯示開,關(guān)光標(biāo) delay1(5) ; lcd_wcmd(0 x06) ; /移動(dòng)光標(biāo) delay1(5) ; lcd_wcmd(0 x01) ; /清除 LCD 的顯示內(nèi)容 delay1(5) ;/* 設(shè)定顯示位置 */*/void lcd_pos(uchar pos) lcd_wcmd(pos | 0 x80) ; /數(shù)據(jù)指針=80+地址變量/*自定義字符寫入 CGRAM */*/void writetab() unsigned char i ; lcd_wcmd
49、(0 x40) ; /寫 CGRAM for (i = 0 ; i4)|(temp_data1&0 x0f)=0 x32&display1=0 x31) BEEP=1;elseBEEP=0;4 系統(tǒng)調(diào)試264 系統(tǒng)調(diào)試系統(tǒng)調(diào)試4.1 系統(tǒng)調(diào)試用到的工具系統(tǒng)調(diào)試用到的工具4.1.1 硬件調(diào)試軟件硬件調(diào)試軟件 Proteus 軟件軟件Proteus ISIS 是英國 Labcenter 公司開發(fā)的電路分析與實(shí)物仿真軟件。它運(yùn)行于 Windows 操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路,該軟件的特點(diǎn)是:實(shí)現(xiàn)了單片機(jī)仿真和 SPICE 電路仿真相結(jié)合。具有模擬電
50、路仿真、數(shù)字電路仿真、單片機(jī)及其外圍電路組成的系統(tǒng)的仿真、RS232 動(dòng)態(tài)仿真、I2C 調(diào)試器、SPI 調(diào)試器、鍵盤和 LCD 系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。支持主流單片機(jī)系統(tǒng)的仿真。目前支持的單片機(jī)類型有:68000 系列、8051 系列、AVR 系列、PIC12 系列、PIC16 系列、PIC18 系列、Z80 系列、HC11 系列以及各種外圍芯片。提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點(diǎn)等調(diào)試功能,同時(shí)可以觀察各個(gè)變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時(shí)支持第三方的軟件編譯和調(diào)試環(huán)境,如 Keil
51、C51 uVision2等軟件。具有強(qiáng)大的原理圖繪制功能??傊撥浖且豢罴瘑纹瑱C(jī)和SPICE 分析于一身的仿真軟件,功能極其強(qiáng)大12。 圖 4.1. Proteus ISIS 的工作界面1雙擊桌面上的 ISIS 6 Professional 圖標(biāo)或者單擊屏幕左下方的“開始”“程序”“Proteus 6 Professional” “ISIS 6 Professional”。2Proteus ISIS 的工作界面是一種標(biāo)準(zhǔn)的 Windows 界面。包括:標(biāo)題欄、主菜單、標(biāo)準(zhǔn)工具欄、繪圖工具欄、狀態(tài)欄、對象選擇按鈕、預(yù)覽對象方位控西安工業(yè)大學(xué)北方信息工程學(xué)院畢業(yè)設(shè)計(jì)(論文27制按鈕、仿真進(jìn)程控
52、制按鈕、預(yù)覽窗口、對象選擇器窗口、圖形編輯窗口。3. 在圖形編輯窗口內(nèi)完成電路原理圖的編輯和繪制。為了方便作圖坐標(biāo)系統(tǒng)(CO-ORDINATE SYSTEM) 。ISIS 中坐標(biāo)系統(tǒng)的基本單位是 10nm,主要是為了和 Proteus ARES 保持一致。但坐標(biāo)系統(tǒng)的識(shí)別(read-out)單位被限制在 1th。坐標(biāo)原點(diǎn)默認(rèn)在圖形編輯區(qū)的中間,圖形的坐標(biāo)值能夠顯示在屏幕的右下角的狀態(tài)欄中13。點(diǎn)狀柵格(The Dot Grid)與捕捉到柵格(Snapping to a Grid) 。編輯窗口內(nèi)有點(diǎn)狀的柵格,可以通過 View 菜單的 Grid 命令在打開和關(guān)閉間切換。點(diǎn)與點(diǎn)之間的間距由當(dāng)前捕捉
53、的設(shè)置決定。捕捉的尺度可以由 View菜單的 Snap 命令設(shè)置,或者直接使用快捷鍵 F4、F3、F2 和 CTRL+F1。如圖4.2 操作界面所示。圖 4.2 操作界面4.1.2 軟件調(diào)試軟件軟件調(diào)試軟件 Keil 軟件軟件Keil uVision2 是目前使用廣泛的單片機(jī)開發(fā)軟件,它集成了源程序編輯和程序調(diào)試于一體,支持匯編、C、PL/M 語言。 這里僅僅介紹 Keil uVision2 的簡單使用,更詳細(xì)的使用方法見本光盤單片機(jī)軟件Keil c51Keil 書籍與資料目錄中的內(nèi)容。 先運(yùn)行光盤中 單片機(jī)軟件setupsetup.exe 安裝程序,選擇安裝“Eval Version”版進(jìn)行
54、安裝。一直點(diǎn)擊“Yes”或“Next”,直到“Finish”完成。之后運(yùn)行同西安工業(yè)大學(xué)北方信息工程學(xué)院畢業(yè)設(shè)計(jì)(論文28目錄中的 Keil uv2 漢化安裝.exe 安裝漢化程序14。裝好后,在桌面上會(huì)產(chǎn)生快捷圖標(biāo),如圖 4.3 所示。 圖 4.3 快捷圖標(biāo)點(diǎn)擊桌面快捷圖標(biāo),可以直接進(jìn)入主畫面。如圖 4.4Keil 主界面所示 圖 4.4 keil 主界面圖 4.5 Keil 系統(tǒng)創(chuàng)建工程西安工業(yè)大學(xué)北方信息工程學(xué)院畢業(yè)設(shè)計(jì)(論文29在 Keil 系統(tǒng)中,每做個(gè)獨(dú)立的程序,都視為工程(或者叫項(xiàng)目)。首先從菜但的“工程”中“新建工程.”,建立將要做的工程項(xiàng)目15。如圖 4.5Keil 系統(tǒng)創(chuàng)建
55、工程所示。圖 4.6Keil 編輯界面接下來,Keil 環(huán)境要求為 Test 工程選擇一個(gè)單片機(jī)型號;選擇 Atmel 公司的 89C51(雖然使用的是 89C52,但由于 89C52 與 89C52 內(nèi)、外部結(jié)構(gòu)完全一樣,所以這里依然選擇“89C52”)?!按_定”后工程項(xiàng)目就算建立了16 點(diǎn)擊“文件”中的“新建”,新建一個(gè)空白文檔;這個(gè)空白文檔就是編寫片機(jī)程的場所。在這里可以進(jìn)行編輯、修改等操作。如圖 4.6Keil 編輯界面所示。4.2 系統(tǒng)測試系統(tǒng)測試4.2.1 軟件設(shè)計(jì)分析軟件設(shè)計(jì)分析主程序進(jìn)行鍵盤掃描,單片機(jī)根據(jù)判斷鍵盤那個(gè)鍵按下,顯示溫度或濕度。如果 key1 鍵按下就調(diào)用溫度檢測
56、程序,單片機(jī)對 18B20 進(jìn)行初始化,成功則讀字節(jié),再寫入字節(jié),讀取溫度數(shù)據(jù)送到 LED 數(shù)碼管顯示。如果 key2 鍵按下,就調(diào)用濕度顯示程序,開啟定時(shí)中斷 T0、T1,T0 進(jìn)行定時(shí),T1 對濕度電路給的頻率計(jì)數(shù),當(dāng)計(jì)滿 1S 時(shí)關(guān)閉 T1,單片機(jī)對計(jì)的數(shù)進(jìn)行運(yùn)算,的出濕度值,送往液晶顯示17。西安工業(yè)大學(xué)北方信息工程學(xué)院畢業(yè)設(shè)計(jì)(論文30.2.2 主要指標(biāo)測試主要指標(biāo)測試 本系統(tǒng)主要指標(biāo)就在于所測得的溫濕度的數(shù)據(jù)是否達(dá)到了題目要求,本系統(tǒng)測量范圍為-10-50,濕度為 0-100%;溫度測量誤差為 0.1,濕度測量誤差為 2%;在 8 棟 111 測試溫度為 16.7 度,濕度為 41
57、%18。4.2.3 測試結(jié)果測試結(jié)果 通過測試,與標(biāo)準(zhǔn)儀器所測得的溫濕度相比較,可得系統(tǒng)的誤差為信號傳輸過程中可能存在誤碼,及誤判。5 結(jié)論315 結(jié)論結(jié)論 本溫濕度計(jì)的制作基本上達(dá)到了題目要求的技術(shù)指標(biāo),溫度測量范圍為-10-50,濕度為 0-100%;溫度測量誤差為 0.1,濕度測量誤差為 3%;實(shí)現(xiàn)了量程自動(dòng)轉(zhuǎn)換功能。課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn),提出,分析和解決實(shí)際問題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過程.隨著科學(xué)技術(shù)發(fā)展的日新日異,單片機(jī)已經(jīng)成為當(dāng)今計(jì)算機(jī)應(yīng)用中空前活躍的領(lǐng)域,在生活中可以說得是無處不在。因此作為二十一世紀(jì)的大學(xué)來說掌握單片機(jī)
58、的開發(fā)技術(shù)是十分重要的。 回顧起此次單片機(jī)課程設(shè)計(jì),我仍感慨頗多,的確,從選題到定稿,從理論到實(shí)踐,在接近一星期的日子里,可以說得是苦多于甜,但是可以學(xué)到很多很多的的東西,同時(shí)不僅可以鞏固了以前所學(xué)過的知識(shí),而且學(xué)到了很多在書本上所沒有學(xué)到過的知識(shí)。通過這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過程中遇到問題,可以說得是困難重重,難免會(huì)遇到過各種各樣的問題,同時(shí)在設(shè)計(jì)的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學(xué)過的知識(shí)理解得不夠深刻,掌握
59、得不夠牢固,比如說不懂一些元器件的使用方法,對單片機(jī)匯編語言掌握得不好通過這次課程設(shè)計(jì)之后,一定把以前所學(xué)過的知識(shí)重新溫故。參考文獻(xiàn)32參考文獻(xiàn)參考文獻(xiàn)1 康華光等.電子技術(shù)基礎(chǔ)M. 北京:高等教育出版社.2 彭介華.電子技術(shù)課程設(shè)計(jì)指導(dǎo)M. 北京:高等教育出版社.3 郭天祥.新概念 51 單片機(jī) C 語言教程:入門、提高、開發(fā)、拓展全攻略M.電子工業(yè)出版社,2009.4 黃智偉全國大學(xué)生電子設(shè)計(jì)競賽制作實(shí)訓(xùn)M北京:北京航空航天大學(xué)出版社,2007.5 黃智偉全國大學(xué)生電子設(shè)計(jì)競賽系統(tǒng)設(shè)計(jì)M北京:北京航空航天大學(xué)出版社,2006.6 黃智偉全國大學(xué)生電子設(shè)計(jì)競賽技能訓(xùn)練M北京:北京航空航天大學(xué)
60、出版社,2007.7 ckmann J P, Kamphor st S O, Ruelle D. Recurr ence Plots of Dynamical Systems J . Europhys. Lett. , 1987,4( 9) : 9732977.8 黃智偉全國大學(xué)生電子設(shè)計(jì)競賽 常用電路模塊制作M北京:北京航空航天大學(xué)出版社,2010.9 黃智偉等.基于 NI multisim 的電子電路計(jì)算機(jī)仿真設(shè)計(jì)與分析M北京:電子工業(yè)出版社,2007.10 黃智偉.印制電路板(PCB)設(shè)計(jì)技術(shù)與實(shí)踐M北京:電子工業(yè)出版社,2009.11 高吉祥等.電子技術(shù)基礎(chǔ)實(shí)驗(yàn)與課程設(shè)計(jì)M北京:電子工業(yè)出版社,2002.12 ST.LlashFlex51MCU PDF.S
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 45675-2025增材制造金屬粉末床熔融成形件表面結(jié)構(gòu)的測量及表征方法
- 遺跡保護(hù)與歷史文化名城保護(hù)考核試卷
- 零售業(yè)趨勢與未來發(fā)展預(yù)測考核試卷
- 貴金屬提煉的化學(xué)分析方法考核試卷
- 水運(yùn)市場競爭與發(fā)展趨勢考核試卷
- 陶瓷工藝品的耐化學(xué)腐蝕性能測試方法與應(yīng)用研究考核試卷
- 瑞思邁呼吸機(jī)產(chǎn)品解析與應(yīng)用指南
- 妊娠合并高血壓疾病護(hù)理
- 衛(wèi)生法學(xué)視角下的職業(yè)病防治體系
- 2025年金融數(shù)據(jù)治理與資產(chǎn)化研究報(bào)告:金融行業(yè)數(shù)據(jù)治理與資產(chǎn)化戰(zhàn)略布局與實(shí)施效果
- 鄭州市市區(qū)小學(xué)畢業(yè)生就近入學(xué)報(bào)名登記表
- 初等數(shù)學(xué)研究第三章課件
- 幼兒園性教育課件:《不要隨便碰摸我》
- 包工不包料合同
- 華泰基本面輪動(dòng)系列之七:行業(yè)配置策略趨勢追蹤視角
- “一站到底”知識(shí)競賽題庫及答案(1590題)
- PCO行業(yè)衛(wèi)生殺蟲劑[通用]
- 鋁合金門窗鋼副框安裝過程圖解1課件
- (演唱)大母雞花公雞
- XY-44C型立軸式巖芯鉆機(jī)使用說明書
- 藥物溶出度數(shù)據(jù)處理軟件
評論
0/150
提交評論