版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 . . . 信息工程學(xué)院信息工程學(xué)院本科畢業(yè)設(shè)計(jì)本科畢業(yè)設(shè)計(jì)( (論文論文) )題目題目:糧食倉(cāng)庫(kù)溫濕度智能檢測(cè)糧食倉(cāng)庫(kù)溫濕度智能檢測(cè)系統(tǒng)軟件設(shè)計(jì)系統(tǒng)軟件設(shè)計(jì) . . . 畢業(yè)設(shè)計(jì)(論文)任務(wù)書(shū)1.畢業(yè)設(shè)計(jì)(論文)題目:糧食倉(cāng)庫(kù)溫濕度智能檢測(cè)系統(tǒng)軟件設(shè)計(jì)2.題目背景和意義:糧食溫度和濕度含量是直接影響糧食加工、儲(chǔ)藏、貿(mào)易與食用的重要質(zhì)量指標(biāo)。 因此,對(duì)倉(cāng)庫(kù)中糧食的濕度含量和溫度進(jìn)行實(shí)時(shí)檢測(cè)具有重要的意義。單片機(jī)自誕生以來(lái)給全世界人類的生活和工作起到了劇烈的作用,利用單片機(jī)進(jìn)行溫濕度檢測(cè)、處理和顯示具有實(shí)時(shí)性好、成本低、穩(wěn)定性高等優(yōu)點(diǎn)。通過(guò)該系統(tǒng)的設(shè)計(jì),可使學(xué)生對(duì)單片機(jī)的原理和功能有個(gè)較系統(tǒng)和
2、全面的掌握,也可以使學(xué)生初步學(xué)習(xí)到有關(guān)工程設(shè)計(jì)的方法和思路。這樣他們的就業(yè)面會(huì)更加寬廣,也可以滿足當(dāng)今社會(huì)對(duì)單片機(jī)開(kāi)發(fā)人才的大量需求。3.設(shè)計(jì)(論文)的主要容(理工科含技術(shù)指標(biāo)):本系統(tǒng)所需的元器件有 MCS-51 單片機(jī)、溫度傳感器、濕度傳感器等器件、數(shù)碼管、鍵盤(pán)等,要求學(xué)生利用匯編語(yǔ)言或 C51 語(yǔ)言在 Keil軟件編輯環(huán)境中編寫(xiě)程序,設(shè)計(jì)出一個(gè)糧食濕度、溫度智能檢測(cè)系統(tǒng),并且能夠?qū)穸群亢蛯?shí)時(shí)溫度顯示在數(shù)碼管上。具體來(lái)說(shuō)該學(xué)生的主要任務(wù)是在系統(tǒng)硬件電路的基礎(chǔ)上,利用 MCS-51 單片機(jī)的匯編語(yǔ)言或 C51 語(yǔ)言編寫(xiě)程序,實(shí)現(xiàn):(1)糧食倉(cāng)庫(kù)的溫度、濕度實(shí)時(shí)測(cè)量功能;(2)將測(cè)量到的溫
3、濕度含量顯示在 4 位數(shù)碼管;(3)利用若干個(gè)開(kāi)關(guān)按鍵設(shè)置溫度、濕度的標(biāo)準(zhǔn)值;(4)實(shí)現(xiàn)系統(tǒng)溫度、濕度超限報(bào)警功能;(5)編寫(xiě)程序?qū)崿F(xiàn)系統(tǒng)的看門(mén)狗復(fù)位功能。設(shè)計(jì)指標(biāo):(1)溫度圍:-40 度-+85 度;(2)濕度圍:0100%RH;(3)顯示:4 位數(shù)碼管。4.設(shè)計(jì)的基本要求與進(jìn)度安排(含起始時(shí)間、設(shè)計(jì)地點(diǎn)):(1)選題、收集資料、確定開(kāi)發(fā)工具、理解題目、開(kāi)題報(bào)告3 周,2010 年 11 月 25 日前(2)需求分析(需求說(shuō)明書(shū))、開(kāi)發(fā)計(jì)劃(項(xiàng)目計(jì)劃書(shū))3 周,2011 年 1 月 15 日前(3)總體流程圖 2 周,2010 年 1 月 31 日前(4)編寫(xiě)程序4 周,2011 年 2
4、月 28 日(5)系統(tǒng)集成2 周,2011 年 3 月 15 日前(6)系統(tǒng)測(cè)試1 周,2011 年 3 月 22 日前(7)導(dǎo)師驗(yàn)收1 周,2011 年 3 月 30 日前(8)完成論文10周,2010 年 4 月 1 日前。 5.畢業(yè)設(shè)計(jì)(論文)的工作量要求 撰寫(xiě) 15000 字論文 實(shí)驗(yàn)(時(shí)數(shù))*或?qū)嵙?xí)(天數(shù)): 300 機(jī)時(shí) 圖紙(幅面和數(shù))*: 其他要求: 查閱資料不少于 10 份 指導(dǎo)教師簽名: 年 月 日 . . . II / 55 學(xué)生簽名: 年 月 日 系主任審批: 年 月 日說(shuō)明:1 本表一式二份,一份由學(xué)生裝訂入冊(cè),一份教師自留。2 帶*項(xiàng)可根據(jù)學(xué)科特點(diǎn)選填。 . . .
5、 I / 55糧食倉(cāng)庫(kù)溫濕度智能檢測(cè)系統(tǒng)軟件設(shè)計(jì)糧食倉(cāng)庫(kù)溫濕度智能檢測(cè)系統(tǒng)軟件設(shè)計(jì)摘摘 要要糧食中的溫度和濕度是影響糧食質(zhì)量的重要因素,它也是國(guó)外糧食部門(mén)嚴(yán)格控制的一項(xiàng)重要質(zhì)量指標(biāo)。 本設(shè)計(jì)以 MCS-51 單片機(jī)的 STC89C52 芯片為核心,利用數(shù)字式的濕度傳感器 HS1101 和數(shù)字式的溫度傳感器 DS18B20 在線檢測(cè)倉(cāng)庫(kù)中糧食的實(shí)時(shí)溫濕度,再輔以必要的外圍電路,設(shè)計(jì)了一個(gè)簡(jiǎn)易的濕度測(cè)量系統(tǒng)。本文詳細(xì)介紹了系統(tǒng)的軟件設(shè)計(jì)過(guò)程,給出了系統(tǒng)各模塊的軟件工作流程圖和源程序代碼,并用Protues 軟件和 Keil 軟件對(duì)系統(tǒng)進(jìn)行了調(diào)試。 本系統(tǒng)的軟件采用 MCS-51 單片機(jī)的匯編語(yǔ)言進(jìn)
6、行編程。整個(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ì) . . . II / 55SoftwareSoftware DesignDesign ofof TemperatureTemperature andand HumidityHumidity IntelligentIntelligent DetectionDetection SystemSystem inin thethe FoodFood DepotsDepotsAbstractAbstractGrain tem
7、perature 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 digital temperature sensor DS18B20
8、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 chart and source code,and Keil with
9、 Protues software and debug software on the system. The systems software uses MCS-51 microcontroller assembly language programming pletion of the entire system can display real-time temperature and humidity,temperature and humidity limit alarm,the alarm value is set and so on. After commissioning,th
10、e system is stable,reliable.KeyKey WordsWords: STC89C52 SCM;temperature sensor;humidity sensor;software design . . . III / 55目目 錄錄1 1 緒論緒論51.1 課題意義和研究背景 51.2 國(guó)外發(fā)展?fàn)顩r 51.3 系統(tǒng)的設(shè)計(jì)要求 61.4 本課題的主要研究容 62 2 系統(tǒng)方案與論證系統(tǒng)方案與論證72.1 總體方案設(shè)計(jì) 72.2 模塊化編程思想方案論證 72.3 顯示模塊的選擇與論證 82.3.1 靜態(tài)顯示方案 82.3.2 動(dòng)態(tài)顯示方案 82.4 編程語(yǔ)言選擇方案 8
11、2.4.1 匯編語(yǔ)言 82.4.2 C 語(yǔ)言 93 3 系統(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 4 系統(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)測(cè)試 304.2.1 軟件設(shè)計(jì)分析 304.2.2 主要指標(biāo)測(cè)試 30 . . . IV / 554.2.3 測(cè)試結(jié)果 305
12、5 結(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 1 糧食倉(cāng)庫(kù)溫濕度智能檢測(cè)系統(tǒng)源程序代碼糧食倉(cāng)庫(kù)溫濕度智能檢測(cè)系統(tǒng)源程序代碼36附錄附錄 2 2 系統(tǒng)系統(tǒng) P Protuesrotues 電路原理圖電路原理圖48 . . . 5 / 551 1 緒論緒論1.11.1 課題意義和研究背景課題意義和研究背景糧食儲(chǔ)藏是國(guó)家為防備戰(zhàn)爭(zhēng)、災(zāi)荒與其它突發(fā)性事件而采取的有效措施,因此,糧食的安全儲(chǔ)藏具有重要意義。目前,中國(guó)地方與墾區(qū)的各種大型糧庫(kù)都還存在著程度不同的糧食儲(chǔ)存變質(zhì)問(wèn)題。
13、根據(jù)國(guó)家糧食保護(hù)法規(guī)定,必須定期抽樣檢查糧庫(kù)各點(diǎn)的糧食溫度和濕度,以便與時(shí)采取相應(yīng)的措施。但大部分糧庫(kù)目前還是采取人工測(cè)量溫度和濕度的方法,這不僅使糧庫(kù)工作人員工作量增大,且工作效率低,尤其是大型糧庫(kù)的溫度和濕度檢測(cè)任務(wù)如不能與時(shí)徹底完成,則有可能會(huì)造成糧食大面積變質(zhì)。據(jù)有關(guān)資料統(tǒng)計(jì),中國(guó)每年因糧食變質(zhì)而損失的糧食達(dá)數(shù)億斤,直接造成的經(jīng)濟(jì)損失是驚人的。 影響糧食安全儲(chǔ)藏的主要參數(shù)是糧食的溫度和濕度,這兩者之間又是互相關(guān)聯(lián)的。糧食在正常儲(chǔ)藏過(guò)程中,含水量一般在 12%以下(為安全狀態(tài)),不會(huì)產(chǎn)生溫度突變,一旦糧庫(kù)進(jìn)水、結(jié)露等使糧食的含水量達(dá)到 20%以上時(shí),由于糧粒受潮,胚芽萌發(fā),新代加快而產(chǎn)生
14、呼吸熱,使局部糧食溫度突然升高,必然引起糧食“發(fā)燒”和霉變,并可能形成連鎖反應(yīng),從而造成不可挽回的損失。因此設(shè)計(jì)出一種經(jīng)濟(jì)實(shí)用的糧庫(kù)糧情溫濕度智能檢測(cè)系統(tǒng)是非常有必要的1。1.21.2 國(guó)外發(fā)展?fàn)顩r國(guó)外發(fā)展?fàn)顩r糧情檢測(cè)屬監(jiān)控系統(tǒng)疇,近年來(lái),由于傳感器技術(shù)、計(jì)算機(jī)技術(shù)、超大規(guī)模集成電路技術(shù)和網(wǎng)絡(luò)通信技術(shù)的發(fā)展,使監(jiān)控系統(tǒng)廣泛應(yīng)用于工農(nóng)業(yè)生產(chǎn)等領(lǐng)域,因此,糧情檢測(cè)技術(shù)的研究在軟、硬件等方面都有了一定的進(jìn)展。早期糧情監(jiān)測(cè)主要采用溫度計(jì)測(cè)量法,它是將溫度計(jì)放入特制的插桿中,根據(jù)經(jīng)驗(yàn)插在糧堆的多個(gè)測(cè)溫點(diǎn),管理人員定期拔出讀數(shù),確定糧溫的高、低,決定是否倒糧。這種方法對(duì)儲(chǔ)糧有一定的作用,但由于溫度計(jì)精度、
15、人工讀數(shù)的人為因素等原因,溫度檢測(cè)不僅速度慢,而且精度低,抽樣不徹底,局部糧溫過(guò)高不易被與時(shí)發(fā)現(xiàn),導(dǎo)致因局部糧食發(fā)霉變質(zhì)引起大面積壞糧的情況時(shí)有發(fā)生。隨著科技的發(fā)展,從 1978 年開(kāi)始,采用電阻式溫度傳感器、采樣器、模數(shù)轉(zhuǎn)換器、報(bào)普器等組成的儲(chǔ)糧監(jiān)測(cè)系統(tǒng)出現(xiàn),它可對(duì)各糧庫(kù)的各個(gè)測(cè)溫點(diǎn)進(jìn)行巡回檢測(cè),檢測(cè)速度、精度大大提高,降低了勞動(dòng)強(qiáng)度,但由于電阻傳感器的靈敏度低,致使檢測(cè)精度、系統(tǒng)可靠性還不夠理想。至 1990 年,糧情檢測(cè)系統(tǒng) . . . 6 / 55有了很大的改善和提高,系統(tǒng)在布線上采用矩陣式布線技術(shù),簡(jiǎn)化了數(shù)據(jù)采集部分的線路,在傳感器方面應(yīng)用了半導(dǎo)體、熱電偶等器件;在線路傳輸上采用了串
16、行傳輸方式,從而減少了傳輸線根數(shù);采用單片機(jī)進(jìn)行數(shù)據(jù)處理,并采用各種手段提高數(shù)據(jù)傳輸與檢測(cè)速度,通過(guò)軟硬件技術(shù)的結(jié)合,檢測(cè)精度和可靠性較以前有很大提高。但溫度傳感器的線性度差,系統(tǒng)的檢測(cè)精度仍不理想,無(wú)法大面積推廣。近年來(lái),隨著單片機(jī)功能的日益強(qiáng)大和計(jì)算機(jī)的廣泛應(yīng)用,糧情檢測(cè)的準(zhǔn)確性、穩(wěn)定性要求越來(lái)越高。尋找最佳配置和最好的性價(jià)比成為糧情監(jiān)測(cè)研究的熱點(diǎn)2。國(guó)外在糧情監(jiān)控技術(shù)上己達(dá)到了很成熟的地步,高科技數(shù)字式傳感器廣泛應(yīng)用于糧情檢測(cè)系統(tǒng)。這種傳感器采用了半導(dǎo)體集成電路與微控制器最新技術(shù),在一個(gè)管芯上集成了半導(dǎo)體溫度檢測(cè)芯片、數(shù)據(jù)信號(hào)轉(zhuǎn)換芯片、計(jì)算機(jī)接口芯片,存儲(chǔ)芯片等,除完成溫度檢測(cè)功能外,還
17、可完成預(yù)置圍溫度、報(bào)警、多路AD 轉(zhuǎn)換、溫度補(bǔ)償?shù)裙δ?。由于?shù)字溫度傳感器直接傳出數(shù)字量,從而解決了溫度信號(hào)長(zhǎng)距離傳輸問(wèn)題與傳輸過(guò)程中因干擾和衰減而導(dǎo)致的精度降低等問(wèn)題。目前,國(guó)出現(xiàn)了豐富的數(shù)字傳感器配套產(chǎn)品,如遠(yuǎn)程控制模塊、中繼器、接插器、分線器等,技術(shù)也比較成熟。1.31.3 系統(tǒng)的設(shè)計(jì)要求系統(tǒng)的設(shè)計(jì)要求具體來(lái)說(shuō)該學(xué)生的主要任務(wù)是在系統(tǒng)硬件電路的基礎(chǔ)上,利用 MCS-51 單片機(jī)的匯編語(yǔ)言或 C51 語(yǔ)言編寫(xiě)程序,實(shí)現(xiàn):(1)糧食倉(cāng)庫(kù)的溫度、濕度實(shí)時(shí)測(cè)量功能;(2)將測(cè)量到的溫濕度含量顯示在 4 位數(shù)碼管;(3)利用若干個(gè)開(kāi)關(guān)按鍵設(shè)置溫度、濕度的標(biāo)準(zhǔn)值;(4)實(shí)現(xiàn)系統(tǒng)溫度、濕度超限報(bào)警功能
18、。1.41.4 本課題的主要研究容本課題的主要研究容1.設(shè)計(jì)相應(yīng)的信號(hào)采集電路、執(zhí)行電路等硬件電路;2.實(shí)現(xiàn)各環(huán)境要素的自動(dòng)監(jiān)測(cè);3.通過(guò)單片機(jī)匯編語(yǔ)言編制數(shù)據(jù)采集、分析處理、顯示、修改、參數(shù)設(shè)置、控制等程序功能模塊;4.研究裝置的軟硬件抗干擾措施,提高系統(tǒng)工作的可靠性和穩(wěn)定性。 . . . 7 / 552 2 系統(tǒng)方案與論證系統(tǒng)方案與論證2.12.1 總體方案設(shè)計(jì)總體方案設(shè)計(jì)經(jīng)分析,將系統(tǒng)分為兩個(gè)部分,一個(gè)是由溫濕度傳感器組成的檢測(cè)部分,另一個(gè)是由單片機(jī)和 LED 數(shù)碼管組成的主控與顯示部分。如圖所示 DS18B20 和 HS1101 濕度檢測(cè)電路將檢測(cè)到的數(shù)送到單片機(jī),單片機(jī)對(duì)接收到的數(shù)據(jù)
19、進(jìn)行處理并送到 LED 數(shù)碼管,5V 穩(wěn)壓電源給各個(gè)部分供電。系統(tǒng)組成框圖如圖 2.1 所示。圖 2.1 系統(tǒng)組成框圖2.22.2 模塊化編程思想方案論證模塊化編程思想方案論證如果一本書(shū)沒(méi)有章、節(jié)和段落,學(xué)習(xí)起來(lái)該有多么困難。將復(fù)雜任務(wù)和主題分解為更便于管理的部分,是使它們更容易處理的一種方法。同樣,計(jì)算機(jī)程序也可以分解為小的子程序,或模塊,而這些子程序或模塊可以分別進(jìn)行開(kāi)發(fā)和測(cè)試。這種方法就稱為模塊化程序設(shè)計(jì)(modular programming)。模塊最重要的屬性是它們應(yīng)該盡可能的獨(dú)立和自包含。另外,一般將它們?cè)O(shè)計(jì)成執(zhí)行一個(gè)特定的、定義好的函數(shù),它有一個(gè)入口點(diǎn)和一個(gè)退出點(diǎn)。同時(shí),模塊常常
20、很短(通常只有 50 到 100 條指令)和高度聚的3。模塊化程序設(shè)計(jì)有很多優(yōu)點(diǎn)。不管對(duì)于開(kāi)發(fā)者還是用戶來(lái)說(shuō),小的、自包含的單元都更易于設(shè)計(jì)和理解底層的邏輯。模塊化程序設(shè)計(jì)使開(kāi)發(fā)更方便,這是因?yàn)槊總€(gè)模塊都可以獨(dú)自得以完善。事實(shí)上,對(duì)于大型軟件項(xiàng)目,不同的程序員可以只負(fù)責(zé)各自的組件。模塊化設(shè)計(jì)也使調(diào)試和測(cè)試程序更加容易,因?yàn)殄e(cuò)誤更容易隔離開(kāi)來(lái)。最后,程序的維護(hù)和修改更加方便。這主要是因?yàn)榭梢蚤_(kāi)發(fā)新模塊來(lái)執(zhí)行額外的任務(wù),然后單片機(jī)顯示模塊HS1101 濕度檢測(cè)電路DS18B20溫度檢測(cè)電源 . . . 8 / 55將其集成到現(xiàn)有的、組織良好的架構(gòu)中。 . . . 9 / 55盡管所有這些屬性都是使
21、用模塊的理由,而與數(shù)值工程問(wèn)題求解相關(guān)的、最重要的理由是,可以對(duì)有用的模塊庫(kù)進(jìn)行維護(hù),以便以后在其的程序中使用。2.32.3 顯示模塊的選擇與論證顯示模塊的選擇與論證LED 數(shù)碼管要正常顯示,就要用驅(qū)動(dòng)電路來(lái)驅(qū)動(dòng)數(shù)碼管的各個(gè)段碼,從而顯示出需要的數(shù)位,因此根據(jù) LED 數(shù)碼管的驅(qū)動(dòng)方式的不同,可以分為靜態(tài)式和動(dòng)態(tài)式兩類。2.3.12.3.1 靜態(tài)顯示方案靜態(tài)顯示方案對(duì)于單片機(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)是編程簡(jiǎn)單,顯示亮度高,缺點(diǎn)是占用 I/O 接口多,如驅(qū)動(dòng) 5 個(gè)數(shù)碼管靜態(tài)顯示則需要 5840 根 I/O 接口來(lái)驅(qū)動(dòng),要知道一
22、個(gè) 89S51 單片機(jī)可用的I/O 接口才 32 個(gè)呢。故實(shí)際應(yīng)用時(shí)必須增加解碼驅(qū)動(dòng)器進(jìn)行驅(qū)動(dòng),增加了硬體電路的復(fù)雜性。2.3.22.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ī)對(duì)位元選通 COM 端電路的控制,所以只要將需要顯示的數(shù)碼管的選通控制打開(kāi),該位元就顯
23、示出字形,沒(méi)有選通的數(shù)碼管就不會(huì)亮。透過(guò)分時(shí)輪流控制各個(gè) LED 數(shù)碼管的 COM 端,就使各個(gè)數(shù)碼管輪流受控顯示,這就是動(dòng)態(tài)驅(qū)動(dòng)。在輪流顯示過(guò)程中,每位元數(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.42.4 編程語(yǔ)言選擇方案編程語(yǔ)言選擇方案2.4.12.4.1 匯編語(yǔ)言匯編語(yǔ)言匯編語(yǔ)言是一種功能很強(qiáng)的程序設(shè)計(jì)語(yǔ)言,也是利用計(jì)算機(jī)所有硬件特性并能直接控制硬件的語(yǔ)言。匯編語(yǔ)言,作為一門(mén)語(yǔ)言,
24、對(duì)應(yīng)于高級(jí)語(yǔ)言的編譯器,需要一個(gè)“匯編器”來(lái)把匯編語(yǔ)言原文件匯編成機(jī)器可執(zhí)行的代碼。高級(jí)的匯編器如MASM,TASM 等等為寫(xiě)匯編程序提供了很多類似于高級(jí)語(yǔ)言的特征,比如結(jié)構(gòu)化、抽象等。在這樣的環(huán)境中編寫(xiě)的匯編程序,有很大一部分是面向匯編器的偽指令,已經(jīng)類同于高級(jí)語(yǔ)言。現(xiàn)在的匯編環(huán)境已經(jīng)如此高級(jí),即使全部用匯編語(yǔ)言來(lái)編寫(xiě) Windows . . . 10 / 55的應(yīng)用程序也是可行的,但這不是匯編語(yǔ)言的長(zhǎng)處。匯編語(yǔ)言的長(zhǎng)處在于編寫(xiě)高效且需要對(duì)機(jī)器硬件精確控制的程序。2.4.22.4.2 C C 語(yǔ)言語(yǔ)言C 語(yǔ)言是一種計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言。它既具有高級(jí)語(yǔ)言的特點(diǎn),又具有匯編語(yǔ)言的特點(diǎn)。它可以作為工
25、作系統(tǒng)設(shè)計(jì)語(yǔ)言,編寫(xiě)系統(tǒng)應(yīng)用程序,也可以作為應(yīng)用程序設(shè)計(jì)語(yǔ)言,編寫(xiě)不依賴計(jì)算機(jī)硬件的應(yīng)用程序。因此,它的應(yīng)用圍廣泛,不僅僅是在軟件開(kāi)發(fā)上,而且各類科研都需要用到 C 語(yǔ)言,具體應(yīng)用比如單片機(jī)以與嵌入式系統(tǒng)開(kāi)發(fā)。C 語(yǔ)言是功的系統(tǒng)描述語(yǔ)言,用 C 語(yǔ)言開(kāi)發(fā)的 UNIX 操作系統(tǒng)就是一個(gè)成功的例;同時(shí) C 語(yǔ)言又是一種通用的程序設(shè)計(jì)語(yǔ)言,在國(guó)際上廣泛流行。世界上很多著名的計(jì)算公司都成功的開(kāi)發(fā)了不同版本的 C 語(yǔ)言,很多優(yōu)秀的應(yīng)用程序也都使用 C 語(yǔ)言開(kāi)發(fā)的,它是一種很有發(fā)展前途的高級(jí)程序設(shè)計(jì)語(yǔ)言。 1. C 是中級(jí)語(yǔ)言。它把高級(jí)語(yǔ)言的基本結(jié)構(gòu)和語(yǔ)句與低級(jí)語(yǔ)言的實(shí)用性結(jié)合起來(lái)。C 語(yǔ)言可以像匯編語(yǔ)言
26、一樣對(duì)位、字節(jié)和地址進(jìn)行操作, 而這三者是計(jì)算機(jī)最基本的工作單元。 2.C 是結(jié)構(gòu)式語(yǔ)言。結(jié)構(gòu)式語(yǔ)言的顯著特點(diǎn)是代碼與數(shù)據(jù)的分隔化,即程序的各個(gè)部分除了必要的信息交流外彼此獨(dú)立。這種結(jié)構(gòu)化方式可使程序?qū)哟吻逦?,便于使用、維護(hù)以與調(diào)試。C 語(yǔ)言是以函數(shù)形式提供給用戶的,這些函數(shù)可方便的調(diào)用,并具有多種循環(huán)、條件語(yǔ)句控制程序流向,從而使程序完全結(jié)構(gòu)化。 3.C 語(yǔ)言功能齊全。具有各種各樣的數(shù)據(jù)類型,并引入了指針概念,可使程序效率更高。而且計(jì)算功能、邏輯判斷功能也比較強(qiáng)大,可以實(shí)現(xiàn)決策目的的游戲。 4. C 語(yǔ)言適用圍大。適合于多種操作系統(tǒng),如 Windows、DOS、UNIX 等等;也適用于多種機(jī)
27、型。 C 語(yǔ)言對(duì)編寫(xiě)需要硬件進(jìn)行操作的場(chǎng)合,明顯優(yōu)于其它解釋型高級(jí)語(yǔ)言,有一些大型應(yīng)用軟件也是用 C 語(yǔ)言編寫(xiě)的。 C 語(yǔ)言具有較好的可移植性,并具備很強(qiáng)的數(shù)據(jù)處理能力,因此適于編寫(xiě)系統(tǒng)軟件,三維,二維圖形和動(dòng)畫(huà)。它是數(shù)值計(jì)算的高級(jí)語(yǔ)言5。匯編語(yǔ)言是低級(jí)語(yǔ)言,在編寫(xiě)程序的時(shí)候會(huì)把根據(jù)不同的情況指定使用不同的尋址方式,能夠?qū)Υ婧?CPU 里的通用寄存器直接操縱。不同的計(jì)算機(jī)系列會(huì)有不同的匯編語(yǔ)言此次課題選擇了 C 語(yǔ)言進(jìn)行編寫(xiě)。 . . . 11 / 553 3 系統(tǒng)軟件設(shè)計(jì)系統(tǒng)軟件設(shè)計(jì)3.13.1 系統(tǒng)硬件工作原理系統(tǒng)硬件工作原理該系統(tǒng)的硬件電路由以下幾部分電路模塊組成:?jiǎn)纹瑱C(jī)、溫度傳感器檢測(cè)
28、電路、濕度傳感器檢測(cè)電路、數(shù)碼管顯示電路、鍵盤(pán)開(kāi)關(guān)電路、蜂鳴器報(bào)警電路等部分。系統(tǒng)硬件框圖如圖 3.1 所示。S18B20 溫度傳感器HS1101 濕度傳感器STC89C52單片機(jī)串行 LED 顯示報(bào)警電路鍵盤(pán)圖 3.1 系統(tǒng)硬件框圖3.23.2 系統(tǒng)軟件設(shè)計(jì)概述系統(tǒng)軟件設(shè)計(jì)概述本章在硬件電路設(shè)計(jì)的基礎(chǔ)上,全面闡述各部分軟件的設(shè)計(jì)思想和具體實(shí)現(xiàn)方法。整個(gè)軟件采用模塊化設(shè)計(jì)結(jié)構(gòu),并利用匯編語(yǔ)言編制。整個(gè)程序由主程序、顯示、報(bào)警、測(cè)量等子程序模塊組成6。3.33.3 主程序模塊設(shè)計(jì)主程序模塊設(shè)計(jì)主程序框圖如圖 3.2 所示。程序初始化包括寄存器設(shè)置、堆棧設(shè)置和相關(guān)單元清零設(shè)置等。主程序存放于 89
29、c52 中,啟動(dòng)后循環(huán)執(zhí)行,不停地進(jìn)行采樣計(jì)算,得出實(shí)際溫、濕度值,并與設(shè)定值進(jìn)行比較,實(shí)現(xiàn)聲光報(bào)警信號(hào)。在主程序是單片機(jī)程序的主體,整個(gè)單片機(jī)端系統(tǒng)軟件的功能的實(shí)現(xiàn)都是在其中完成的。軟件設(shè)計(jì)的主要思路是將采集、接收、顯示燈功能編成獨(dú)立的模塊。 . . . 12 / 55 是 否 是否圖 3.2 主程序流程圖/* 主函數(shù) */*/void main() EA=1; /開(kāi)總中斷 init_t0(); /初始化定時(shí)器 init_t1(); TR0=1; /定時(shí)器開(kāi)始工作 TR1=1; ET0=1; lcd_init() ; /初始化 LCD ok_menu();BEEP=0;while(1) if
30、(key1=0)Key1 鍵按下?顯示濕度Key2 鍵按下?顯示溫度開(kāi)始結(jié)束 . . . 13 / 55 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.43.4 溫度采集模溫度采集模塊程序設(shè)塊程序設(shè)計(jì)計(jì)根據(jù) DS18B20 的通訊協(xié)議,主機(jī)(單片機(jī))控制 DS18B20 完成溫度轉(zhuǎn)換必須經(jīng)過(guò)三個(gè)步驟:每一次讀寫(xiě)
31、之前都要對(duì) DS18B20 進(jìn)行復(fù)位操作,復(fù)位成功后發(fā)送一條 ROM指令,最后發(fā)送 RAM 指令,這樣才能對(duì) DS18B20 進(jìn)行預(yù)定的操作。復(fù)位要求主 CPU 將數(shù)據(jù)線下拉 500 微秒,然后釋放,當(dāng) DS18B20 收到信號(hào)后等待 1660 微秒左右,后發(fā)出 60240 微秒的存在低脈沖,主 CPU 收到此信號(hào)表示復(fù)位成功7。 . . . 14 / 55 否 是圖 3.3 溫度檢測(cè)程序流程DS18B20 中的溫度傳感器可完成對(duì)溫度的測(cè)量,以 12 位轉(zhuǎn)化為例:用 16 位符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供,以 0.0625/LSB 形式表達(dá),其中 S 為符號(hào)位8。圖 3.4 DS18B20
32、溫度值初始化是否成功?初始化從 18B20 讀字節(jié)向 18B20 寫(xiě)字節(jié)開(kāi)始結(jié)束讀取溫度 . . . 15 / 55這是 12 位轉(zhuǎn)化后得到的 12 位數(shù)據(jù),存儲(chǔ)在 18B20 的兩個(gè) 8 比特的 RAM 中,二進(jìn)制中的前面 5 位是符號(hào)位,如果測(cè)得的溫度大于 0,這 5 位為 0,只要將測(cè)到的數(shù)值乘于 0.0625 即可得到實(shí)際溫度;如果溫度小于 0,這 5 位為 1,測(cè)到的數(shù)值需要取反加1 再乘于 0.0625 即可得到實(shí)際溫度(例如+125的數(shù)字輸出為 07D0H,+25.0625的數(shù)字輸出為 0191H-25.0625的數(shù)字輸出為 FF6FH,-55的數(shù)字輸出為 FC90H)9。/*
33、/*溫度測(cè)量* /* /*初始化 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) ; /返回信號(hào),0=presence,1= no presence/* 讀一個(gè)字節(jié) */*/ ReadOneChar(void)unsi
34、gned char i = 0 ;unsigned char dat = 0 ;for (i = 8 ; i 0 ; i-) DQ = 0 ; / 給脈沖信號(hào) dat = 1 ; DQ = 1 ; / 給脈沖信號(hào) if(DQ) . . . 16 / 55 dat |= 0 x80 ; Delay(4) ; return (dat) ;/* 寫(xiě)一個(gè)字節(jié) */*/ WriteOneChar(unsigned char dat) unsigned char i = 0 ; for (i = 8 ; i 0 ; i-) DQ = 0 ; DQ = dat&0 x01 ; Delay(5) ;
35、DQ = 1 ; dat=1 ; /* 讀取溫度 */*/ Read_Temperature(void) Init_DS18B20() ; WriteOneChar(0 xCC) ; / 跳過(guò)讀序號(hào)列號(hào)的操作 WriteOneChar(0 x44) ; / 啟動(dòng)溫度轉(zhuǎn)換 Init_DS18B20() ; WriteOneChar(0 xCC) ; /跳過(guò)讀序號(hào)列號(hào)的操作 WriteOneChar(0 xBE) ; /讀取溫度寄存器 temp_data0 = ReadOneChar() ; /溫度低 8 位 temp_data1 = ReadOneChar() ; /溫度高 8 位 /* 數(shù)據(jù)轉(zhuǎn)
36、換與溫度顯示 */*/ Disp_Temperature() . . . 17 / 55display4=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.53.5 濕度采集模塊濕度采集模塊顯示電路采用四位七段 LCD 數(shù)碼管顯示即 LED 四位七段數(shù)碼管字符型液晶模塊,是目前使用最廣泛的液晶屏之一。LED 四位七段數(shù)
37、碼管字符型液晶模塊是點(diǎn)陣型液晶驅(qū)動(dòng)方便,經(jīng)編碼后顯示容多樣化10。標(biāo)定即顯示當(dāng)下工作狀態(tài),顯示溫濕度。 . . . 18 / 55 是 否圖.3.4 濕度檢測(cè)流程圖由圖 3.5 可知相對(duì)濕度與電容的關(guān)系可看成直線段,所以有相對(duì)濕度RH= .(3.1)2 7163RHC開(kāi)定時(shí) T0,T1是否計(jì)滿 1S?關(guān)閉 T0 并根據(jù)頻率算出濕度值開(kāi)始結(jié)束顯示溫度 . . . 19 / 55圖 3.5 電容值與相對(duì)濕度值的關(guān)系所以有(3.2)551.1038 1.936103.0114103.44.310Fmes HZfHZRHRHRH/*濕度測(cè)量*/軟件延時(shí)/void delays(unsigned int
38、t) 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; TL1 =0 x00; . . . 20 / 55/定時(shí)器 0 中斷服務(wù)程序void int_t0(voi
39、d) interrupt 1 TH0=(65535-50000)/256; TL0=(65535-50000)%256;int_count+; if(int_count=20) 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+T1count*65536; /計(jì)算 1 秒的脈沖個(gè)數(shù) /以下將數(shù)據(jù)格式化,轉(zhuǎn)成 LED 可顯示的 BCD 碼 wet=100-(sum-4
40、000)/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) ; . . . 21 / 55 lcd_wdat(le2+48); lcd_pos(0 x4b) ; lcd_wdat(le1+48); lcd_pos(0 x4c) ; lcd_wdat(le0+48); delays(100); void w
41、endu_Menu () /顯示溫度的菜單 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+ ; writetab() ; /自定義字符寫(xiě)入 CGRAM delay1(5) ; lcd_pos(0 x4d) ; lcd_wdat(0 x00) ; /顯示自定義字符vo
42、id shidu_Menu () /顯示濕度的菜單 uchar m ; lcd_pos(0) ; /設(shè)置顯示位置為第一行的第 1 個(gè)字符 m = 0 ; . . . 22 / 55 while(cdis3m != 0) /顯示字符 lcd_wdat(cdis3m) ; m+ ; lcd_pos(0 x40) ; /設(shè)置顯示位置為第二行第 1 個(gè)字符 m = 0 ; while(cdis4m != 0) lcd_wdat(cdis4m) ; /顯示字符 m+ ; writetab() ; /自定義字符寫(xiě)入 CGRAM delay1(5) ; lcd_pos(0 x4d) ; lcd_wdat(0
43、 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) ; /顯示字符 m+ ; . . . 23 / 553.63.6 數(shù)據(jù)顯示模塊程序設(shè)計(jì)數(shù)據(jù)顯示模塊程序設(shè)計(jì)在日常生活中,大家對(duì)液晶顯示器并不陌生。液晶顯示模塊已作為很多電子產(chǎn)品的
44、通過(guò)器件,如在計(jì)算器、萬(wàn)用表、電子表與很多家用電子產(chǎn)品中都可以看到,顯示的主要是數(shù)字、專用符號(hào)和圖形。在單片機(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);模塊最佳工作電壓:5.0V;字符尺寸:2.954.35(WH)mm。 是 否圖 3.6 液晶顯示程序流程/*/是否忙碌?寫(xiě)指令寫(xiě)數(shù)據(jù)設(shè)置顯示位初始化開(kāi)始結(jié)束顯示
45、. . . 24 / 55/*檢查 LCD 忙狀態(tài)/*lcd_busy 為 1 時(shí),忙,等待。lcd-busy 為 0 時(shí),閑,可寫(xiě)指令與數(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) ; /*寫(xiě)指令數(shù)據(jù)到 LCD/*RS=L,RW=L,E=高脈沖,D0-D7=指令碼。 */*/void lcd_wcmd(uchar cmd) while(lcd_b
46、usy() ; LCD_RS = 0 ; LCD_RW = 0 ; LCD_EN = 0 ; _nop_() ; _nop_() ; P0 = cmd ; delayNOP() ; LCD_EN = 1 ; delayNOP() ; LCD_EN = 0 ; /*/*寫(xiě)顯示數(shù)據(jù)到 LCD */*RS=H,RW=L,E=高脈沖,D0-D7=數(shù)據(jù)。 */*/void lcd_wdat(uchar dat) while(lcd_busy() ; LCD_RS = 1 ; LCD_RW = 0 ; LCD_EN = 0 ; P0 = dat ; . . . 25 / 55 delayNOP() ; L
47、CD_EN = 1 ; delayNOP() ; LCD_EN = 0 ; /* LCD 初始化設(shè)定/*/void lcd_init() delay1(15) ; lcd_wcmd(0 x01) ; /清除 LCD 的顯示容 lcd_wcmd(0 x38) ; /16*2 顯示,5*7 點(diǎn)陣,8 位數(shù)據(jù) delay1(5) ; lcd_wcmd(0 x38) ; delay1(5) ; lcd_wcmd(0 x38) ; delay1(5) ; lcd_wcmd(0 x0c) ; /顯示開(kāi),關(guān)光標(biāo) delay1(5) ; lcd_wcmd(0 x06) ; /移動(dòng)光標(biāo) delay1(5) ;
48、lcd_wcmd(0 x01) ; /清除 LCD 的顯示容 delay1(5) ;/* 設(shè)定顯示位置 */*/void lcd_pos(uchar pos) lcd_wcmd(pos | 0 x80) ; /數(shù)據(jù)指針=80+地址變量/*自定義字符寫(xiě)入 CGRAM */*/void writetab() unsigned char i ; lcd_wcmd(0 x40) ; /寫(xiě) CGRAM for (i = 0 ; i4)|(temp_data1&0 x0f)=0 x32&display1=0 x31) BEEP=1; . . . 27 / 55elseBEEP=0; . .
49、 . 28 / 554 4 系統(tǒng)調(diào)試系統(tǒng)調(diào)試4.14.1 系統(tǒng)調(diào)試用到的工具系統(tǒng)調(diào)試用到的工具4.1.14.1.1 硬件調(diào)試軟件硬件調(diào)試軟件 ProteusProteus 軟件軟件Proteus ISIS 是英國(guó) Labcenter 公司開(kāi)發(fā)的電路分析與實(shí)物仿真軟件。它運(yùn)行于 Windows 操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路,該軟件的特點(diǎn)是:實(shí)現(xiàn)了單片機(jī)仿真和 SPICE 電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機(jī)與其外圍電路組成的系統(tǒng)的仿真、RS232 動(dòng)態(tài)仿真、I2C 調(diào)試器、SPI 調(diào)試器、鍵盤(pán)和 LCD 系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器
50、、邏輯分析儀、信號(hào)發(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 C51 uVision2 等軟件。具有強(qiáng)大的原理圖繪制功能??傊撥浖且豢罴瘑纹瑱C(jī)和 SPICE 分析于一身的仿真軟件,功能極其強(qiáng)大12。圖 4.1. Proteus
51、 ISIS 的工作界面1雙擊桌面上的 ISIS 6 Professional 圖標(biāo)或者單擊屏幕左下方的“開(kāi)始”“程序”“Proteus 6 Professional” “ISIS 6 Professional” 。2Proteus ISIS 的工作界面是一種標(biāo)準(zhǔn)的 Windows 界面。包括:標(biāo)題欄、主菜單、標(biāo)準(zhǔn)工具欄、繪圖工具欄、狀態(tài)欄、對(duì)象選擇按鈕、預(yù)覽對(duì)象方位控 . . . 29 / 55制按鈕、仿真進(jìn)程控制按鈕、預(yù)覽窗口、對(duì)象選擇器窗口、圖形編輯窗口。3. 在圖形編輯窗口完成電路原理圖的編輯和繪制。為了方便作圖坐標(biāo)系統(tǒng)(CO-ORDINATE SYSTEM) 。ISIS 中坐標(biāo)系統(tǒng)的基
52、本單位是 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) 。編輯窗口有點(diǎn)狀的柵格,可以通過(guò) View 菜單的 Grid 命令在打開(kāi)和關(guān)閉間切換。點(diǎn)與點(diǎn)之間的間距由當(dāng)前捕捉的設(shè)置決定。捕捉的尺度可以由 View 菜單的 Snap 命令設(shè)置,或者直接使用快捷鍵 F4、F3、F2 和 CTRL+F1。如圖 4.2 操作界面所示。圖 4.2 操作界面4.1.24.
53、1.2 軟件調(diào)試軟件軟件調(diào)試軟件 KeilKeil 軟件軟件Keil uVision2 是目前使用廣泛的單片機(jī)開(kāi)發(fā)軟件,它集成了源程序編輯和程序調(diào)試于一體,支持匯編、C、PL/M 語(yǔ)言。 這里僅僅介紹 Keil uVision2 的簡(jiǎn)單使用,更詳細(xì)的使用方法見(jiàn)本光盤(pán)單片機(jī)軟件Keil c51Keil 書(shū)籍與資料目錄中的容。 先運(yùn)行光盤(pán)中 單片機(jī)軟件setupsetup.exe 安裝程序,選擇安裝“Eval Version”版進(jìn)行安裝。一直點(diǎn)擊“Yes”或“Next”,直到“Finish”完成。 . . . 30 / 55之后運(yùn)行同目錄中的 Keil uv2 漢化安裝.exe 安裝漢化程序14。
54、裝好后,在桌面上會(huì)產(chǎn)生快捷圖標(biāo),如圖 4.3 所示。圖 4.3 快捷圖標(biāo)點(diǎn)擊桌面快捷圖標(biāo),可以直接進(jìn)入主畫(huà)面。如圖 4.4Keil 主界面所示 圖 4.4 keil 主界面圖 4.5 Keil 系統(tǒng)創(chuàng)建工程在 Keil 系統(tǒng)中,每做個(gè)獨(dú)立的程序,都視為工程(或者叫項(xiàng)目)。首先從菜但的“工程”中“新建工程.”,建立將要做的工程項(xiàng)目15。如圖 4.5Keil系統(tǒng)創(chuàng)建工程所示。 . . . 31 / 55圖 4.6Keil 編輯界面接下來(lái),Keil 環(huán)境要求為 Test 工程選擇一個(gè)單片機(jī)型號(hào);選擇 Atmel 公司的 89C51(雖然使用的是 89C52,但由于 89C52 與 89C52、外部結(jié)
55、構(gòu)完全一樣,所以這里依然選擇“89C52”)?!按_定”后工程項(xiàng)目就算建立了16 點(diǎn)擊“文件”中的“新建”,新建一個(gè)空白文檔;這個(gè)空白文檔就是編寫(xiě)片機(jī)程的場(chǎng)所。在這里可以進(jìn)行編輯、修改等操作。如圖 4.6Keil 編輯界面所示。4.24.2 系統(tǒng)測(cè)試系統(tǒng)測(cè)試4.2.14.2.1 軟件設(shè)計(jì)分析軟件設(shè)計(jì)分析主程序進(jìn)行鍵盤(pán)掃描,單片機(jī)根據(jù)判斷鍵盤(pán)那個(gè)鍵按下,顯示溫度或濕度。如果 key1 鍵按下就調(diào)用溫度檢測(cè)程序,單片機(jī)對(duì) 18B20 進(jìn)行初始化,成功則讀字節(jié),再寫(xiě)入字節(jié),讀取溫度數(shù)據(jù)送到 LED 數(shù)碼管顯示。如果 key2 鍵按下,就調(diào)用濕度顯示程序,開(kāi)啟定時(shí)中斷 T0、T1,T0 進(jìn)行定時(shí),T1
56、對(duì)濕度電路給的頻率計(jì)數(shù),當(dāng)計(jì)滿 1S 時(shí)關(guān)閉 T1,單片機(jī)對(duì)計(jì)的數(shù)進(jìn)行運(yùn)算,的出濕度值,送往液晶顯示17。.2.2.2.2 主要指標(biāo)測(cè)試主要指標(biāo)測(cè)試本系統(tǒng)主要指標(biāo)就在于所測(cè)得的溫濕度的數(shù)據(jù)是否達(dá)到了題目要求,本系統(tǒng)測(cè)量圍為-10-50,濕度為 0-100%;溫度測(cè)量誤差為 0.1,濕度測(cè)量誤差為 2%;在 8 棟 111 測(cè)試溫度為 16.7 度,濕度為 41%18。 . . . 32 / 554.2.34.2.3 測(cè)試結(jié)果測(cè)試結(jié)果通過(guò)測(cè)試,與標(biāo)準(zhǔn)儀器所測(cè)得的溫濕度相比較,可得系統(tǒng)的誤差為信號(hào)傳輸過(guò)程中可能存在誤碼,與誤判。 . . . 33 / 555 5 結(jié)論結(jié)論本溫濕度計(jì)的制作基本上達(dá)到
57、了題目要求的技術(shù)指標(biāo),溫度測(cè)量圍為-10-50,濕度為 0-100%;溫度測(cè)量誤差為 0.1,濕度測(cè)量誤差為 3%;實(shí)現(xiàn)了量程自動(dòng)轉(zhuǎn)換功能。課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn),提出,分析和解決實(shí)際問(wèn)題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過(guò)程.隨著科學(xué)技術(shù)發(fā)展的日新日異,單片機(jī)已經(jīng)成為當(dāng)今計(jì)算機(jī)應(yīng)用中空前活躍的領(lǐng)域,在生活中可以說(shuō)得是無(wú)處不在。因此作為二十一世紀(jì)的大學(xué)來(lái)說(shuō)掌握單片機(jī)的開(kāi)發(fā)技術(shù)是十分重要的。 回顧起此次單片機(jī)課程設(shè)計(jì),我仍感慨頗多,的確,從選題到定稿,從理論到實(shí)踐,在接近一星期的日子里,可以說(shuō)得是苦多于甜,但是可以學(xué)到很多很多的的東西,同時(shí)不僅可以鞏
58、固了以前所學(xué)過(guò)的知識(shí),而且學(xué)到了很多在書(shū)本上所沒(méi)有學(xué)到過(guò)的知識(shí)。通過(guò)這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過(guò)程中遇到問(wèn)題,可以說(shuō)得是困難重重,難免會(huì)遇到過(guò)各種各樣的問(wèn)題,同時(shí)在設(shè)計(jì)的過(guò)程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過(guò)的知識(shí)理解得不夠深刻,掌握得不夠牢固,比如說(shuō)不懂一些元器件的使用方法,對(duì)單片機(jī)匯編語(yǔ)言掌握得不好通過(guò)這次課程設(shè)計(jì)之后,一定把以前所學(xué)過(guò)的知識(shí)重新溫故。 . . . 34 / 55參考文獻(xiàn)參考文獻(xiàn)1 康華光等.電子
59、技術(shù)基礎(chǔ)M. :高等教育.2 介華.電子技術(shù)課程設(shè)計(jì)指導(dǎo)M. :高等教育.3 郭天祥.新概念 51 單片機(jī) C 語(yǔ)言教程:入門(mén)、提高、開(kāi)發(fā)、拓展全攻略M.電子工業(yè),2009.4 黃智偉全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽制作實(shí)訓(xùn)M:航空航天大學(xué),2007.5 黃智偉全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽系統(tǒng)設(shè)計(jì)M:航空航天大學(xué),2006.6 黃智偉全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽技能訓(xùn)練M:航空航天大學(xué),2007.7ckmann J P, Kamphor st S O, Ruelle D. Recurr ence Plots of Dynamical Systems J . Europhys. Lett. , 1987,4( 9)
60、: 9732977.8 黃智偉全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽 常用電路模塊制作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.SST Components Industries2008M110,7879.13 Analog Devices Lnc AD590 . Analog Dviceslnc1997M 112.14 Kaminsky, W.J.Davidson, E.S.Special Feature: D
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度毛石石材工程設(shè)計(jì)合同2篇
- 二零二五年度家庭和睦保障-夫妻暫時(shí)分居協(xié)議3篇
- 安全生產(chǎn)事故隱患排查監(jiān)管責(zé)任制度模版(2篇)
- 安全監(jiān)督副站長(zhǎng)崗位職責(zé)模版(2篇)
- 2025年運(yùn)動(dòng)會(huì)開(kāi)幕式致辭稿(2篇)
- 二零二五年度水利工程車(chē)輛土石方運(yùn)輸與進(jìn)度款支付合同3篇
- 二零二五年度文化企業(yè)股東權(quán)益保護(hù)與公司運(yùn)營(yíng)協(xié)議書(shū)3篇
- 2025年外研銜接版第二冊(cè)地理下冊(cè)階段測(cè)試試卷
- 2024年綠色養(yǎng)生酒訂購(gòu)協(xié)議書(shū)版B版
- 二零二五年度商場(chǎng)停車(chē)場(chǎng)智能化管理系統(tǒng)合同2篇
- Unit4 What can you do Part B read and write (說(shuō)課稿)-2024-2025學(xué)年人教PEP版英語(yǔ)五年級(jí)上冊(cè)
- 2024年度員工試用期勞動(dòng)合同模板(含保密條款)3篇
- DB23-T 3840-2024非煤礦山隱蔽致災(zāi)因素普查治理工作指南
- 機(jī)關(guān)事業(yè)單位財(cái)務(wù)管理制度(六篇)
- 人教版六年級(jí)上冊(cè)數(shù)學(xué)第八單元數(shù)學(xué)廣角數(shù)與形單元試題含答案
- 叉車(chē)租賃合同模板
- 河道旅游開(kāi)發(fā)合同
- 住房公積金稽核審計(jì)工作方案例文(4篇)
- 口腔門(mén)診醫(yī)療風(fēng)險(xiǎn)規(guī)避
- 建筑公司勞務(wù)合作協(xié)議書(shū)范本
- Unit 2 My Schoolbag ALets talk(說(shuō)課稿)-2024-2025學(xué)年人教PEP版英語(yǔ)四年級(jí)上冊(cè)
評(píng)論
0/150
提交評(píng)論