版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、畢 業(yè) 論 文 正 文 第39頁哈爾濱職業(yè)技術(shù)學(xué)院印制摘 要在我的論文中,是以AT89C51單片機(jī)為核心的,對(duì)溫度的檢測(cè)與顯示進(jìn)行了簡(jiǎn)單的設(shè)計(jì)與闡述。本次設(shè)計(jì)可以說是軟硬結(jié)合,又以硬件為主。電子溫度計(jì)溫度采集系統(tǒng)由主控制器、溫度采集電路、溫度顯示電路、報(bào)警控制電路及鍵盤輸入控制電路組成。它利用單片機(jī)AT89C51做控制及數(shù)據(jù)處理器、智能溫度傳感器DS18B20做溫度檢測(cè)器、LED數(shù)碼顯示管做溫度顯示輸出設(shè)備。硬件電路比較簡(jiǎn)單,成本較低,測(cè)溫范圍大,測(cè)量精度高,讀數(shù)顯示直觀,使用方便。關(guān)鍵詞:環(huán)控系統(tǒng);數(shù)字;溫度;傳感器;單片機(jī);控制目 錄 TOC o 1-3 h z u HYPERLINK l
2、 _Toc358356629 一、一線總線介紹 PAGEREF _Toc358356629 h 3 HYPERLINK l _Toc358356630 (一)一線總線器件工作原理 PAGEREF _Toc358356630 h 3 HYPERLINK l _Toc358356633 (二)一線總線協(xié)議簡(jiǎn)介 PAGEREF _Toc358356633 h 5 HYPERLINK l _Toc358356634 二、電子溫度計(jì)硬件電路設(shè)計(jì) PAGEREF _Toc358356634 h 7 HYPERLINK l _Toc358356635 (一)方案確定 PAGEREF _Toc35835663
3、5 h 7 HYPERLINK l _Toc358356639 (二)溫度采集電路設(shè)計(jì) PAGEREF _Toc358356639 h 8 HYPERLINK l _Toc358356642 (三)單片機(jī)控制電路設(shè)計(jì) PAGEREF _Toc358356642 h 10 HYPERLINK l _Toc358356644 (四)顯示電路設(shè)計(jì) PAGEREF _Toc358356644 h 12 HYPERLINK l _Toc358356645 (五)報(bào)警控制電路設(shè)計(jì) PAGEREF _Toc358356645 h 13 HYPERLINK l _Toc358356646 (六)電源電路設(shè)計(jì)
4、PAGEREF _Toc358356646 h 14 HYPERLINK l _Toc358356647 (七)看門狗電路 PAGEREF _Toc358356647 h 14 HYPERLINK l _Toc358356648 三、電子溫度計(jì)的溫度采集系統(tǒng)程序設(shè)計(jì) PAGEREF _Toc358356648 h 16 HYPERLINK l _Toc358356649 (一)主程序設(shè)計(jì) PAGEREF _Toc358356649 h 16 HYPERLINK l _Toc358356650 (二)子程序設(shè)計(jì) PAGEREF _Toc358356650 h 16 HYPERLINK l _To
5、c358356652 四、系統(tǒng)調(diào)試與仿真 PAGEREF _Toc358356652 h 21 HYPERLINK l _Toc358356653 (一)系統(tǒng)調(diào)試 PAGEREF _Toc358356653 h 21 HYPERLINK l _Toc358356654 (二)系統(tǒng)的仿真 PAGEREF _Toc358356654 h 22 HYPERLINK l _Toc358356655 (三)系統(tǒng)的運(yùn)行 PAGEREF _Toc358356655 h 22 HYPERLINK l _Toc358356656 結(jié) 論 PAGEREF _Toc358356656 h 23 HYPERLINK
6、l _Toc358356657 參考文獻(xiàn) PAGEREF _Toc358356657 h 24 HYPERLINK l _Toc358356658 附錄A 電路圖 PAGEREF _Toc358356658 h 25 HYPERLINK l _Toc358356659 附錄B 程序代碼 PAGEREF _Toc358356659 h 26 HYPERLINK l _Toc358356660 附錄C 元件清單 PAGEREF _Toc358356660 h 38 HYPERLINK l _Toc358356661 致 謝 PAGEREF _Toc358356661 h 39緒 論地鐵是一類特殊的
7、建筑,是由多個(gè)車站通過隧道連接成的一個(gè)整體。地鐵主體建筑(車站和行車隧道)一般位于地下數(shù)米至數(shù)十米深處,其上覆蓋土層,是一個(gè)相對(duì)封閉的場(chǎng)所。內(nèi)部空間(包括隧道和站臺(tái),站廳等)較大,但與外界連通的開口相對(duì)較少,只有少量的通風(fēng)井和車站的出入口與外界直接連通,其他部分基本上與大氣隔絕。由于功能上的要求,地鐵一般是全年運(yùn)行的,在車站和隧道內(nèi)有大量的人流和車流,而且流量在不斷地變化。地鐵運(yùn)營和乘客進(jìn)出站口揮發(fā)出大量的熱量,使空氣濕度增大,同時(shí)還產(chǎn)生一些有害氣體,如不及時(shí)排除就會(huì)降低地鐵的運(yùn)營環(huán)境。同時(shí),當(dāng)列車因非火災(zāi)事故阻塞在區(qū)間隧道內(nèi)時(shí),因不能產(chǎn)生“活塞效應(yīng)”而無法提供新鮮空氣而導(dǎo)致停留在車廂內(nèi)的乘客
8、和向安全地疏散的乘客感到不舒適。隨著人們生活水平的提高,地鐵必須給乘客提供一個(gè)舒適度高的環(huán)境。因此,建立一套完整的環(huán)控系統(tǒng)不僅是乘客舒適乘車的要求也是確保地鐵安全運(yùn)營的要求。地鐵環(huán)控系統(tǒng)主要由以下幾部分組成:隧道通風(fēng)系統(tǒng);車站空調(diào)通風(fēng)系統(tǒng)(大系統(tǒng));車站管理用房和設(shè)備用房空調(diào)通風(fēng)系統(tǒng)(小系統(tǒng));空調(diào)制冷循環(huán)水系統(tǒng);隧洞口空氣幕系統(tǒng);折返線通風(fēng)系統(tǒng)等。環(huán)控系統(tǒng)的作用是控制和調(diào)節(jié)地鐵內(nèi)的熱環(huán)境,保證地鐵內(nèi)的IAQ(室內(nèi)空氣品質(zhì))在一個(gè)合理舒適的范圍之內(nèi),滿足乘客和工作人員的舒適性、健康和安全需求,滿足設(shè)備的工作要求。此外,它應(yīng)當(dāng)在事故及災(zāi)害情況下進(jìn)行通風(fēng)、排煙和排熱,起到生命保障及輔助滅火作用。
9、環(huán)控系統(tǒng)的運(yùn)行模式分為開式運(yùn)行模式、閉式運(yùn)行模式、屏蔽門模式3種形式。設(shè)置站臺(tái)屏蔽門,就是通過在地鐵車站的站臺(tái)候車區(qū)與行車軌道之間設(shè)置屏蔽門裝置,將地鐵車站與區(qū)間隧道從空間上分隔開來,將車站和區(qū)間分隔成兩個(gè)不同的空氣環(huán)境區(qū)域。站臺(tái)屏蔽門可以減少列車活塞風(fēng)對(duì)車站站臺(tái)環(huán)境的影響,列車運(yùn)行產(chǎn)生的熱量大部分通過設(shè)置在車站端部的活塞風(fēng)道及車站行車道頂部和站臺(tái)下排熱風(fēng)道直接排放到地面,因而可以阻止大部分的列車散熱量進(jìn)入車站。溫度是人們?nèi)粘I钪薪佑|最多的物理量,人們的日常生活、動(dòng)植物的生存繁衍和周圍環(huán)境的溫度息息相關(guān),石油、化工、冶金、紡織、機(jī)械制造、航空航天、制藥、煙草、檔案保管、糧食存初等領(lǐng)域?qū)囟纫?/p>
10、有著較高的要求,還有,對(duì)于地鐵中更是不可忽略的部分。例如:印刷車間的溫度控制水平對(duì)印刷質(zhì)量有很大的影響;為防止庫存武器彈藥、金屬材料等物品霉?fàn)€、生銹,必須保持環(huán)境溫度不能過高和干燥;而水果、種子、肉類等的保存也需要保證一定的溫度;在礦山、棉麻、塑料、食品生產(chǎn)加工等企業(yè)的生產(chǎn)環(huán)境中,如果空氣溫度不適應(yīng),極易發(fā)生不良反應(yīng)。溫度是溫度監(jiān)控系統(tǒng)中最基本、最為核心的衡量指標(biāo),也是測(cè)溫系統(tǒng)中最為重要的被控參數(shù),因此對(duì)溫度進(jìn)行準(zhǔn)確的檢測(cè)一直是一個(gè)重要的研究課題。因此,測(cè)量溫度的儀器在測(cè)溫系統(tǒng)中占有至關(guān)重要的地位。隨著科學(xué)技術(shù)的發(fā)展和人們生活水平的提高,單片機(jī)控制無疑是人們追求的目標(biāo)之一,他給人們帶來的方便也
11、是不可否定的,但是人們的要求越來越高,要為現(xiàn)代人工作、科研、生活提供更好的更方便的設(shè)施就需要從單片機(jī)技術(shù)入手,一切向著數(shù)字化控制,智能化控制方向發(fā)展。所以,本次設(shè)計(jì)是為了對(duì)于地鐵內(nèi)環(huán)控系統(tǒng)內(nèi)溫度采集裝置而設(shè)計(jì)的。一、一線總線介紹一線總線(1-Wire Bus)技術(shù)采用單根信號(hào)線,既傳輸時(shí)鐘,又傳輸數(shù)據(jù),而且數(shù)據(jù)傳輸是雙向的,其線路簡(jiǎn)單、硬件開銷少、成本低廉、軟件設(shè)計(jì)更方便,因此具有無可比擬的優(yōu)勢(shì)(一)一線總線器件工作原理1. 一線總線技術(shù)簡(jiǎn)介目前,常用的微機(jī)與外設(shè)串行總線主要有我們熟知的I2C總線,SPI總線,SCI總線等等。其中I2C總線是以同步串行2線方式進(jìn)行通信(一條時(shí)鐘線,一條數(shù)據(jù)線)
12、,SPI總線是以同步串行3線方式進(jìn)行通信(一條時(shí)鐘線,一條數(shù)據(jù)輸入線,一條數(shù)據(jù)輸出線),SCI總線是以異步方式進(jìn)行通信(一條數(shù)據(jù)輸入線,一條數(shù)據(jù)輸出線)。這些總線至少需要有兩條或兩條以上的信號(hào)線。近年來,美國的達(dá)拉斯半導(dǎo)體公司(DALLAS SEMICONDUCTOR)推出了一線總線(1-Wire Bus)技術(shù),與上述的總線不同,它采用一單根信號(hào)線,既傳輸時(shí)鐘,又傳輸數(shù)據(jù),而且數(shù)據(jù)傳輸是雙向的,其具有線路簡(jiǎn)單,減少硬件開銷,成本低廉,便于總線的擴(kuò)展和維護(hù)等優(yōu)點(diǎn)微控制器微控制器(主機(jī))一線總線器件#1一線總線器件#2一線總線器件#3一線總線器件#4圖1-1 一線總線硬件接口示意圖一線總線要求外接
13、一個(gè)約4.7k的上拉電阻,這樣,當(dāng)總線閑置時(shí),其狀態(tài)為高電平。主機(jī)和從機(jī)之間的通信總體上說是通過以下3個(gè)步驟完成的:初始化1-wire器件;識(shí)別1-wire器件;交換數(shù)據(jù)。由于二者是主從結(jié)構(gòu),只有主機(jī)呼叫從機(jī)時(shí),從機(jī)才能應(yīng)答,因此主機(jī)訪問1-wire器件都必須嚴(yán)格遵循一線總線命令序列:初始化、ROM命令、功能命令9。如果出現(xiàn)順序混亂,1-wire器件就不會(huì)響應(yīng)主機(jī)(搜索ROM命令,報(bào)警搜索命令除外)。通信信號(hào)方式要求所有的一線總線器件要求遵循嚴(yán)格的通信協(xié)議,以保證數(shù)據(jù)的完整性。2. 一線總線工作原理顧名思義,一線總線只有一根數(shù)據(jù)線,系統(tǒng)中的數(shù)據(jù)交換、控制都在這根線上完成。設(shè)備(主機(jī)或從機(jī))通過
14、一個(gè)漏極開路或三態(tài)端口連至該數(shù)據(jù)線,這樣允許設(shè)備不發(fā)送數(shù)據(jù)時(shí)釋放總線,以便其他設(shè)備使用。其內(nèi)部等效電路如下圖1-2所示。圖1-2 一線總線硬件接口示意圖一線總線要求外接一個(gè)約4.7k的上拉電阻,這樣,當(dāng)總線閑置時(shí),其狀態(tài)為高電平。主機(jī)和從機(jī)之間的通信總體上說是通過以下3個(gè)步驟完成的:初始化1-wire器件;識(shí)別1-wire器件;交換數(shù)據(jù)。由于二者是主從結(jié)構(gòu),只有主機(jī)呼叫從機(jī)時(shí),從機(jī)才能應(yīng)答,因此主機(jī)訪問1-wire器件都必須嚴(yán)格遵循一線總線命令序列:初始化、ROM命令、功能命令9。如果出現(xiàn)順序混亂,1-wire器件就不會(huì)響應(yīng)主機(jī)(搜索ROM命令,報(bào)警搜索命令除外)。通信信號(hào)方式要求所有的一線總
15、線器件要求遵循嚴(yán)格的通信協(xié)議,以保證數(shù)據(jù)的完整性。(二)一線總線協(xié)議簡(jiǎn)介一線總線系統(tǒng)網(wǎng)絡(luò)的主機(jī)和從機(jī)之間,遵循一線總線協(xié)議進(jìn)行通信。目前大多數(shù)傳感器系統(tǒng)是采用放大、傳輸、數(shù)模變換這種處理模式。這種模式中傳輸?shù)姆绞讲捎貌⒖诨虿捎么?,這兩種方式一般要占用數(shù)根數(shù)據(jù)/控制線,限制了單片機(jī)使用功能的擴(kuò)展10。一線總線協(xié)議就解決了這種問題。數(shù)字式傳感器的核心之一就是采用什么協(xié)議能最大限度的高速安全的傳輸數(shù)據(jù),另外就是如何更好的節(jié)省硬件資源。一線總線協(xié)議通過一根總線實(shí)現(xiàn)主設(shè)備對(duì)從設(shè)備的控制(主設(shè)備往往是微控器等),一線總線器件在采用這種工作方式時(shí)就充當(dāng)著從設(shè)備的作用11。由于只有一根線,并且沒有譯碼功能,
16、所以這些器件是一線總線系統(tǒng)唯一的從設(shè)備,所有的數(shù)據(jù)和命令都在這根總線上傳送,數(shù)據(jù)和命令字節(jié)傳送順序是從低位到高位。為了使其它的設(shè)備也能使用這根線,一線總線協(xié)議通過一個(gè)三態(tài)門轉(zhuǎn)換傳輸狀態(tài),使得每一個(gè)設(shè)備在不傳送數(shù)據(jù)時(shí)空出該數(shù)據(jù)線給其它設(shè)備12。因?yàn)橐痪€總線在外部有一個(gè)上拉電阻,所以在總線空閑時(shí)是高電平。為保證信號(hào)的完整性,一線總線協(xié)議定義了以下幾種信號(hào):復(fù)位脈沖、存在脈沖、讀寫0或1。除存在脈沖外,其它的信號(hào)均由主設(shè)備發(fā)出。RX和TX分別是內(nèi)部數(shù)據(jù)的發(fā)送和接收端,外界的環(huán)境量變化引起敏感膜的變化,產(chǎn)生的電信號(hào)被編碼成數(shù)字量,存儲(chǔ)在專用寄存器當(dāng)中,經(jīng)由DQ端讀入到單片機(jī)當(dāng)中。主設(shè)備給低電平并保持4
17、80s就空出總線并進(jìn)入接收模式RX。此時(shí)上拉電阻器使總線為高電平,即空閑狀態(tài)。一旦一線總線器件檢測(cè)到這一上升沿,就會(huì)等待15-60s,并給出存在脈沖使總線保持60-240s的低電平。而寫操作均在讀、寫時(shí)隙之間進(jìn)行,在每個(gè)時(shí)隙中,系統(tǒng)只傳送一個(gè)二進(jìn)制位。二、電子溫度計(jì)硬件電路設(shè)計(jì)(一)方案確定1.傳感器部分在測(cè)溫系統(tǒng)中,傳統(tǒng)的測(cè)溫方法是將模擬信號(hào)遠(yuǎn)距離采樣進(jìn)行AD轉(zhuǎn)換,而為了獲得較高的測(cè)溫精度,就必須采用措施解決由長(zhǎng)線傳輸測(cè)量切換及放大電路零點(diǎn)漂移等造成的誤差補(bǔ)償問題。采用數(shù)字溫度芯片DS18B20測(cè)量溫度,輸出信號(hào)全數(shù)字化。便于單片機(jī)處理及控制,省去傳統(tǒng)的測(cè)溫方法的很多外圍電路。且該芯片的物理
18、化學(xué)性很穩(wěn)定,它能用做工業(yè)測(cè)溫元件,此元件線形較好。在0100攝氏度時(shí),最大線形偏差小于1攝氏度。DS18B20的最大特點(diǎn)之一采用了單總線的數(shù)據(jù)傳輸,由數(shù)字溫度計(jì)DS1820和微控制器AT89C51構(gòu)成的溫度測(cè)量裝置,它直接輸出溫度的數(shù)字信號(hào),可直接與計(jì)算機(jī)連接。這樣,測(cè)溫系統(tǒng)的結(jié)構(gòu)就比較簡(jiǎn)單,體積也不大,且由于AT89C51可以帶多個(gè)DSB1820,因此可以非常容易實(shí)現(xiàn)多點(diǎn)測(cè)量。輕松的組建傳感器網(wǎng)絡(luò)。2.主控制部分此方案采用AT89C51八位單片機(jī)實(shí)現(xiàn)。單片機(jī)軟件編程的自由度大,可通過編程實(shí)現(xiàn)各種各樣的算術(shù)算法和邏輯控制。而且體積小,硬件實(shí)現(xiàn)簡(jiǎn)單,安裝方便。既可以單獨(dú)對(duì)多DS18B20控制工
19、作,還可以與PC機(jī)通信。運(yùn)用主從分布式思想,由一臺(tái)上位機(jī)(PC微型計(jì)算機(jī)),下位機(jī)(單片機(jī))多點(diǎn)溫度數(shù)據(jù)采集,組成兩級(jí)分布式多點(diǎn)溫度測(cè)量的巡回檢測(cè)系統(tǒng),實(shí)現(xiàn)遠(yuǎn)程控制。另外AT89C51在工業(yè)控制上也有著廣泛的應(yīng)用,編程技術(shù)及外圍功能電路的配合使用都很成熟。3.系統(tǒng)方案由于PC機(jī)不能與DS18B20直接連接,所以使用不方便。因?yàn)槠浣Y(jié)構(gòu)復(fù)雜,穩(wěn)定性不強(qiáng)不能在任何條件下長(zhǎng)期工作,且PC機(jī)體積龐大,攜帶不便。而AT89C51可與DS18B20直接工作,硬件實(shí)現(xiàn)簡(jiǎn)單,系統(tǒng)穩(wěn)定,適合各種環(huán)境下應(yīng)用。按照系統(tǒng)設(shè)計(jì)功能的要求,系統(tǒng)由5個(gè)模塊組成:主控制器、溫度采集電路1、溫度顯示電路、報(bào)警控制電路、看門狗電路
20、。電子溫度計(jì)總體電路結(jié)構(gòu)框圖如圖2-1所示單單片機(jī)溫度傳感器電源顯示電路看門狗電路報(bào)警電路圖2-1 電子溫度計(jì)硬件統(tǒng)結(jié)構(gòu)框圖采用智能溫度傳感器(DS18B20)采集環(huán)境溫度并進(jìn)行簡(jiǎn)單的模數(shù)轉(zhuǎn)換;單片機(jī)(AT89C51)執(zhí)行程序?qū)囟葌鞲衅鱾鬏數(shù)臄?shù)據(jù)進(jìn)行進(jìn)一步的分析處理,轉(zhuǎn)換成環(huán)境對(duì)應(yīng)的溫度值,通過I/O口輸出到數(shù)碼顯示管(LED)顯示;由鍵盤輸入控制選擇某采集電路檢測(cè)溫度及顯示;報(bào)警電路對(duì)設(shè)定的最高最低報(bào)警溫度進(jìn)行監(jiān)控報(bào)警。(二)溫度采集電路設(shè)計(jì)溫度采樣處理電路由溫度傳感器、放大電路、A/D轉(zhuǎn)換電路等組成。采用分塊結(jié)構(gòu)的溫度采樣處理電路,其硬件電路結(jié)構(gòu)復(fù)雜,也不便于數(shù)據(jù)的處理。采用智能溫度傳感
21、器采樣處理電路,能夠方便的進(jìn)行溫度的采集及簡(jiǎn)單的數(shù)據(jù)處理。并且可以達(dá)到設(shè)計(jì)的技術(shù)指標(biāo)要求。本系統(tǒng)選擇智能溫度傳感器DS18B20作為溫度采集電路的核心器件。由DS18B20及輔助電路構(gòu)成溫度采集電路。1.DS18B20簡(jiǎn)介(1)、DS18B20的性能特點(diǎn)DS18B20是美國DALLAS半導(dǎo)體公司推出的一種改進(jìn)型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等溫度傳感器相比,它能夠直接讀出被測(cè)溫度,并可根據(jù)實(shí)際要求通過簡(jiǎn)單的編程實(shí)現(xiàn)912位的數(shù)字值讀數(shù)方式。它的測(cè)溫精度可達(dá)到0.0625/LSB。它的測(cè)溫范圍是-55+125(2)、DS18B20供電方式外部電源供電方式是DS18B20最佳的工作方式,工作穩(wěn)定
22、可靠,抗干擾能力強(qiáng),而且電路也比較簡(jiǎn)單,可以開發(fā)出穩(wěn)定可靠的多點(diǎn)溫度監(jiān)控系統(tǒng)。在外接電源方式下,可以充分發(fā)揮DS18B20寬電源電壓范圍的優(yōu)點(diǎn),即使電源電壓VCC降到3V時(shí),依然能夠保證測(cè)量精度。所以本系統(tǒng)采用外部電源供電方式。在外部電源供電方式下,DS18B20工作電源由VDD引腳接入,此時(shí)I/O線不需要強(qiáng)上拉,不存在電源電流不足的問題,可以保證轉(zhuǎn)換精度,同時(shí)在總線上可以掛接任意多個(gè)DS18B20傳感器,組成多點(diǎn)測(cè)溫系統(tǒng)。外部電源供電方式如圖2-2所示。圖2-2 外部電源供電方式2.溫度采集電路結(jié)構(gòu)溫度采集電路結(jié)構(gòu)如圖2-3所示。圖中給出了溫度采集電路,1只智能溫度傳感器DS18B20的信號(hào)
23、輸出端都連接到單片機(jī)的P1.7端,電阻R6作為上拉電阻。如果需要增加,可以在P1.7端再連接更多的智能溫度傳感器DS18B20。工作時(shí),由程序控制讀取某智能溫度傳感器DS18B20采集的溫度數(shù)據(jù),送單片機(jī)處理。圖2-3 電子溫度計(jì)溫度采集電路(三)單片機(jī)控制電路設(shè)計(jì)1.單片機(jī)芯片選擇MCS8031和AT89C51都具有4個(gè)8位I/O接口,但MCS8031沒有內(nèi)部程序存儲(chǔ)器,需要外接,增加了電路的復(fù)雜性;AT89C2051和AT89C51都具有Flash ROM,可以省去外接程序存儲(chǔ)器;但AT89C2051接口少,不利于功能擴(kuò)展;故選用AT89C51。2.AT89C51單片機(jī)工作基本電路設(shè)計(jì)AT
24、89C51單片機(jī)正常工作,必須連接基本電路。基本電路包括晶振電路和復(fù)位電路。(1)晶振電路單片機(jī)的時(shí)鐘信號(hào)通常有兩種產(chǎn)生方式:一是內(nèi)部時(shí)鐘方式,二是外部時(shí)鐘方式。本設(shè)計(jì)采用內(nèi)部時(shí)鐘方式,在單片機(jī)的XTAL1和XTAL2引腳外接石英晶體(簡(jiǎn)稱晶振),作為單片機(jī)內(nèi)部振蕩電路的負(fù)載,構(gòu)成自激振蕩器,可在單片機(jī)內(nèi)部產(chǎn)生時(shí)鐘脈沖信號(hào)。(2)復(fù)位電路復(fù)位是使單片機(jī)處于某種確定的初始狀態(tài)。單片機(jī)工作從復(fù)位開始。本設(shè)計(jì)采用復(fù)位電路。電路如圖2-4中所示圖2-4 單片機(jī)控制電路(四)顯示電路設(shè)計(jì)顯示電路采用LED數(shù)碼管顯示。LED數(shù)碼顯示管有靜態(tài)顯示方式和動(dòng)態(tài)顯示方式,本系統(tǒng)采用串行輸出的靜態(tài)顯示方式。1.LE
25、D數(shù)碼顯示管靜態(tài)顯示工作原理LED顯示器工作于靜態(tài)顯示方式時(shí),各位的陰極(或陽極)選擇線連接在一起并接地(或+5V);每位的段碼線分別與1個(gè)8位的鎖存器輸出連接。2.顯示電路結(jié)構(gòu)顯示電路由單片機(jī)AT89C51的P3.0端作數(shù)據(jù)輸出,連接到低位74LS164的數(shù)據(jù)輸入引腳端,其余2片74LS164的數(shù)據(jù)輸入端分別接到它前面一位74LS164的數(shù)據(jù)輸出端的最高位引腳端。顯示電路如圖2-5所示。圖2-5顯示電路結(jié)構(gòu)3.顯示電路工作過程AT89C51單片機(jī)工作在串行口方式0下(移位寄存器方式),P3.0(RXD)為數(shù)據(jù)輸出端,P3.1(TXD)為移位脈沖輸出端,P1.4為74LS164允許輸出控制端。
26、串行口發(fā)送緩沖區(qū)的數(shù)據(jù)在移位脈沖的作用下,一位一位地從P3.0口移入到74LS164中,并在控制信號(hào)的控制作用下,通過LED數(shù)碼顯示管顯示。(五)報(bào)警控制電路設(shè)計(jì)1.報(bào)警控制電路結(jié)構(gòu)報(bào)警控制電路由單片機(jī)AT89C51的P3.7端作輸出,通過一個(gè)限流電阻與三極管C945的基極相連接。報(bào)警控制電路如圖2-6所示。圖2-6 報(bào)警工作電路2.報(bào)警控制電路工作過程(1)壓電蜂鳴器工作原理壓電蜂鳴器以壓電陶瓷制作而成。壓電陶瓷是一類有將壓力與電流相互轉(zhuǎn)換能力的特殊陶瓷。當(dāng)壓電陶瓷在一定方向上受到一個(gè)壓力使其晶體結(jié)構(gòu)發(fā)生形變時(shí),它就會(huì)在內(nèi)部產(chǎn)生一個(gè)電流,電流的變化與壓力的變化密切相關(guān)。反之,當(dāng)在壓電陶瓷上加
27、上一定頻率的電壓,就會(huì)在內(nèi)部產(chǎn)生一定頻率的電流,從而就會(huì)引起壓電陶瓷微小形變,這一形變帶動(dòng)空氣發(fā)生振動(dòng)。(2)報(bào)警控制電路工作過程報(bào)警控制信號(hào)由單片機(jī)AT89C51的P3.7端輸出,通過一個(gè)限流電阻加到三極管C945的基極。當(dāng)P3.7端的輸出信號(hào)發(fā)生變化時(shí),則三極管C945將交替的工作于截止、飽和狀態(tài),形成高低電平的波,從而使壓電蜂鳴器發(fā)出聲音。(六)電源電路設(shè)計(jì)電源電路由變壓器、單相橋式整流電路、濾波電路和三端穩(wěn)壓電路構(gòu)成。其電路圖如圖2-7所示,圖中“output”端輸出為+5V。圖2-7 電源電路電子設(shè)備中常使用輸出電壓固定的集成穩(wěn)壓器。在本系統(tǒng)中,要求電源電壓為+5V,由于三端式穩(wěn)壓器
28、輸出電壓固定,故在設(shè)計(jì)中選擇三端式穩(wěn)壓器L7805。根據(jù)有效值與峰-峰值的關(guān)系選擇220V/6V的變壓器。根據(jù)經(jīng)驗(yàn)選擇電解電容,其容值分別為C4=220F、C5=47F;C6、C7為高頻濾波電容,均選0.1F的無極性電容。根據(jù)FG1112004正向電流為5mA及管壓降為+2V,選擇限流電阻R5= 680。(七) 看門狗電路圖2-8 看門狗電路本設(shè)計(jì)為單片機(jī)電路添加一個(gè)外部看門狗電路,定時(shí)查詢單片機(jī)的工作狀態(tài),一旦發(fā)現(xiàn)異常即對(duì)單片機(jī)延時(shí)重起,以保證系統(tǒng)安全可靠的運(yùn)行。其電路如圖2-8所示。三、電子溫度計(jì)的溫度采集系統(tǒng)程序設(shè)計(jì)(一)主程序設(shè)計(jì)主程序主要功能是控制調(diào)用子程序,實(shí)現(xiàn)溫度的實(shí)時(shí)顯示、讀出
29、并處理DS18B20的測(cè)量溫度值(溫度測(cè)量每1s進(jìn)行一次)。其程序流程圖如圖3-1所示。調(diào)用顯示子程序調(diào)用顯示子程序1s到?初次上電?讀出溫度值溫度計(jì)算處理顯示數(shù)據(jù)刷新NYYN初始化發(fā)出報(bào)警YN溫度超過報(bào)警值?調(diào)用鍵盤掃描子程序發(fā)出溫度轉(zhuǎn)換開始命令圖3-1 電子溫度計(jì)主程序流程圖(二)子程序設(shè)計(jì)1.DS18B20的通信協(xié)議根據(jù)DS18B20的通訊協(xié)議,主機(jī)(單片機(jī)AT98C51)控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過三個(gè)步驟:每一次讀寫之前都要對(duì)DS18B20進(jìn)行初始化操作,初始化成功后發(fā)送一條存儲(chǔ)器操作命令(ROM指令),最后處理數(shù)據(jù)(發(fā)送RAM指令),這樣才能對(duì)DS18B20進(jìn)行預(yù)定的操作
30、。所用各ROM、RAM操作指令分別如表3-1、表3-2所示。表3-1 ROM指令表指令約定代碼功能讀ROM33H讀DS18B20溫度傳感器ROM中的編碼(即64位地址)符合ROM55H發(fā)出此命令之后,接著發(fā)出64位ROM編碼,訪問單總線上與該編碼相對(duì)應(yīng)的DS18B20使之做出響應(yīng),為下一步對(duì)該DS18B20的讀寫做準(zhǔn)備.搜索ROM0F0H用于確定掛接在同一總線上DS18B20的個(gè)數(shù)和識(shí)別64位ROM地址。為操作各器件作好準(zhǔn)備。跳過ROM0CCH忽略64位ROM地址,直接向DS18B20發(fā)溫度變換命令。適用于單片工作。告警搜索命令0ECH執(zhí)行后溫度超過設(shè)定值上限或下限的片子才能做出響應(yīng)。表3-2
31、 RAM指令表指令約定代碼功能溫度轉(zhuǎn)換44H啟動(dòng)DS18B20進(jìn)行溫度轉(zhuǎn)換,12位轉(zhuǎn)換時(shí)最長(zhǎng)為750ms(9位為93.75ms)。結(jié)果存入內(nèi)部9字節(jié)RAM中。讀暫存器0BEH讀內(nèi)部RAM中9字節(jié)的內(nèi)容。寫暫存器4EH發(fā)出向內(nèi)部RAM的3、4字節(jié)寫上、下限溫度數(shù)據(jù)命令,緊跟該命令之后,是傳送兩字節(jié)的數(shù)據(jù)。2.子程序(1)鍵盤掃描子程序鍵盤掃描子程序?qū)Π聪碌逆I進(jìn)行判斷,并轉(zhuǎn)到按下的相應(yīng)鍵對(duì)應(yīng)的程序段,執(zhí)行相應(yīng)的功能。其程序流程圖如圖3-2所示。(2)溫度轉(zhuǎn)換命令子程序溫度轉(zhuǎn)換命令子程序主要是發(fā)送溫度轉(zhuǎn)換開始命令。在發(fā)送匹配ROM命令后,緊跟著發(fā)送要進(jìn)行測(cè)溫的DS18B20的64位ROM序列。采用1
32、2位分辨率,轉(zhuǎn)換時(shí)間約為750ms。其程序流程圖如圖3-3所示。開始確定鍵號(hào)有鍵按下?開始確定鍵號(hào)有鍵按下?開始Y轉(zhuǎn)至相應(yīng)的程序,執(zhí)行相應(yīng)的功能N其它子程序返回發(fā)DS18B20復(fù)位命令命令匹配ROM、64位地址發(fā)溫度轉(zhuǎn)換開始命令返回圖3-2鍵盤掃描子程序流程圖 圖3-3溫度轉(zhuǎn)換命令子程序流程圖(3)讀出溫度子程序讀出溫度子程序主要功能是讀出RAM中的9個(gè)字節(jié),在讀出時(shí)需進(jìn)行CRC校驗(yàn),校驗(yàn)有錯(cuò)時(shí)不進(jìn)行溫度數(shù)據(jù)的改寫。其程序流程圖如圖3-4所示。(4)計(jì)算溫度子程序從DS18B20讀取出的二進(jìn)制值必須先轉(zhuǎn)換成十進(jìn)制值,才能用于字符的顯示。低字節(jié)的高半字節(jié)乘以0.0625恰好就是原整數(shù)。采用1位數(shù)
33、碼管來顯示小數(shù),可以精確到0.1。表3-3就是二進(jìn)制和十進(jìn)制小數(shù)的近似對(duì)應(yīng)關(guān)系。其程序流程圖如圖3-5所示。表3-3小數(shù)部分二進(jìn)制和十進(jìn)制的近似對(duì)應(yīng)關(guān)系表小數(shù)部分二進(jìn)制數(shù)0123456789ABCDEF十進(jìn)制數(shù)0011233455667889發(fā)DS18B20復(fù)位命令命令發(fā)匹配ROM、64位地址移入溫度暫存區(qū)發(fā)DS18B20復(fù)位命令命令發(fā)匹配ROM、64位地址移入溫度暫存區(qū)發(fā)讀取溫度命令讀取RAM中的9個(gè)字節(jié)9字節(jié)完?返回YNYNCRC校驗(yàn)正確?開始置“+”標(biāo)志計(jì)算小數(shù)位溫度BCD值計(jì)算整數(shù)位溫度BCD值溫度值取補(bǔ)碼置“”標(biāo)志溫度零下?返回YN開始始圖3-4讀出溫度子程序流程圖 圖3-5 計(jì)算溫
34、度子程序流程圖(5)顯示數(shù)據(jù)刷新子程序顯示數(shù)據(jù)刷新子程序主要是對(duì)顯示緩沖區(qū)中的顯示數(shù)據(jù)進(jìn)行刷新操作,當(dāng)最高顯示位為0時(shí)將符號(hào)顯示位移入下一位。其程序流程圖如圖3-6所示。十位數(shù)顯示符號(hào),百位數(shù)不顯示十位數(shù)0?返回十位數(shù)顯示符號(hào),百位數(shù)不顯示十位數(shù)0?返回YN溫度數(shù)據(jù)移入顯示寄存器百位數(shù)0?百位數(shù)顯示數(shù)據(jù)(不顯示符號(hào))YN開始返回N設(shè)定最高溫度報(bào)警值設(shè)定值小于顯示緩沖區(qū)的值?Y發(fā)出報(bào)警開始圖3-6 顯示數(shù)據(jù)刷新子程序流程圖 圖3-7 報(bào)警控制子程序流程圖(6)報(bào)警控制子程序當(dāng)設(shè)定的最高報(bào)警溫度值大于顯示緩沖區(qū)中的數(shù)據(jù)時(shí),發(fā)出報(bào)警,提示溫度超過設(shè)定的最大值。其程序流程圖如圖3-7所示。四、系統(tǒng)調(diào)試
35、與仿真(一)系統(tǒng)調(diào)試系統(tǒng)調(diào)試分為硬件調(diào)試和軟件調(diào)試兩步1、硬件調(diào)試硬件調(diào)試比較簡(jiǎn)單,首先檢查電路的焊接是否正確及電路中有沒有虛焊等問題,然后可用萬用表測(cè)試或通電檢測(cè)電路。實(shí)物焊出來之后,先要進(jìn)行硬件調(diào)試。把電子元器件連接起來,實(shí)現(xiàn)特定功能的關(guān)鍵一步是調(diào)試。具體的調(diào)試步驟如下:(1) 電前檢查。檢查的方法是對(duì)照電路圖,按一定的順序逐級(jí)對(duì)應(yīng)檢查。特別是注意電源是否接錯(cuò),輕輕撥一撥元器件,觀察焊點(diǎn)是否牢固等。(2)通電檢查。先調(diào)試好所需電源電壓數(shù)值,然后再給電路接通電源。電源一經(jīng)接通,先要觀察是否有異?,F(xiàn)象,如冒煙、異常氣味、放電的聲光、元器件發(fā)燙等。如果有,應(yīng)立即關(guān)斷電源,待故障排除后,方可重新接
36、通電源。然后,測(cè)量每個(gè)集成塊的電源引腳電壓是否正常,以確信集成電路是否已通電工作。(3)分塊調(diào)試。調(diào)試順序按信號(hào)的流向進(jìn)行,這樣可以把前面調(diào)試過的輸出信號(hào)作為后一級(jí)的輸入信號(hào),為最后的整機(jī)聯(lián)調(diào)創(chuàng)造條件。(4)整機(jī)聯(lián)調(diào)。整機(jī)聯(lián)調(diào)時(shí)應(yīng)觀察各單元電路連接后各級(jí)之間的信號(hào)關(guān)系,主要觀察動(dòng)態(tài)結(jié)果,檢查電路的性能和參數(shù),分析測(cè)量的數(shù)據(jù)和波形是否符合設(shè)計(jì)要求。實(shí)物經(jīng)過硬件調(diào)試后還要進(jìn)行軟件調(diào)試,即將程序?qū)懭氲絾纹瑱C(jī)存儲(chǔ)器中,實(shí)現(xiàn)設(shè)計(jì)功能。2.軟件調(diào)試軟件調(diào)試以程序?yàn)橹?。先編寫一段顯示程序?qū)τ布恼9ぷ鬟M(jìn)行檢驗(yàn),然后進(jìn)行主程序、匹配ROM子程序、讀出溫度子程序、溫度轉(zhuǎn)換命令子程序、計(jì)算溫度子程序、顯示數(shù)據(jù)刷
37、新子程序等的編程及調(diào)試。由于DS18B20與單片機(jī)采用單線串行數(shù)據(jù)傳送,因此,對(duì)DS18B20進(jìn)行讀寫編程時(shí)必須嚴(yán)格地保證讀寫時(shí)序,否則將無法讀取測(cè)量結(jié)果。(二) 系統(tǒng)的仿真此設(shè)計(jì)的電路在Proteus軟件中進(jìn)行仿真,運(yùn)行 Proteus 的 ISIS 程序后,進(jìn)入該仿真軟件的主界面。通過元件選擇按鈕 P (從庫中選擇元件命令) 命令,在彈出的 Pick Devices 窗口中選擇電路所需的元件,放置元件并調(diào)整其相對(duì)位置,對(duì)元件參數(shù)設(shè)置及元器件間連線,完成單片機(jī)系統(tǒng)的硬件原理圖繪制。用制作的測(cè)溫系統(tǒng)和已有的成品溫度計(jì)(如水銀溫度計(jì))來同時(shí)測(cè)量環(huán)境溫度,并對(duì)測(cè)量的結(jié)果進(jìn)行比較分析。(三)系統(tǒng)的運(yùn)
38、行(1)首先啟動(dòng)KEIL C51軟件的集成開發(fā)環(huán)境,從桌面上雙擊uVision圖標(biāo)以啟動(dòng)軟件。(2)建立工程文件。通常單片機(jī)應(yīng)用系統(tǒng)軟件包含多個(gè)源程序文件,KEIL C51使用工程這一概念,將這些參數(shù)設(shè)置和所需的所有文件都加在一個(gè)工程中。(3)建立并添加源文件。使用菜單或者單擊工具欄的新建文件按鈕,出現(xiàn)文本便捷窗口,在該窗口中輸入新編制的源程序。然后,我打開已經(jīng)畫好的仿真圖,再將生成的HEX文件導(dǎo)入單片機(jī)里,點(diǎn)擊開始按鈕,電路正常工作,并且能夠?qū)崿F(xiàn)預(yù)先設(shè)想的所有功能,而且效果很好,從而驗(yàn)證了我的程序的正確性。結(jié) 論基于單片機(jī)的電子溫度計(jì)主要實(shí)現(xiàn)了溫度的測(cè)試與顯示功能。在復(fù)雜和惡劣的環(huán)境中能穩(wěn)定
39、而有效的完成測(cè)試與顯示。在我的畢業(yè)設(shè)計(jì)中,主要是以AT89C51單片機(jī)為核心的,對(duì)溫度的檢測(cè)與顯示進(jìn)行了簡(jiǎn)單的設(shè)計(jì)與闡述。本次設(shè)計(jì)可以說是軟硬結(jié)合,又以硬件為主。硬件設(shè)計(jì)中主要運(yùn)用了TA89C51單片機(jī)和DS18B20溫度傳感器。還設(shè)計(jì)了像顯示電路、溫度采集電路、報(bào)警電路等輔助電路。以DS18B20為溫度傳感器的溫度采集電路主要作用是隨時(shí)感應(yīng)周圍環(huán)境的溫度變化,再通過AT89C51單片機(jī)作為媒介,就可以在LED顯示屏上顯示出溫度。本設(shè)計(jì)的不足之處是:本設(shè)計(jì)只能監(jiān)測(cè)、采集與顯示周圍環(huán)境的溫度變化,但不能改變其溫度。參考文獻(xiàn)1 王涌.MCS-51系列單片機(jī)基本實(shí)驗(yàn).華北電力大學(xué)信息工程綜合實(shí)驗(yàn)室.
40、19962 林繼鵬,王君,凌振寶.溫度傳感器和一線總線協(xié)議.傳感器技術(shù).20023 美國德克薩斯儀器公司TTL集成電路特性應(yīng)用手冊(cè).上海半導(dǎo)體器件工業(yè)公司.上海半導(dǎo)體器件研究所.19764 羅文廣.單總線數(shù)字溫度傳感器的自動(dòng)識(shí)別技術(shù).電子產(chǎn)品世界.20025 D.皮茨,L.西索姆著.葛新石等譯.傳熱學(xué).科學(xué)出版社.20016 魏智.解析DALLAS通用的單總線網(wǎng)絡(luò).Semiconductor technology. 20017 王彥平,任延群,危勝軍.Protel 99電路設(shè)計(jì)指南.清華大學(xué)出版社8 1-Wire網(wǎng)絡(luò)可靠設(shè)計(jì)指南.Dallas Semiconductor應(yīng)用筆記9 姬鐵蘭.火災(zāi)
41、報(bào)警系統(tǒng)的研究.科技情報(bào)開發(fā)與經(jīng)濟(jì).2004 10 陳志英,李光輝.單總線技術(shù)及其應(yīng)用.電氣時(shí)代.2003 11 黃攀,王俊杰.單總線數(shù)字溫度傳感器DS1820及其應(yīng)用.清華大學(xué)自動(dòng)化系.元器件與應(yīng)用.200112 龔榮勝,張阿卜.一線總線的軟件接口.自動(dòng)化技術(shù)及應(yīng)用.2003,附錄A 電路圖圖A 系統(tǒng)的硬件電路圖附錄B 程序代碼;*;*;工作內(nèi)存區(qū)定義。BITS EQU 20HTIMEOK BIT BITS.1 ;1秒定時(shí)到標(biāo)志。TEMPON BIT BITS.2 ;第一次溫度轉(zhuǎn)換標(biāo)志。TEMPL EQU 26H ;從DS18B20中讀取溫度低位的存放處。TEMPH EQU 27H ;從DS
42、18B20中讀取溫度高位的存放處。TEMPCL EQU 28H ;轉(zhuǎn)換后溫度的小數(shù)位與個(gè)位存放處。TEMPCH EQU 29H ;轉(zhuǎn)換后溫度的十位與百位存放處,如果溫度為負(fù),則百位為符號(hào)位。TEMPHEAD EQU 36H ;從DS18B20高速緩存RAM中讀出數(shù)據(jù)的存放處的第一位。;*;常數(shù)定義。K0 EQU P2.0 ;按鍵K0定義。K1 EQU P2.1 ;按鍵K1定義。DQ EQU P1.7 ;數(shù)據(jù)傳送腳定義。;*;多路溫度采集系統(tǒng)源程序。;*ORG 0000HLJMP STARTORG 000BHLJMP DVTO ;T0中斷入口地址。;*;系統(tǒng)初始化。 ORG 0030HSTART
43、: MOV SP,#60H ;數(shù)據(jù)存儲(chǔ)區(qū)20H80H清“0”。CLS: MOV R0,#20H MOV R1,#60HCLS1: MOV R0,#00H INC R0 DJNZ R1,CLS1 CLR P1.4 ;關(guān)移位脈沖。 CLR P3.6 ;關(guān)閉報(bào)警器。 MOV TMOD,#21H ;選擇定時(shí)器0工作方式1; MOV TH0,#0E0H ;20ms定時(shí)初值。 MOV TL0,#0B1H MOV SCON,#00H ;選擇串行口工作方式0; NOP NOP SETB ET0 ;開定時(shí)器T0。計(jì)時(shí)開始。 SETB TR0 SETB EA MOV PSW,#00H CLR TEMPONE LJ
44、MP MAIN;*;主程工作內(nèi)存區(qū)定義秒定時(shí)到標(biāo)志第一次溫度轉(zhuǎn)換標(biāo)志從DS18B20中讀取溫度低位的存放處從DS18B20中讀取溫度高位的存放處轉(zhuǎn)換后溫度的小數(shù)位與個(gè)位存放處從DS18B20高速緩存RAM中讀出數(shù)據(jù)的存放處的第一位。;轉(zhuǎn)換后溫度的十位與百位存放處,如果溫度為負(fù),則百位為符號(hào)位按鍵K0定義按鍵K1定義;數(shù)據(jù)傳送腳定義。多路溫度采集系統(tǒng)源程序T0中斷入口地址系統(tǒng)初始化。 ;數(shù)據(jù)存儲(chǔ)區(qū)20H80H清“0”關(guān)移位脈沖關(guān)閉報(bào)警器選擇定時(shí)器0工作方式120ms定時(shí)初值選擇串行口工作方式開定時(shí)器T0。計(jì)時(shí)開始;主程序。MAIN: LCALL KEYBORD ;調(diào)用鍵盤掃描子程序。LOOP1:
45、 LCALL DISP ;調(diào)用顯示子程序。 JNB TIMEOK,LOOP1 ;測(cè)溫每1秒一次。 CLR TIMEOK JNB TEMPONE,LOOP2 ;上電時(shí)先溫度轉(zhuǎn)換一次。 LCALL READTEMP ;讀出溫度值子程序。 LCALL TEMPBCD ;溫度BCD碼計(jì)算處理子程序。 LCALL DISPBCD ;顯示區(qū)BCD碼溫度值刷新子程序。 LCALL ALARM ;最高溫度報(bào)警子程序。LOOP2: LCALL TEMPCONV ;溫度開始轉(zhuǎn)換子程序。 SETB TEMPONE SJMP MAIN;*;定時(shí)器T0中斷服子程序。DVT0: PUSH PSW MOV PSW,#10H
46、 MOV TH0,#0E0H MOV TL0,#0B1H INC R7 CJNZ R7,#32H,DVT01 MOV R7,#00H SETB TIMEOK ;1秒定時(shí)到標(biāo)志。 DVT01: POP PSW RETI;*;鍵盤掃描子程序。KEYBORD: JB K0,L1 JNB K0,$ LCALL FUNCTION LJMP KEYBORD L1: JB K1,L2 JNB K1,$ LCALL FUNCTION1 LJMP KEYBORD L2: RETFUNCTION0: MOV 40H,#28H ;第一路DS18B20的64位序列號(hào)裝入存儲(chǔ)單元40H47H。 MOV 41H,#0D6
47、H MOV 42H,#0B1H MOV 43H,#8AH MOV 44H,#00H MOV 45H,#00H MOV 46H,#00H MOV 47H,#0E3H RETFUNCTION0: MOV 40H,#28H ;第二路DS18B20的64位序列號(hào)裝入存儲(chǔ)單元40H47H。 MOV 41H,#0D6H MOV 42H,#0B1H MOV 43H,#8AH MOV 44H,#00H MOV 45H,#00H MOV 46H,#01H MOV 47H,#0E3H RET;*;DS18B20復(fù)位子程序。RETET: SETB DQ NOP NOP CLR DQ MOV R6,#0A0H ;延時(shí)
48、480us DJNZ R6,$ MOV R6,#0A0H DJNZ R6,$ SETB DQ MOV R6,#32H ;延時(shí)70us DJNZ R6,$ MOV R6,#3CHRESET1: MOV C,DQ JC RESET2 DJNZ R6,RESET1 MOV R6,#64H ;延時(shí)200us DJNZ R6,$ SJMP RESET RETRESET2: SETB DQ RET;*;讀DS18B20子程序,從DS18B20中讀出一個(gè)字節(jié)的數(shù)據(jù)。READ: MOV R7,#08H SETB DQ NOP NOPREAD1: CLR DQ NOP NOP NOP SETB DQ MOV R
49、6,#07H ;延時(shí)15us。 DJNZ R6,$ MOV C,DQ MOV R6,#3CH ;延時(shí)120us。 DJNZ R6,$ RRC A SETB DQ DJNZ R7,READ1 MOV R6,#3CH ;延時(shí)120us。 DJNZ R6,$ RET;*;寫DS18B20子程序,給DS18B20中寫入一個(gè)字節(jié)的數(shù)據(jù)。WRITE: MOV R7,#08H SETB DQ NOP NOPWRITE1: CLR DQ MOV R6,#07H ;延時(shí)15us。 DJNZ R6,$ RRC A MOV DQ,C MOV R6,#34H ;延時(shí)104us。 DJNZ R6,$ SETB DQ D
50、JNZ R7,WRITE1 RET;*;溫度開始轉(zhuǎn)換子程序。TEMPCONV: LCALL RESET MOV A,#55H ;發(fā)送匹配ROM命令。 LCALL WRITE MOV R6,#34H ;延時(shí)104us。 DJNZ R6,$ MOV R7,#08H ;發(fā)送64位ROM編碼。 MOV R0,#40HTEMPVONV1: MOV A,R0 LCALL WRITE INC R0 DJNZ R7,TEMPCONV1 ;64位ROM編碼發(fā)送完沒有? MOV R6,#34H ;延時(shí)104us。 DJNZ R6,$ MOV A,#44H ;發(fā)送啟動(dòng)溫度轉(zhuǎn)換命令。 LCALL WRITE MOV
51、R6,#34H ;延時(shí)104us。 DJNZ R6,$ RET;*;讀出溫度值子程序。READTEMP: LCALL RESET MOV A,#55H ;發(fā)送匹配ROM命令。 LCALL WRITE MOV R6,#34H ;延時(shí)104us。 DJNZ R6,$ MOV R7,#08H ;發(fā)送64位ROM編碼。 MOV R0,#40HREADTEMP1: MOV A,R0 LCALL WRITE INC R0 DJNZ R7,TEMPCONV1 MOV R6,#34H ;延時(shí)104us。 DJNZ R6,$ LCALL WRITE MOV R6,#34H ;延時(shí)104us。 DJNZ R6,$
52、 MOV R5,#09H MOV R0,#TEMPHEAD MOV B,#00HTEADTEMP2: LCALL READ MOV R0,A INC R0READTEMP3: LCALL CRC DJNZ R5,READTEMP2 MOV A,B MOV R0,#TEMPHEDA MOV TEMPL,R0 ;讀取轉(zhuǎn)換后的溫度低位到TEMPL中。 INC R0 MOV TEMPH,R0 ;讀取轉(zhuǎn)換后的溫度高位到TEMPH中。READTEMP4: RET;*;溫度BCD碼計(jì)算處理子程序。TEMPBCD: MOV A,TEMPH ANL A,#80H JZ TEMPBCD1 ;溫度值為正。 CLR
53、C ;溫度值為負(fù)時(shí),求補(bǔ)碼。 MOV A,TEMPL CPL A ADD A,#01H MOV TEMPL,A MOV A,TEMPH CPL A ADDC A,#00H MOV TEMPH,A MOV TEMPCH,#0BH ;執(zhí)符號(hào)位“-”。 SJMP TEMPBCD2TEMPBCD1: MOV TEMPCH,#0AH ;執(zhí)符號(hào)位“+”。TEMPBCD2: MOV A,TEMPCH SWAP A MOV TEMPCH,A MOV A,TEMPL ;小數(shù)部分處理。 ANL A,#0FH MOV DPRT,#TEMPDOTTAB MOVC A,A+DPRT MOV TEMPCL,A ;小數(shù)位放入TEMPL低位中。 MOV A,TEMPL ;整數(shù)部分處理。 ANL A,#0F0H SWAP A MOV TEMPL,A MOV A,TEMPH ANL A,#0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 合成膜電位器工崗前班組安全考核試卷含答案
- 智能硬件裝調(diào)員班組安全測(cè)試考核試卷含答案
- 供排水客戶服務(wù)員崗前基礎(chǔ)能力考核試卷含答案
- 木刻水印雕刻版印刷員保密考核試卷含答案
- 云母電容器制造工操作安全強(qiáng)化考核試卷含答案
- 行李值班員崗前技術(shù)實(shí)務(wù)考核試卷含答案
- 船舶輪機(jī)員安全教育強(qiáng)化考核試卷含答案
- 銅鋁桿生產(chǎn)工誠信知識(shí)考核試卷含答案
- 維綸熱處理操作工崗前基礎(chǔ)實(shí)戰(zhàn)考核試卷含答案
- 酶制劑提取工班組管理強(qiáng)化考核試卷含答案
- 中國2型糖尿病運(yùn)動(dòng)治療指南(2024版)解讀課件
- 《燃料電池與制氫》課件
- TSZUAVIA 001-2021 低慢小無人機(jī)探測(cè)反制系統(tǒng)要求
- 2025年小米集團(tuán)招聘筆試參考題庫含答案解析
- DB45T 2415-2021 在用橋(門)式起重機(jī)安全評(píng)估規(guī)程
- 【MOOC】經(jīng)濟(jì)法學(xué)-西南政法大學(xué) 中國大學(xué)慕課MOOC答案
- 《J監(jiān)獄突發(fā)事件應(yīng)急管理現(xiàn)狀及完善對(duì)策研究》24000字(論文)
- GB/T 6556-2024機(jī)械密封的型式、主要尺寸、材料和識(shí)別標(biāo)志
- 2024版8部編版語文四年級(jí)上《蝴蝶的家 》教學(xué)教案
- 熱電解制氫集成技術(shù)創(chuàng)新
- 中藥山藥課件
評(píng)論
0/150
提交評(píng)論