




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、課程設(shè)計說明書 題 目: 溫度測量與報警系統(tǒng)設(shè)計 姓 名: 學(xué) 號: 指 導(dǎo) 教 師: 專 業(yè) 年 級: 所在學(xué)院和系: 完 成 日 期: 課 程 名 稱: 機電一體系統(tǒng)設(shè)計 目 錄1緒論11.1 背 景11.1 設(shè)計要求11.3 設(shè)計任務(wù)12系統(tǒng)總體方案設(shè)計22.1 設(shè)計思想22.2 方案論證22.2.1 電源模塊22.2.2 溫度檢測模塊32.2.3 控制模塊32.2.4 顯示模塊32.2.5 報警模塊42.2.6 按鍵模塊42.3 芯片選擇42.3.1電源模塊42.3.2 溫度檢測模塊42.3.3 控制模塊52.3.4 顯示模塊53系統(tǒng)硬件設(shè)計63.1 單片機最小系統(tǒng)63.2 傳感檢測電
2、路63.3 顯示模塊73.4 報警模塊83.5 按鍵模塊83.6 總 電 路83.6.1 繪圖軟件簡介83.6.2 電路原理圖93.6.3 電路PCB圖104系統(tǒng)軟件設(shè)計124.1 程序設(shè)計思路124.2 主程序流程圖124.3 獲取溫度程序流程圖134.4 報警程序流程圖144.5 顯示程序流程圖154.6 數(shù)據(jù)處理程序流程圖154.7 編程軟件簡介165總結(jié)17參考文獻18附錄A 19附錄B20附錄C211緒論1.1 背 景溫度溫度是工業(yè)生產(chǎn)中主要的被控參數(shù)之一,與之相關(guān)的各種溫度控制系統(tǒng)廣泛應(yīng)用于冶金、化工、機械、食品等領(lǐng)域。溫度控制是工業(yè)生產(chǎn)過程中經(jīng)常遇到的過程控制,有些工藝過程對其溫
3、度的控制效果直接影響著產(chǎn)品的質(zhì)量;同時,溫度超過了系統(tǒng)工作正常范圍將直接影響系統(tǒng)的壽命,甚至損壞系統(tǒng);甚至可以說任何一個系統(tǒng)都必須工作在一定的溫度范圍內(nèi),因而設(shè)計一種較為理想的溫度控制系統(tǒng)是非常有價值的。自18世紀(jì)工業(yè)革命以來,工業(yè)的飛速發(fā)展離不開溫度參量在控制系統(tǒng)中的應(yīng)用。在冶金、鋼鐵、石化、水泥、玻璃、醫(yī)藥等等行業(yè),可以說幾乎80%的工業(yè)部門都不得不考慮著溫度的因素。在工業(yè)生產(chǎn)中人們都需要對各類加熱爐、熱處理爐、反應(yīng)爐和鍋爐中的溫度進行檢測和控制 ,常用的控制電路根據(jù)應(yīng)用場合和所要求的性能指標(biāo)有所不同 , 在工業(yè)企業(yè)中,如何提高溫度控制對象的運行性能一直以來都是控制人員和現(xiàn)場技術(shù)人員努力解
4、決的問題。這類控制對象慣性大,滯后現(xiàn)象嚴(yán)重,存在很多不確定的因素,難以建立精確的數(shù)學(xué)模型,從而導(dǎo)致控制系統(tǒng)性能不佳,甚至出現(xiàn)控制不穩(wěn)定、失控現(xiàn)象。1.1 設(shè)計要求設(shè)計要求:實現(xiàn)溫度的測量與控制。 測溫范圍:01000C; 測量精度:0.10C; 設(shè)有上、下限報警溫度; 數(shù)碼顯示;1.3 設(shè)計任務(wù)設(shè)計任務(wù):硬件設(shè)計(元器件選擇、電路原理圖與電路板圖繪制等)、軟件設(shè)計。2系統(tǒng)總體方案設(shè)計2.1 設(shè)計思想本設(shè)計題目的設(shè)計要求是測量溫度、報警及顯示,根據(jù)設(shè)計要求要測量溫度就需要有溫度傳感器以及相應(yīng)的信號調(diào)理電路;報警信號可以通過視覺信號也可以是聲音或二者兼?zhèn)鋪砀嬷脩簦伙@示可以通過數(shù)碼管、LED點陣、
5、LCD等;人機交互即極限溫度設(shè)置可以用按鈕或鍵盤來輸入;有了這些之后,各部分的功能得以實現(xiàn),但是要是他們有序地完成任務(wù)還需要一個控制器來協(xié)調(diào)和控制各部分的工作;系統(tǒng)要工作需要為系統(tǒng)供電,于是需要有電源部分。根據(jù)上述的設(shè)計思路繪制系統(tǒng)框圖如下圖1。圖1 系統(tǒng)框圖2.2 方案論證2.2.1 電源模塊方案一:直接利用電池來提供一個合適的電壓。由于干電池供電電壓會因負載的不同以及會隨著使用的過程而電壓發(fā)生變化,這會影響到系統(tǒng)的正常工作。方案二:采用AC-DC的方式為系統(tǒng)供電,該方式是將交流電變?yōu)樗璧闹绷麟妷海枰邢鄳?yīng)的變壓器、整流電路、濾波電路和穩(wěn)壓電路等,該方案電路復(fù)雜,費用較高、對于這樣一個
6、小系統(tǒng)不經(jīng)濟。方案三、采用DC-DC的方式,該方式是將直流電轉(zhuǎn)換為系統(tǒng)所需的電壓,采用該方案可以用干電池作為也可以用開關(guān)電源適配器來作為DC輸入,可以簡化系統(tǒng)的電源電路,提高系統(tǒng)的便攜性能、降低成本。根據(jù)上述的對三種方案的分析比較后,該系統(tǒng)采用方案三比較合理。2.2.2 溫度檢測模塊方案一、采用普通的溫度傳感器,該方案需要設(shè)計相應(yīng)的信號放大電路、濾波電路、AD轉(zhuǎn)換電等。方案二、采用DS18B20智能溫度傳感器,該傳感器內(nèi)置相應(yīng)的信號調(diào)理電路,直接輸出數(shù)字量,而且才1Wire的方式與控制器進行信號交流,簡化了硬件電路的設(shè)計,同時其轉(zhuǎn)換精度也很高,價格實惠,性價比高,應(yīng)用非常廣。由于DS18B20
7、溫度傳感器的優(yōu)異性能,且足夠滿足該系統(tǒng)的要求,故采用方案二。2.2.3 控制模塊方案一:采用MCS-51系列單片機。傳統(tǒng)的51 單片機具有價格低廉,使用簡單等特點,但其運算速度低,功能單一,RAM、ROM空間小等缺點。 方案二:采用AT 89C52單片機單片機作為控制模塊。具有豐富的資源:RAM,ROM空間大、超強抗干擾、超低功耗、可送 STC-ISP 下載編程器、指令周期短、低電壓、易于編寫和調(diào)試等優(yōu)點。這些特點極大地提高了開發(fā)效率。鑒于AT89C52單片機價格便宜,功能齊全等特點,本系統(tǒng)采用AT89C52單片機為控制器。2.2.4 顯示模塊方案一:采用數(shù)碼管顯示LED顯示器工作方式有兩種:
8、靜態(tài)顯示方式和動態(tài)顯示方式。靜態(tài)顯示的特點是每個數(shù)碼管的段選必須接一個8位數(shù)據(jù)線來保持顯示的字形碼。動態(tài)顯示的特點是將所有位數(shù)碼管的段選線并聯(lián)在一起,由位選線控制是哪一位數(shù)碼管有效。根據(jù)系統(tǒng)要求該系統(tǒng)應(yīng)采用動態(tài)顯示方式,采用數(shù)碼管顯示。 方案二:采用1602液晶顯示,1602液晶模塊內(nèi)部的字符發(fā)生存儲器(CGROM)已經(jīng)存儲了160個不同的點陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼。數(shù)碼管消耗電力比液晶多一點,但是數(shù)碼管顯示更加清晰,更加適合在白天等強光條件下顯示。液晶極其省電,但是使用有溫度范圍限制,且因是反光式的,在外界光
9、線很明亮的情況下很容易看不清楚。用數(shù)碼管完全可以滿足該系統(tǒng)的要求,故采用方案一。2.2.5 報警模塊方案一、采用用LED來顯示報警信號,根據(jù)顏色的不同可以很清楚地知道是低于最低極限溫度還是高于最高極限溫度的情況,但是它需要人在現(xiàn)場。方案二、采用蜂鳴器報警,它的優(yōu)點是當(dāng)事人不必在現(xiàn)場,可以不受空間物體的阻礙作用而將報警信號傳遞給用戶,但是至于是上述兩種中的哪種情況不能很清楚的知道。根據(jù)兩種方案的比較發(fā)現(xiàn),二者具有互補的作用,所以選擇方案一和方案二來共同實現(xiàn)報警功能。2.2.6 按鍵模塊方案一、用鍵盤作為人機交互的接口。方案二、用獨立按鍵來實現(xiàn)人機交互。根據(jù)系統(tǒng)的要求可知,只需三個鍵即可滿足要求,
10、故從經(jīng)濟的角度來看,選擇方案二比較合理。2.3 芯片選擇2.3.1電源模塊系統(tǒng)要求輸入5V的直流電壓,于是選擇5V的三端直流穩(wěn)壓器L7805CV芯片,7805是X78XX系列中的一種,它能固定地輸出4.75-5.25V的電壓,能夠保證系統(tǒng)工作的穩(wěn)定性。2.3.2 溫度檢測模塊溫度傳感器選擇DALLAS公司生產(chǎn)DS18B20數(shù)字溫度計,它具有線路簡單,體積小,抗干擾能力強,精度高的特點。封裝后的DS18B20可用于電纜溝測溫,高爐水循環(huán)測溫,鍋爐測溫,機房測溫,農(nóng)業(yè)大棚測溫,潔凈室測溫,彈藥庫測溫等各種非極限溫度場合。耐磨耐碰,體積小,使用方便,封裝形式多樣,適用于各種狹小空間設(shè)備數(shù)字測溫和控制
11、領(lǐng)域。2.3.3 控制模塊控制器選用ATMEL公司生產(chǎn)的8位單片機AT89C52,片內(nèi)含8k bytes的可反復(fù)擦寫的Flash只讀程序存儲器和256 bytes的隨機存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲單元,AT89C52單片機在電子行業(yè)中有著廣泛的應(yīng)用。2.3.4 顯示模塊系統(tǒng)采用兩個4位的數(shù)碼管顯示,如果直接與單片機相連,既占引腳又驅(qū)動能力不夠,故選用74LS138譯碼器來進行位選以減少引腳占用數(shù)量,采用74HC573鎖存器來提高驅(qū)動能力。3系統(tǒng)硬件設(shè)計3.1 單片機最小系統(tǒng)
12、單片機最小系統(tǒng)通常有時鐘電路和復(fù)位電路,時鐘電路的晶振選擇12MHz的頻率,復(fù)位電路選用手動復(fù)位電路,因選用單片機內(nèi)部的ROM存儲器,所以EA引腳接高電平。其電路如圖2所示。圖2 單片機最小系統(tǒng)3.2 傳感檢測電路DS18B20溫度傳感器只有三個引腳,其中GND接地,DQ數(shù)據(jù)輸入輸出引腳經(jīng)電阻上拉后接單片機P3.7引腳,VDD接外部電源。其電路如下圖3所示。P3.7AT89C52VCCDS18B20GND DQ VDD5.1KK圖3 傳感器電路圖3.3 顯示模塊顯示部分用兩個4位的數(shù)碼管顯示,位選是通過74LS138譯碼器來實現(xiàn)的,譯碼器的輸入端A、B、C接單片機P2.2、P2.3、P2.4三
13、個端口,其數(shù)據(jù)輸出引腳接數(shù)碼管的位選引腳,因譯碼器輸出的是低電平有效,故選用的數(shù)碼管是共陰極的,段選通過74HC573鎖存器來驅(qū)動,鎖存器經(jīng)上拉電阻后與單片機的P0口相連,鎖存器的輸出端接數(shù)碼管的段選引腳,但是不能直接相接,必須串聯(lián)上限流電阻,流入數(shù)碼管的電流可以是20mA左右,其壓降在2點幾伏,接上100的電阻即可。其電路如下圖4所示。圖4 顯示電路圖3.4 報警模塊報警電路有蜂鳴器電路和LED發(fā)光二極管電路兩個不部分,蜂鳴器采用三極管來驅(qū)動,為了限制其流過電路,給它串上一個100的電阻,發(fā)光二極管直接接單片機的,同樣需串上一個100的限流電阻來保護二極管。其電路如下圖5所示。 圖5 報警電
14、路圖3.5 按鍵模塊按鈕的一端接地,當(dāng)按下時,單片機相應(yīng)的引腳被拉低,于是可以通過程序查詢的方式來判斷是否有哪一個按鍵按下,實現(xiàn)其功能,其電路簡單,不單獨畫出。3.6 總 電 路3.6.1 繪圖軟件簡介Proteus軟件是英國Labcenter electronics公司出版的EDA工具軟件(該軟件中國總代理為廣州風(fēng)標(biāo)電子技術(shù)有限公司)。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機及外圍器件。它是目前最好的仿真單片機及外圍器件的工具。雖然目前國內(nèi)推廣剛起步,但已受到單片機愛好者、從事單片機教學(xué)的教師、致力于單片機開發(fā)應(yīng)用的科技工作者的青睞。Proteus是世界上著名的EDA工具(仿真
15、軟件),從原理圖布圖、代碼調(diào)試到單片機與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計,真正實現(xiàn)了從概念到產(chǎn)品的完整設(shè)計。是目前世界上唯一將電路仿真軟件、PCB設(shè)計軟件和虛擬模型仿真軟件三合一的設(shè)計平臺。3.6.2 電路原理圖圖6 系統(tǒng)電路原理圖3.6.3 電路PCB圖在用Proteus繪制電路板時,采用的是自動布局和手動調(diào)整,布線采用的是手動布線,手動布線時應(yīng)注意電路布布線的規(guī)則,具體內(nèi)容如下。1.電源線和地線的布線規(guī)則如下。· 在電源、地線之間加上去耦電容。· 盡量加寬電源線、地線寬度,最好是地線比電源線寬。· 數(shù)字電路的pcb可用寬的地導(dǎo)線組成一個回路,即構(gòu)成一個地
16、網(wǎng)來使用,模擬電路的地不能這樣使用。· 用大面積銅層作地線,在印制板上把沒被用上的地方都與地相連接作為地線用,或是做成多層板,電源和地線各占用一層。2.PCB要合理分區(qū),單片機系統(tǒng)通??煞秩齾^(qū),即模擬電路區(qū)(怕干擾),數(shù)字電路區(qū)(即怕干擾、又產(chǎn)生干擾),功率驅(qū)動區(qū)(干擾源)。3.時鐘振蕩電路、特殊高速邏輯電路部分用地線圈起來。讓周圍電場趨近于零。4.IO驅(qū)動器件、功率放大器件盡量靠近印制板的邊,靠近引出接插件。5.使用45°的折線布線,不要使用90°折線,以減小高頻信號的發(fā)射。6.單面板、雙面板,電源線、地線要盡量粗。信號線的過孔要盡量少。7.關(guān)鍵的線盡量短并要盡
17、量粗,并在兩邊加上保護地。將敏感信號和噪聲場帶信號通過一條扁帶電纜引出的話,要用地線-信號-地線方式引出。8.石英振蕩器下面、噪聲敏感器件下面要加大地的面積而不應(yīng)該走其它信號線。9.任何信號線都不要形成環(huán)路,如不可避免,環(huán)路應(yīng)盡量小。圖7 系統(tǒng)PCB圖4系統(tǒng)軟件設(shè)計4.1 程序設(shè)計思路本系統(tǒng)主要是測量溫度、設(shè)定極限溫度值及其顯示和報警,于是設(shè)計思路為:首先是系統(tǒng)初始化,然后從傳感器中讀數(shù)、進行數(shù)據(jù)處理,處理結(jié)果存儲,如有用戶設(shè)定極限溫度值則將其存儲覆蓋之前的極限溫度值,將處理的結(jié)果與設(shè)定值比較并決定是否報警,將數(shù)據(jù)輸出給用戶。其設(shè)計思路框圖如圖8所示。溫 度 獲 取數(shù)據(jù)處理數(shù)據(jù)存儲溫度值判斷顯
18、示報警從傳感器讀溫度值用戶設(shè)定極限溫度值圖8 程序設(shè)計思路框圖4.2 主程序流程圖主程序主要完成單片機定時器的初始化,調(diào)用溫度獲取程序,溫度顯示存儲區(qū)數(shù)據(jù)刷新,溫度報警判斷、溫度顯示的功能,主程序采用了一個死循環(huán),程序運行的過程中,不斷地執(zhí)行主程序,從而實現(xiàn)顯示不斷更新。流程圖如圖9所示。圖9 主程序流程圖4.3 獲取溫度程序流程圖該程序主要完成從DS18B20傳感器獲取溫度值和人機交互的功能即對極限溫度進行設(shè)置,此程序是該系統(tǒng)實現(xiàn)溫度測量的主要功能塊,它同時會調(diào)用溫度傳感器的底層驅(qū)動程序,實現(xiàn)將溫度傳感器中的數(shù)據(jù)讀入到單片機中,問數(shù)據(jù)處理程序提供原始數(shù)據(jù)。流程圖如圖10所示。圖10 獲取溫度
19、程序流程圖4.4 報警程序流程圖報警程序的控制對象主要是蜂鳴器和紅綠燈,根據(jù)主程序傳給的實參,可以判斷是超過上限溫度還是低于下限溫度,進而執(zhí)行不同的操作,告訴用戶報警狀態(tài)。超過最高極限溫度則蜂鳴器響和紅燈亮;低于最小極限溫度則蜂鳴器響,同時綠燈亮。流程圖如圖11所示。圖11 報警程序流程圖4.5 顯示程序流程圖顯示程序是用來顯示當(dāng)前溫度值和極限溫度值的,共有八位要顯示,采用的是動態(tài)掃描方式,從左到右逐位顯示,采用一個循環(huán)8次的程序,一次將顯存數(shù)組變量中的數(shù)據(jù)輸出給對應(yīng)位,這樣就可以顯示所要顯示的內(nèi)容,程序流程圖如圖12所示。圖12 顯示程序流程圖4.6 數(shù)據(jù)處理程序流程圖從DS18B20獲取的
20、溫度值必須進行一定的轉(zhuǎn)換才能得到真正的溫度數(shù)值,DS18B20 的溫度操作是使用16 位,也就是說分辨率是0.0625,將讀取到的兩字節(jié)溫度值乘以0.0625即為實際溫度值,直接相乘后得到的值將會約去小數(shù)部分,但是該系統(tǒng)要求獲取0.1的精確度,這樣是不合理的,為此,可以用0.625去乘,這得到的溫度值擴大了十倍,保留了個分位上的數(shù)值,然后在顯示的時候在相應(yīng)位上將點點亮即可。圖13 數(shù)據(jù)處理程序流程圖4.7 編程軟件簡介KeilSoftware公司推出的uVision3是一款可用于多種8051MCU的集成開發(fā)環(huán)境(IDE),該IDE同時也是PK51及其它開發(fā)套件的一個重要組件。除增加了源代碼、功
21、能導(dǎo)航器、模板編輯以及改進的搜索功能外,uVision3還提供了一個配置向?qū)Чδ埽铀倭藛哟a和配置文件的生成。此外其內(nèi)置的仿真器可模擬目標(biāo)MCU,包括指令集、片上外圍設(shè)備及外部信號等。uVision3提供邏輯分析器,可監(jiān)控基于MCUI/O引腳和外設(shè)狀態(tài)變化下的程序變量。uVision3提供對多種最新的8051類微處理器的支持,包括AnalogDevices的ADuC83x和ADuC84x,以及Infineon的XC866等。系統(tǒng)程序代碼請見附錄C.5總結(jié)參考文獻1喻宗泉,喻晗,李建民.單片機原理與應(yīng)用技術(shù)M.西安:西安電子科技大學(xué)出版社,20062黃智瑋.全國大學(xué)生電子設(shè)計競賽電路設(shè)計M.
22、北京:北京航空航天大學(xué)出版社,20063段玉生.電工電子技術(shù)與EDA基礎(chǔ)M.北京:清華大學(xué)出版社,20044胡向東,劉京誠.傳感器與檢測技術(shù)M.北京:機械工業(yè)出版社,20105徐國華.電子技能實訓(xùn)M.北京:北京航空航天大學(xué)出版社,20076周靈彬,任開杰,張靖武.基于Proteus的電路與PCB設(shè)計M.北京:電子工業(yè)出版社,20107周潤景,張麗娜,劉印群.PROTEUS入門實用教程M.北京:機械工業(yè)出版社,20078黃智偉.全國大學(xué)生電子設(shè)計競賽常用電路模塊制作M.北京:北京航空航天大學(xué)出版 社,20069李華,MCU-51系列單片機實用接口技術(shù)M.北京:北京航空航天大學(xué)出版社, 19931
23、0 張勝全.D18B20數(shù)字溫度計在微機溫度采集系統(tǒng)中的序編制M. 南京:南京大學(xué)出版 社,199811 馬田華等.可編程單總線數(shù)字式溫度傳感器DS18B2的原理與應(yīng)用J.電子質(zhì)量2004,712 于永學(xué).1-Wire總線數(shù)字溫度傳感器DS18B20及應(yīng)用J.電子產(chǎn)品世界,2003,1213 周晗曉,袁慧梅.單片機系統(tǒng)的印制板設(shè)計與抗干擾技術(shù)J.電子工藝技術(shù),2004,6附錄A 材料清單器件名稱單片機溫度傳感器晶體諧振器12M瓷片電容數(shù)目111 2型號AT89C52DS18B20HC-49US HC-49U22P器件名稱電解電容電解電容鉭電容按鈕開關(guān)數(shù)目1114型號100U/50V1
24、0U/50V0.1u/35vTS0611 -6*6*4.3器件名稱碳膜電阻碳膜電阻碳膜電阻蜂鳴器數(shù)目19111型號100R/0.5W1K/0.5W10K/0.5WHUT-1203器件名稱三極管LEDLED共陰極數(shù)碼管數(shù)目1112型號2N3904REDGREEN0.36寸/四位器件名稱接線端子接線端子三端穩(wěn)壓38譯碼器數(shù)目1111型號HB9500-2P KF508 3位L7805CV74LS138器件名稱鎖存器數(shù)目1型號74HC573附錄B 單片機引腳分配表P3.7接DS18B20的DQ引腳P1.0-P1.1接紅綠燈P1.5接蜂鳴器P2.5-P2.7接按鍵P0接74HC573D0-D7
25、P2.3-P2.4接74LS138譯碼器A、B、C端附錄C 程序代碼頭文件18B20.h如下typedef unsigned int uint;typedef unsigned char uchar;extern bit horl; /報警溫度最小最大極限值標(biāo)志,默認最小值extern bit zhf_flag; /正負標(biāo)志extern uint temperature;/存溫度的變量extern void delay(uchar idata us);/ 短延時程序extern void fwei(void);/ 復(fù)位程序extern void writebyte(uchar idata wr
26、b);/ 單字節(jié)寫程序extern uchar readbyte (void) ;/ 單字節(jié)讀程序extern void read_bytes(uchar idata num);/ 多字節(jié)讀程序extern void get_temp(void);/ 提取溫度值程序extern void ds18b20_temp(void);/DS18B20主控程序extern void shx(void);/ 溫度0.5s值刷新一次程序主功能程序代碼如下:#include<reg52.h>#include"18b20.h" /* 定義顯示字段碼表*/ Unsigned cha
27、r code Disp_Tab= 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; /* 定義引腳程序*/sbit A138=P22;/138譯碼器引腳sbit B138=P23;sbit C138=P24;sbit fmq=P15;/蜂鳴器引腳sbit redled=P10; /紅綠燈引腳sbit greenled=P11;/* 定義變量程序*/uchar display_num8; / 數(shù)碼管顯示數(shù)據(jù)存儲區(qū)bit h,l;/定義報警標(biāo)志uint htemp=60,ltemp=10;/上下限報警溫度 /* 初始化程序*/void sys_s
28、tart() TMOD=0X01; TH0 = 0xD8; /10ms初值 TL0 = 0xF0;IE = 0x82;TR0 = 1;/* 延時1ms程序*/void delay1ms(uint j)uint i;for(j;j>0;j-)for(i=120;i>0;i-);/* 報警程序*/void alarm1(void)if(h) redled=0;fmq=1; if(l)greenled=0;fmq=1; delay1ms(10);fmq=0;redled=1;greenled=1;void main()uchar i; sys_start();/初始化while(1)fm
29、q=0;shx(); if(zhf_flag) /負溫度值超出范圍輸出-display_num0=0x40;/百位display_num1=0x40;/十位display_num2=0x40;/個位display_num3=0x40; /小數(shù)位else/存正溫度值display_num0=Disp_Tabtemperature%10000/1000;/百位display_num1=Disp_Tabtemperature%1000/100;/十位display_num2=Disp_Tabtemperature%100/10;/個位display_num3=Disp_Tabtemperature%
30、10; /小數(shù)位if(horl=1)display_num4=0x78; /顯示上限溫度值display_num5=Disp_Tabhtemp%1000/100;/百位display_num6=Disp_Tabhtemp%100/10; /十位display_num7=Disp_Tabhtemp%10; /個位else /顯示下限溫度值display_num4=0x71;display_num5=Disp_Tabltemp%1000/100;/百位display_num6=Disp_Tabltemp%100/10; /十位display_num7=Disp_Tabltemp%10; /個位/當(dāng)
31、前溫度與極限溫度比較并標(biāo)識if(temperature>=(htemp*10)h=1;elseh=0;if(temperature<=(ltemp*10)l=1;elsel=0;if(l=1|h=1) alarm1();/* 顯示程序* for(i=0;i<8;i+) P0=display_numi;/段點亮if(i=2) P0=P0|0x80;switch(i) /位掃描case 0:A138=0;B138=0;C138=0;break;case 1:A138=1;B138=0;C138=0;break;case 2:A138=0;B138=1;C138=0;break;c
32、ase 3:A138=1;B138=1;C138=0;break;case 4:A138=0;B138=0;C138=1;break;case 5:A138=1;B138=0;C138=1;break;case 6:A138=0;B138=1;C138=1;break;case 7:A138=1;B138=1;C138=1;break;delay1ms(2);DS18B20溫度獲取程序代碼:#include<reg52.h>#include<intrins.h>#define nop() _nop_() /定義空指令typedef unsigned int uint;t
33、ypedef unsigned char uchar;extern uint htemp,ltemp;/報警溫度極限值外部變量說明 /* 函數(shù)頭說明*/void delay(uchar idata us);/ 短延時程序void fwei(void);/復(fù)位程序void writebyte(uchar idata wrb);/ 單字節(jié)寫程序uchar readbyte (void) ;/ 單字節(jié)讀程序void read_bytes(uchar idata num);/ 多字節(jié)讀程序void get_temp(void);/ 提取溫度值程序void ds18b20_temp(void);/DS1
34、8B20主控程序void shx(void);/ 溫度0.5s值刷新一次程序/* 變量定義*/uchar idata dq_read_bytes9;/讀取的ds18b20的ram的數(shù)據(jù)uchar tim;uint temperature=0;/存溫度的變量bit horl=0;/報警溫度最小最大極限值標(biāo)志,默認最小值/* 位變量定義*/sbit dq=P37;/定義DS18B20的數(shù)據(jù)I/O引腳bit ask;/定義應(yīng)答信號變量bit zhf_flag; /正負標(biāo)志sbit fun_chse=P27;/進行最大或最小溫度功能的切換sbit atdel=P26;/溫度減sbit atadd=P25;/溫度加/* 短延時程序*/void delay(uchar idata us)while(us-);/* 復(fù)位程序*/void fwei(void)dq=1;nop();dq=0;delay(85);/延時513usnop();dq=1;delay(20);/延時123usnop();nop();nop();if(dq=0) /應(yīng)答判斷ask=1;elseask=0;delay(20);nop();nop();dq=1; /* 單字節(jié)寫程序*/void writebyte(uchar idata wrb)uchar
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 注冊土木工程師線上學(xué)習(xí)試題及答案
- 考初級工的試題及答案
- 基于AI的2025年智能客服情感分析在客服中心的應(yīng)用
- 2025國企面試題庫及答案
- 工業(yè)互聯(lián)網(wǎng)平臺SDN在工業(yè)互聯(lián)網(wǎng)平臺設(shè)備管理中的優(yōu)化應(yīng)用報告
- 護士皮瓣移植試題及答案
- 寧波二模語文試題及答案
- 針對2025年市場流動性風(fēng)險管理的量化投資策略績效評估報告
- 數(shù)字孿生視角下2025年城市規(guī)劃與建設(shè)中的智慧城市安防設(shè)施布局與評估優(yōu)化優(yōu)化報告
- 現(xiàn)代音樂理論與作曲技巧的結(jié)合研究試題及答案
- 2024年四川省公務(wù)員錄用考試《行測》真題及答案解析
- 2024-2025學(xué)年六年級上冊數(shù)學(xué)人教版期中考試試題(1-4單元)(含答案)
- 浙江省寧波市鎮(zhèn)海中學(xué)高三下學(xué)期適應(yīng)性測試數(shù)學(xué)試卷2
- Unit 7單元話題寫作“中國傳統(tǒng)節(jié)日”五年級下冊譯林版三起
- 憲法與法律學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 廣州數(shù)控GSK 980TDc車床CNC使用手冊
- ISO27001信息安全管理體系培訓(xùn)資料
- 紅色經(jīng)典影片與近現(xiàn)代中國發(fā)展學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 小學(xué)語文“跨學(xué)科學(xué)習(xí)任務(wù)群”內(nèi)涵及解讀
- 感覺統(tǒng)合教育指導(dǎo)師理論考試復(fù)習(xí)題庫(含答案)
- 申請開票額度合同范本
評論
0/150
提交評論