




下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、基于單片機(jī)的水溫控制系統(tǒng)畢業(yè)設(shè)計(jì)基于單片機(jī)的水溫控制系統(tǒng)設(shè)計(jì)摘要溫度控制系統(tǒng)可以說(shuō)是無(wú)所不在,熱水器系統(tǒng)、空調(diào)系統(tǒng)、冰箱、電飯煲、電風(fēng)扇 等家電產(chǎn)品以至手持式高速高效的計(jì)算機(jī)和電子設(shè)備,均需要提供溫度控制功能。本系 統(tǒng)的設(shè)計(jì)可以用于熱水器溫度控制系統(tǒng)和飲水機(jī)等各種電器電路中。它以單片機(jī) AT80C51為核心,通過(guò)3個(gè)數(shù)碼管顯示溫度和4個(gè)按鍵實(shí)現(xiàn)人機(jī)對(duì)話,使用單總線溫度 轉(zhuǎn)換芯片DS18B20實(shí)時(shí)采集溫度并通過(guò)數(shù)碼管顯示,并提供各種運(yùn)行指示燈用來(lái)指示系 統(tǒng)現(xiàn)在所處狀態(tài),如:溫度設(shè)置、加熱、停止加熱等,整個(gè)系統(tǒng)通過(guò)四個(gè)按鍵來(lái)設(shè)置加 熱溫度和控制運(yùn)行模式。關(guān)鍵詞:?jiǎn)纹瑱C(jī)、數(shù)碼管顯示、單總線、DS18
2、B20.BaSed TemPeratUre COntrOI SyStemAbStraCtTemPeratUre Control SyStem Can be Said to be ubiquitous, Water heaters, air COnditioning SyStemSJ refrigerators, rice cookers, electric fans and Other home appliances as Well as high-speed and efficient hand-held COmPUterS and electronic equipment are requ
3、ired to PrOVide temperature COntrOL The SyStem design Can be USed for drinking Water heater temperature ContrOl SyStemS and Other electrical circuits. AT80C51 microcOntroller as the COre Of it, through the three temperature digital display and 4 keys to achieve man-machine dialogue, the USe Of Singl
4、e-chip bus temperature COnversiOn temperature DS18B20 real-time acquisition and through the digital display and OfferS a variety Of OPerating Iight to indicate SyStem now IiVe in the state, SUCh as: temperature setting, heating, and StOP heating, the entire SyStem through the four buttOnS to Set the
5、 heating temperature and COntrOl the operating mode.KEY VVORDS : MiCrOCOntrOIler, digital display, Single bus, DS18B20緒論及時(shí)準(zhǔn)確地得到溫度信息并對(duì)其進(jìn)行適時(shí)的控制,在許多工業(yè)場(chǎng)合中都是重要的環(huán) 節(jié)水溫的變化影響各種系統(tǒng)的自動(dòng)運(yùn)作,例如冶金、機(jī)械、食品、化工各類工業(yè)中, 廣泛使用的各種加熱爐、熱處理爐、反應(yīng)爐等,對(duì)工件的水處理溫度要求嚴(yán)格控制。對(duì) 于不同控制系統(tǒng),其適宜的水質(zhì)溫度總是在一個(gè)范圍。超過(guò)這個(gè)范圍,系統(tǒng)或許會(huì)停止 運(yùn)行或遭受破壞,所以我們必須能實(shí)時(shí)獲取水溫變化。對(duì)于,
6、超過(guò)適宜范圍的溫度能夠 報(bào)警。同時(shí),我們也希望在適宜溫度范圍內(nèi)可以由檢測(cè)人員根據(jù)實(shí)際情況加以改變。單片機(jī)對(duì)對(duì)溫度的控制是工業(yè)生產(chǎn)中經(jīng)常使用的控制方法.自從1976年InteI公司 推出第一批單片機(jī)以來(lái),80年代單片機(jī)技術(shù)進(jìn)入快速發(fā)展時(shí)期,近年來(lái),隨著大規(guī)模集 成電路的發(fā)展,單片機(jī)繼續(xù)朝快速、高性能方向發(fā)展。單片機(jī)主要用于控制,它的應(yīng)用 領(lǐng)域遍及各行各業(yè),大到航天飛機(jī),小至日常生活中的冰箱、彩電,單片機(jī)都可以大顯 其能。單片機(jī)將微處理器、存儲(chǔ)器、定時(shí)/計(jì)數(shù)器、I/O接口電路等集成在一個(gè)芯片上的 大規(guī)模集成電路,本身即是一個(gè)小型化的微機(jī)系統(tǒng)。單片機(jī)技術(shù)與傳感與測(cè)量技術(shù)、信 號(hào)與系統(tǒng)分析技術(shù)、電路設(shè)
7、計(jì)技術(shù)、可編程邏輯應(yīng)用技術(shù)、微機(jī)接口技術(shù)、數(shù)據(jù)庫(kù)技術(shù) 以及數(shù)據(jù)結(jié)構(gòu)、計(jì)算機(jī)操作系統(tǒng)、匯編語(yǔ)言程序設(shè)汁、高級(jí)語(yǔ)言程序設(shè)計(jì)、軟件工程、 數(shù)據(jù)網(wǎng)絡(luò)通信、數(shù)字信號(hào)處理、自動(dòng)控制、誤差分析、儀器儀表結(jié)構(gòu)設(shè)計(jì)和制造工藝等 的結(jié)合,使得單片機(jī)的應(yīng)用非常廣泛。同時(shí),單片機(jī)具有較強(qiáng)的管理功能。采用單片機(jī) 對(duì)整個(gè)測(cè)量電路進(jìn)行管理和控制,使得整個(gè)系統(tǒng)智能化、功耗低、使用電子元件較少、 內(nèi)部配線少、成本低,制造、安裝、調(diào)試及維修方便。傳統(tǒng)的溫度采集電路相當(dāng)復(fù)雜,需要經(jīng)過(guò)溫度采集、信號(hào)放大、濾波、AD轉(zhuǎn)換等一 系列工作才能得到溫度的數(shù)字量,并且這種方式不僅電路復(fù)雜,元器件個(gè)數(shù)多,而且線 性度和準(zhǔn)確度都不理想.抗干擾能力
8、弱?,F(xiàn)在常用的溫度傳感器芯片不但功率消耗低、 準(zhǔn)確率高,而且比傳統(tǒng)的溫度傳感器有更好的線性表現(xiàn),最重要的一點(diǎn)是使用起來(lái)方 便。中文摘要英文摘要Il緒 論Ill1系統(tǒng)總體設(shè)計(jì)1硬件總體設(shè)計(jì)11.1.1硬件系統(tǒng)子模塊 1軟件總體設(shè)計(jì)12硬件系統(tǒng)設(shè)計(jì)2硬件電路分析和設(shè)計(jì)報(bào)告22. 1. 1單片機(jī)最小系統(tǒng)電路22. 1.2鍵盤電路32. 1. 3數(shù)碼管及指示燈顯示電路42. 1.4溫度采集電路52. 1.5電源電路102.1.6報(bào)警電路設(shè)計(jì) 112. 1. 7加熱管控制電路設(shè)計(jì)113系統(tǒng)軟件設(shè)計(jì)13主程序流程圖13各個(gè)模塊的流程圖153. 2. 1讀取溫度DS18B20模塊的流程153.2.2鍵盤掃描
9、處理流程173.2.3報(bào)警處理流程184系統(tǒng)調(diào)試19硬件電路調(diào)試19軟件調(diào)試19系統(tǒng)操作說(shuō)明書21數(shù)據(jù)測(cè)試21總結(jié)23致謝24參考文獻(xiàn)25附錄一:系統(tǒng)源程序26附錄二系統(tǒng)硬件總圖361 系統(tǒng)總體設(shè)計(jì)硬件總體設(shè)計(jì)設(shè)計(jì)并制作一個(gè)基于單片機(jī)的熱水器溫度控制系統(tǒng)的電路,其結(jié)構(gòu)框圖如圖I-I圖1 - 1系統(tǒng)結(jié)構(gòu)框圖硬件系統(tǒng)子模塊(1) 單片機(jī)最小系統(tǒng)電路部分(2) 鍵盤掃描電路部分(3) 數(shù)碼管溫度顯示和運(yùn)行指示燈電路部分(4) 溫度采集電路部分(5) 繼電器控制部分(6) 報(bào)警部分軟件總體設(shè)計(jì)良好的設(shè)計(jì)方案可以減少軟件設(shè)計(jì)的工作量,提高軟件的通用性,擴(kuò)展性和可讀 性。本系統(tǒng)的設(shè)計(jì)方案和步驟如下:(1)
10、 根據(jù)需求按照系統(tǒng)的功能要求,逐級(jí)劃分模塊。(2)明確各模塊之間的數(shù)據(jù)流傳遞關(guān)系,力求數(shù)據(jù)傳遞少,以增強(qiáng)各模塊的獨(dú)立 性,便于軟件編制和調(diào)試。(3)確定軟件開發(fā)環(huán)境,選擇設(shè)計(jì)語(yǔ)言,完成模塊功能設(shè)計(jì),并分別調(diào)試通過(guò)。(4)按照開發(fā)式軟件設(shè)計(jì)結(jié)構(gòu),將各模塊有機(jī)的結(jié)合起來(lái),即成一個(gè)較完善的系 統(tǒng)。首先接通電源系統(tǒng)開始工作,系統(tǒng)開始工作后,通過(guò)按鍵設(shè)定溫度值的上限值和 下限值,確定按鍵將設(shè)定的溫度值存儲(chǔ)到指定的地址空間,溫度傳感器開始實(shí)時(shí)檢 測(cè),調(diào)用顯示子程序顯示檢測(cè)結(jié)果,調(diào)用比較當(dāng)前顯示溫度值與開始設(shè)定的溫度值比 較,如果當(dāng)前顯示值低于設(shè)定值就通過(guò)繼電器起動(dòng)加熱裝置,直到達(dá)到設(shè)定值停止加 熱,之后進(jìn)
11、行保溫,如果溫度高于上限進(jìn)行報(bào)警。2硬件系統(tǒng)設(shè)計(jì)硬件電路分析和設(shè)計(jì)報(bào)告本次設(shè)計(jì)主要思路是通過(guò)對(duì)單片機(jī)編程將由溫度傳感器DS18B20采集的溫度外加驅(qū) 動(dòng)電路顯示出來(lái),包括對(duì)繼電器的控制,進(jìn)行升溫.當(dāng)溫度達(dá)到上下限蜂鳴器進(jìn)行報(bào) 警。開關(guān)按鈕是用于確認(rèn)設(shè)定溫度的,初始按下表示開始進(jìn)入溫度設(shè)定狀態(tài),然后通 過(guò)和設(shè)置溫度的升降,再次按下時(shí),表示確認(rèn)所設(shè)定的溫度.然后轉(zhuǎn)入升溫或降溫。 所接的發(fā)光二極管用于表示加熱狀態(tài),所接的發(fā)光二極管用于表示保溫狀態(tài)。接繼電 器。是溫度信號(hào)線。整個(gè)電路都是通過(guò)軟件控制實(shí)現(xiàn)設(shè)計(jì)要求。因?yàn)?0C51單片機(jī)內(nèi)部自帶8K的RoM和256字節(jié)的RA因此不必構(gòu)建單片機(jī)系統(tǒng)的 擴(kuò)展電
12、路。如圖2-1,單片機(jī)最小系統(tǒng)有復(fù)位電路和振蕩器電路。值得注意的一點(diǎn)是 單片機(jī)的31腳鬲/HP必須接高電平,否則系統(tǒng)將不能運(yùn)行。因?yàn)樵撃_不接時(shí)為低電 平,單片機(jī)將直接讀取外部程序存儲(chǔ)器,而系統(tǒng)沒有外部程序存儲(chǔ)器,所以丑/up必 須接VCC。在按鍵兩端并聯(lián)一個(gè)電解電容,濾除交流干擾,增加系統(tǒng)抗干擾能力。U235Q2815VCC012 345 67 H H 1 1 n K H PPPPPPPPINTlP20INTOP21AT80C51 P22TlP23TOP24P25EA/VPXlX2P26P27RESETRXDTXiIEDALE/PWRPSEN38373635343332212223242526
13、272810Il30。亠390001020304050607 PPPPPPPP圖2-1單片機(jī)最小系統(tǒng)圖鍵盤電路鍵盤是單片機(jī)應(yīng)用系統(tǒng)中的主要輸入設(shè)備,單片機(jī)使用的鍵盤分為編碼鍵盤和非 編碼鍵盤。編碼鍵盤采用硬件線路來(lái)實(shí)現(xiàn)鍵盤的編碼,每按下一個(gè)鍵,鍵盤能夠自動(dòng) 生成按鍵代碼,并有去抖功能。因此使用方便,但硬件較復(fù)雜。非編碼鍵盤僅僅提供 鍵開關(guān)狀態(tài),由程序來(lái)識(shí)別閉合鍵,消除抖動(dòng),產(chǎn)生相應(yīng)的代碼,轉(zhuǎn)入執(zhí)行該鍵的功 能程序。非編碼鍵盤中鍵的數(shù)量較少,硬件簡(jiǎn)單,在單片機(jī)中應(yīng)用非常廣泛。圖為按鍵和AT80C51的接線圖,檢測(cè)儀共設(shè)有4個(gè)按鍵,每個(gè)按鍵由軟件來(lái)決定其 功能,4個(gè)按鍵功能分別為:(1) SWI
14、:設(shè)定按鍵(設(shè)定按鍵)(2) SW2 :加法按鍵(當(dāng)前位加5)(3) SW3 :減法按鍵(當(dāng)前位減5)(4) SW4 :退出設(shè)置鍵(系統(tǒng)初始化)0123456711 Ix 11 11 11 11 H 11 PPPPPPPP0001020304050607 PPPPPPPPINTlP20INTOP21AT80C51 P22TlP23TOP24P25e7vpP26P27XlX2RESETRXDTXDRbALE/PWRPSEN2L 25_ 26._IJL(LOL39 2只 32 335332JL22.2X_2Z_4.7kVCCCOm234567893PLl4P1.25P1.36P1.47P1.58P
15、1.69PL712P1.0圖2-2單片機(jī)按鍵和AT80C51的接線圖數(shù)碼管及指示燈顯示電路(1) 數(shù)碼管顯示說(shuō)明各個(gè)數(shù)碼管的段碼都是單片機(jī)的數(shù)據(jù)口輸出,即各個(gè)數(shù)碼管輸入的段碼都是一樣 的,為了使其分別顯示不同的數(shù)字,可采用動(dòng)態(tài)顯示的方式,即先只讓最低位顯示 0(含點(diǎn)),經(jīng)過(guò)一段延時(shí),再只讓次低位顯示1,如此類推。由視覺暫留,只要我們的 延時(shí)時(shí)間足夠短,就能夠使得數(shù)碼的顯示看起來(lái)非常的穩(wěn)定清楚,過(guò)程如表3-1。表2-1數(shù)碼管編碼表段碼位碼顯示器狀態(tài)08HOIHabH02H12HOlH 222H08H 3alHIOH 424H20H 504H40H 6aaH80H7本論文中使用了3個(gè)數(shù)碼管,其中前
16、兩位使用動(dòng)態(tài)掃描顯示實(shí)測(cè)溫度,在設(shè)置加熱 溫度的時(shí)候,兩個(gè)數(shù)碼管是閃爍,以提示目前處在溫度設(shè)置狀態(tài)。第三位數(shù)碼管靜態(tài) 顯示符號(hào)“°C” O(2) 運(yùn)行指示燈說(shuō)明本熱水器溫度控制系統(tǒng)中共使用到3個(gè)LED指示燈和3個(gè)數(shù)碼管。右上角的紅色LED是電源指示燈;數(shù)碼管右邊的紅色LED是加熱指示燈,當(dāng)剛開機(jī)或溫度降到設(shè)定溫度5。C以下時(shí), 該燈會(huì)亮,表示目前處于加熱狀態(tài);當(dāng)溫度上升到設(shè)定溫度時(shí),該LED滅,同時(shí)數(shù)碼管 右邊的綠色LED亮,表示目前處于保溫狀態(tài),用戶可以使用熱水器;當(dāng)溫度再次下降到 設(shè)定溫度5°C以下時(shí),綠色LED滅,紅色加熱的LED燈亮,不斷循環(huán)。圖2-3 LED數(shù)碼管
17、顯示電路圖溫度采集電路(1)DS18B20 介紹DalIaS最新單線數(shù)字溫度傳感器DS18B20簡(jiǎn)介新的“一線器件”體積更小、適用電 壓更寬、更經(jīng)濟(jì)。DalIaS半導(dǎo)體公司的數(shù)字化溫度傳感器DS1820是世界上第一片支持 “一線總線”接口的溫度傳感器。一線總線獨(dú)特而且經(jīng)濟(jì)的特點(diǎn),使用戶可輕松地組建傳 感器網(wǎng)絡(luò),為測(cè)量系統(tǒng)的構(gòu)建引入全新概念。DS18B20s DS1822u線總線”數(shù)字化溫 度傳感器同DS18B20樣,DS18B20也支持“一線總線”接口,測(cè)量溫度范圍為-55CO >125CO)在-IOCo>85CO范圍內(nèi),精度為±0. 5COO DS1822的精度較差為&
18、#177;2C。現(xiàn)場(chǎng)溫 度直接以“一線總線"的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。其DS18B20的管腳 配置和封裝結(jié)構(gòu)如圖2-4所示。圖 2-4 DS18B20 封裝引腳定義: DQ為數(shù)字信號(hào)輸入/輸出端; GND為電源地; VDD為外接供電電源輸入端(在寄生電源接線方式時(shí)接地)。(2) DS18B20的單線(I-Wire bus)系統(tǒng)單線總線結(jié)構(gòu)是DS18B20的突出特點(diǎn),也是理解和編程的難點(diǎn)。從兩個(gè)角度來(lái)理解 單線總線:第一,單線總線只定義了一個(gè)信號(hào)線,而且DS18B20智能程度較低(這點(diǎn)可 以與微控制器和SPl器件間的通信做一個(gè)比較),所以DS18B20和處理器之間的通信
19、必 然要通過(guò)嚴(yán)格的時(shí)序控制來(lái)完成。第二,DS18B20的輸出口是漏級(jí)開路輸出,這里給出 個(gè)微控制器和DS18B20連接原理圖。這種設(shè)計(jì)使總線上的器件在合適的時(shí)間驅(qū)動(dòng)它。 顯然,總線上的器件與(Wired AND)關(guān)系。這就決定:(1)微控制器不能單方面控 制總線狀態(tài)。之所以提出這點(diǎn),是因?yàn)橄喈?dāng)多的文獻(xiàn)資料上認(rèn)為,微控制器在讀取總 線上數(shù)據(jù)之前的I/O口的置1操作是為了給DS18B20個(gè)發(fā)送數(shù)據(jù)的信號(hào)。這是一個(gè)錯(cuò)誤 的觀點(diǎn)。如果當(dāng)前DS18b20發(fā)送0,即使微控制器I/O口置1,總線狀態(tài)還是0;置1操作是 為了是I/O口截止(CUt Off),以確保微控制器正確讀取數(shù)據(jù)。(2)除了DS18B20
20、發(fā) 送0的時(shí)間段,其他時(shí)間其輸出口自動(dòng)截止。自動(dòng)截止是為確保:1時(shí),在總線操作的 間隙總線處于空閑狀態(tài),即高態(tài)。2時(shí),確保微控制器在寫1的時(shí)候DS18B20可以正確讀 入。由于DS18B20采用的是I-Wire總線協(xié)議方式,即在一根數(shù)據(jù)線實(shí)現(xiàn)數(shù)據(jù)的雙向傳 輸,而對(duì)AT89S52單片機(jī)來(lái)說(shuō),硬件上并不支持單總線協(xié)議,因此,我們必須采用軟件 的方法來(lái)模擬單總線的協(xié)議時(shí)序來(lái)完成對(duì)DS18B20芯片的訪問(wèn)。 DS18B20的復(fù)位時(shí)序,如圖2-5圖2-5 DS18B20的復(fù)位時(shí)序圖 DS18B20的讀時(shí)序?qū)τ贒S18B20的讀時(shí)序分為讀0時(shí)序和讀1時(shí)序兩個(gè)過(guò)程。對(duì)于DS18B20的讀時(shí)隙是從主機(jī)把單總線
21、拉低之后,在15秒之內(nèi)就得釋放單總線, 以讓DS18B20把數(shù)據(jù)傳輸?shù)絾慰偩€上。DS18B20在完成一個(gè)讀時(shí)序過(guò)程,至少需要60US 才能完成。DS18B20的讀時(shí)序圖如圖2-6所示。圖2-6 DS18B20的讀時(shí)序 DS18B20的寫時(shí)序?qū)τ贒S18B20的寫時(shí)序仍然分為寫0時(shí)序和寫1時(shí)序兩個(gè)過(guò)程。對(duì)于DS18B20寫0時(shí)序和寫1時(shí)序的要求不同,當(dāng)要寫0時(shí)序時(shí),單總線要被拉低至 少60us,保證DS18B20能夠在15us到45us之間能夠正確地采樣IO總線上的“0”電平, 當(dāng)要寫1時(shí)序時(shí),單總線被拉低之后,在15us之內(nèi)就得釋放單總線。如圖2-7所示。圖2-7 DS18B20的寫時(shí)序圖(3
22、) DS18B20的供電方式在圖2-8中示出了DS18B20的寄生電源電路。當(dāng)DQ或VDD引腳為高電平時(shí),這個(gè)電路 便“取”的電源。寄生電路的優(yōu)點(diǎn)是雙重的,遠(yuǎn)程溫度控制監(jiān)測(cè)無(wú)需本地電源,缺少 正常電源條件下也可以讀RoM。為了使DS18B20能完成準(zhǔn)確的溫度變換.當(dāng)溫度變換發(fā) 生時(shí),DQ線上必須提供足夠的功率。有兩種方法確保DS18B20在其有效變換期內(nèi)得到足夠的電源電流。第一種方法是 發(fā)生溫度變換時(shí),在DQ線上提供一強(qiáng)的上拉,這期間單總線上不能有其它的動(dòng)作發(fā) 生。如圖2-8所示,通過(guò)使用一個(gè)MOSFET把DQ線直接接到電源可實(shí)現(xiàn)這一點(diǎn),這 時(shí)DS18B20工作在寄生電源工作方式,在該方式下V
23、DD引腳必須連接到地。圖2-8DS18B20供電方式1另一種方法是DS18B20工作在外部電源工作方式,如圖2-9所示。這種方法的優(yōu) 點(diǎn)是在DQ線上不要求強(qiáng)的上拉,總線上主機(jī)不需要連接其它的外圍器件便在溫度變 換期間使總線保持高電平,這樣也允許在變換期間其它數(shù)據(jù)在單總線上傳送。此外, 在單總線上可以并聯(lián)多個(gè)DS18B20,而且如果它們?nèi)坎捎猛獠侩娫垂ぷ鞣绞剑敲?通過(guò)發(fā)出相應(yīng)的命令便可以同時(shí)完成溫度變換。圖2-9 DS18B20供電方式2(4) DS18B20設(shè)計(jì)中應(yīng)注意的幾個(gè)問(wèn)題DS18B20具有測(cè)溫系統(tǒng)簡(jiǎn)單、測(cè)溫精度高、連接方便、占用接口線少等優(yōu)點(diǎn),但在 實(shí)際應(yīng)用中也應(yīng)注意以下幾方面的問(wèn)
24、題:較小的硬件開銷需要相對(duì)復(fù)雜的軟件進(jìn)行補(bǔ) 償,由于DS18B20與微處理器間采用串行數(shù)據(jù)傳送。因此,在對(duì)DS18B20進(jìn)行讀寫編 程時(shí),必須嚴(yán)格的保證讀寫時(shí)序,否則將無(wú)法讀取測(cè)溫結(jié)果。在DS18B20有關(guān)資料中 均未提及Iwire上所掛DS18B20數(shù)量問(wèn)題,容易使人i吳認(rèn)為可以掛任意多個(gè)DS18B20,在 實(shí)際應(yīng)用中并非如此。當(dāng)IWire上所掛DS18B20超過(guò)8個(gè)時(shí),就需要考慮微處理器的總線 驅(qū)動(dòng)問(wèn)題,這一點(diǎn)在進(jìn)行多點(diǎn)測(cè)溫系統(tǒng)設(shè)計(jì)時(shí)要加以注意。連接DS18B20的總線電纜是有長(zhǎng)度限制的。實(shí)際應(yīng)用中,測(cè)溫電纜線建議采用屏蔽4芯雙絞線,其中一對(duì)線接地線 與信號(hào)線,另一組接YCC和地線,屏蔽層
25、在源端單點(diǎn)接地。本文以廣泛應(yīng)用的數(shù)字溫度傳感器DS18B20為例.說(shuō)明了IWire總線的操作過(guò)程和 基本原理。事實(shí)上,基于IWire總線的產(chǎn)品還有很多種,女OlWire總線的E2PROM.實(shí)時(shí) 時(shí)鐘、電子標(biāo)簽等。他們都具有節(jié)省I/O資源、結(jié)構(gòu)簡(jiǎn)單、開發(fā)快捷、成本低廉、便于 總線擴(kuò)展等優(yōu)點(diǎn),因此有廣闊的應(yīng)用空間,具有較大的推廣價(jià)值。本設(shè)計(jì)將溫度傳感器DS18B20與單片機(jī)TXD引腳相連讀取溫度傳感器的數(shù)值。DS18B2O與單片機(jī)連接圖如圖所示2T0所示。U201234567P1P1P1P1P1P1P1PIgl 9- 3 4 5 6 7 POPOPOPO4POPO(PO15143119INTlP2
26、0INTOP2ITlAT80C51 驚TO應(yīng)P25EA/VPP26P27XlX2RESETRXD_TXD_RDALE/PWRPSEN,圖2-10 DS18B20與單片機(jī)連接圖電源電路采用L7805穩(wěn)壓塊,輸出為5V。電子組件要正常運(yùn)作都需要電源電壓供電,一般常 用的電源電壓為+5V或÷12V1因?yàn)閿?shù)字IC (Ingegrated CirCUit :集成電路)所供給 的電壓為+5V,而CMoS IC所供給的電壓為+12V, 7805是一個(gè)穩(wěn)壓塊。7805穩(wěn)壓管把高 電壓轉(zhuǎn)換到低電壓,7805穩(wěn)壓管具有保護(hù)單片機(jī)的作用。L7805輸出端要并聯(lián)上一個(gè)電 解電容,濾除交流電干擾,防止損壞單片
27、機(jī)系統(tǒng)。本設(shè)計(jì)采用兩種供電方式,一種為 DC718V直流穩(wěn)壓電源變換成5V的直流電;另一種為四節(jié)干電池共6Y經(jīng)二極管加壓后得 到將近5V的直流電源,電源配以開關(guān)和指示燈,以方便使用。黃色發(fā)光二極管表示保 溫,紅色的表示加熱狀態(tài)。圖2-11系統(tǒng)電源設(shè)計(jì)圖同時(shí)可以在系統(tǒng)里設(shè)定溫度上限值,由于加熱停止后,加熱管還有余熱當(dāng)采集到 的外界溫度高于當(dāng)前所設(shè)定溫度上限值時(shí),程序就會(huì)進(jìn)入報(bào)警子程序,觸發(fā)蜂鳴器進(jìn) 行報(bào)警。報(bào)警電路原理圖如圖所示。圖2-12報(bào)警電路圖圖中的三極管8550的作用是增加驅(qū)動(dòng)能力,比9012的驅(qū)動(dòng)電流還大些,因此選用 8550o當(dāng)程序進(jìn)入報(bào)警子程序時(shí),把置0,就會(huì)觸發(fā)蜂鳴器,為了使報(bào)警
28、聲音效果更 好,對(duì)取反,發(fā)出報(bào)警嘟嚕聲音。加熱管控制電路設(shè)計(jì)繼電器是常用的輸出控制接口,可以做交直流信號(hào)的輸出切換。它具有控制系統(tǒng)(又稱輸入回路)和被控制系統(tǒng)(又稱輸出回路),通常應(yīng)用于自動(dòng)控制電路中,它 實(shí)際上是用較小的電流去控制較大電流的一種“自動(dòng)開關(guān)”。故在電路中起著自動(dòng)調(diào) 節(jié)、安全保護(hù)、轉(zhuǎn)換電路等作用。繼電器控制接點(diǎn)操作說(shuō)明如下: COM : CommOnl共同點(diǎn)。輸出控制接點(diǎn)的共同接點(diǎn)。NC : NOrmaI CIOSe常閉點(diǎn)。以Com為共同點(diǎn),M與CoM在平時(shí)是呈導(dǎo)通狀態(tài)的。NO : NOrmaI OPen常開點(diǎn)。0與CoM在平時(shí)是呈開路狀態(tài)的,當(dāng)繼電器動(dòng)作時(shí),0與CoM導(dǎo)通,C與
29、CoM則呈開路狀態(tài)。當(dāng)89S52的輸出高電平時(shí),繼電器不導(dǎo)通,反之當(dāng)輸出低電平時(shí),繼電器導(dǎo)通,這 樣就激活了連接回路。圖2-13單片機(jī)控制繼電器電3系統(tǒng)總設(shè)計(jì)本系統(tǒng)采用的是循環(huán)查詢方式,來(lái)顯示和控制溫度的。主要包括四段程序的設(shè)計(jì):DS18B20讀溫度程序,數(shù)碼管的驅(qū)動(dòng)程序,鍵盤掃描程序,以及抱經(jīng)處理程序。主程序流程圖yi保溫指示燈亮,停止加熱加熱指示燈亮,開始加熱 N -V二退度二二二溫度一N預(yù)設(shè)溫度加5預(yù)設(shè)溫度減5i18B20圖3-1主程序流程圖各個(gè)模塊的流程圖讀取溫度DS18B20模塊的流程由于DS18B20采用的是一根數(shù)據(jù)線實(shí)現(xiàn)數(shù)據(jù)的雙向傳輸,而對(duì)AT89S52單片機(jī)來(lái) 說(shuō),硬件上并不支
30、持單總線協(xié)議,因此,我們必須采用軟件的方法來(lái)模擬單總線的協(xié) 議時(shí)序來(lái)完成對(duì)DS18B20芯片的訪問(wèn)。DS18B20單線通信功能是分時(shí)完成的,它有嚴(yán)格的時(shí)隙概念。因此系統(tǒng)對(duì)DS18B20 的各種操作必須按協(xié)議進(jìn)行。操作協(xié)議為:初始化DS18B20 (發(fā)復(fù)位脈沖)一發(fā)RoH功 能命令一發(fā)存儲(chǔ)器操作命令一處理數(shù)據(jù)DS18B20雖然具有測(cè)溫系統(tǒng)簡(jiǎn)單、測(cè)溫精度高、 連接方便、占用口線少等優(yōu)點(diǎn),DS18B20必須首先調(diào)用啟動(dòng)溫度轉(zhuǎn)換函數(shù),根據(jù)數(shù)據(jù)手冊(cè)上對(duì)應(yīng)轉(zhuǎn)換時(shí)間來(lái)超作, 如為12位轉(zhuǎn)換,則應(yīng)該是最大750mS,另外在對(duì)DS18B20超作時(shí),時(shí)序要求非常嚴(yán)格, 因此最好禁止系統(tǒng)中斷。由于DS18B20是在
31、一根I/O線上讀寫數(shù)據(jù),因此,對(duì)讀寫的數(shù)據(jù)位有著嚴(yán)格的時(shí)序 要求。DS18B20有嚴(yán)格的通信協(xié)議來(lái)保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。該協(xié)議定義 了幾種信號(hào)的時(shí)序:初始化時(shí)序、讀時(shí)序、寫時(shí)序。所有時(shí)序都是將主機(jī)作為主設(shè) 備.而每一次命令和數(shù)據(jù)的傳輸都是從主機(jī)主動(dòng)啟動(dòng)寫時(shí)序開始,如果要求單總線器 件回送數(shù)據(jù),在進(jìn)行寫命令后,主機(jī)需啟動(dòng)讀時(shí)序完成數(shù)據(jù)接收。數(shù)據(jù)和命令的傳輸 都是低位在先。DS18B20的讀時(shí)序:(1) 對(duì)于DS18B20的讀時(shí)序分為讀0時(shí)序和讀1時(shí)序兩個(gè)過(guò)程。(2) 對(duì)于DS18B20的讀時(shí)隙是從主機(jī)把單總線拉低之后,在15秒之內(nèi)就得釋放單 總線,以讓DS18B20把數(shù)據(jù)傳輸?shù)絾慰偩€
32、上。DS18B20在完成一個(gè)讀時(shí)序過(guò)程,至少需要 60US才能完成。DS18B20的寫時(shí)序:(1)對(duì)于DS18B20的寫時(shí)序仍然分為寫0時(shí)序和寫1時(shí)序兩個(gè)過(guò)程。(2)對(duì)于DS18B20寫0時(shí)序和寫1時(shí)序的要求不同,當(dāng)要寫0時(shí)序時(shí),單總線要被拉 低至少60us,保證DS18B20能夠在15us到45us之間能夠正確地采樣IO總線上的“0”電 平,當(dāng)要寫1時(shí)序時(shí),單總線被拉低之后,在15us之內(nèi)就得釋放單總線。系統(tǒng)程序設(shè)計(jì)主要包括三部分:讀岀溫度子程序、溫度轉(zhuǎn)換命令子程序、顯示溫度子程序。程序代碼為:圖3-2讀取溫度DS18B20模塊的流程圖GET-TEMPER: SETB DQ;讀出轉(zhuǎn)換后的溫度
33、值LCALL INlT-1820;先復(fù)位 DS18B20JB FLAGl, TSS2RET ;判斷DS1820是否存在若DS18B20不存在則返回TSS2: MOVA,#0CCH;DS18B20已經(jīng)被檢測(cè)到!跳過(guò)ROM匹配LCALL WRlTE-I820MOVA, #44H;發(fā)出溫度轉(zhuǎn)換命令LCALL WRlTE.1820LCALL DISPLAY ;這里通過(guò)調(diào)用顯示子程序?qū)崿F(xiàn)延時(shí)一段時(shí)間,等待AD轉(zhuǎn)換結(jié)束,12位的話750微秒LCALL INlT_1820;準(zhǔn)備讀溫度前先復(fù)位MOV A,#0CCH;跳過(guò)RoM匹配LCALL WRlTE_1820MOV A, SOBEH;發(fā)出讀溫度命令LCAL
34、L WRITE_1820LCALL READ_18200;將讀出的溫度數(shù)據(jù)保存到35H/36HRET鍵盤掃描處理流程此流程為鍵盤掃描處理,CFU通過(guò)檢測(cè)各數(shù)據(jù)線的狀態(tài)(0或1)就能知道是否有按鍵閉合以及哪個(gè)按鍵閉合。鍵盤管理程序的功能是檢測(cè)是否有按鍵閉合,如果有按鍵 閉合,消除抖動(dòng),根據(jù)鍵號(hào)轉(zhuǎn)到相應(yīng)的鍵處理程序,按鍵流程圖如圖3-3所示。圖3-3鍵盤掃描子程序流程圖3. 2. 3報(bào)警處理流程運(yùn)行程序后,溫度傳感器DS18B2O即可對(duì)環(huán)境進(jìn)行溫度采集,并送LED數(shù)碼管顯 示。我們可以在程序里設(shè)定溫度上限值當(dāng)采集到的外界溫度高于當(dāng)前所設(shè)定溫度上 限值時(shí),程序就會(huì)進(jìn)入報(bào)警子程序,觸發(fā)蜂鳴器進(jìn)行報(bào)警。
35、其程序流程圖如圖3-4所圖3-4報(bào)警子程序流程圖4系統(tǒng)調(diào)試硬件電路調(diào)試仔細(xì)檢查所接電路,按照硬件原理圖接線,理論上是能實(shí)現(xiàn)的,如果數(shù)碼管不顯 示,則應(yīng)該檢查線路是否正確或是因?yàn)閱纹瑱C(jī)沒有工作,還有集電極和發(fā)射極是否 接對(duì)。如果只顯示兩個(gè)八,則可能是DS18B20沒有接正確檢查上拉電路是否接好。 另外要注意的是,由單片機(jī)輸出的控制信號(hào)比較小,需要進(jìn)行放大才能驅(qū)動(dòng)繼電器工 作,否則就不能實(shí)現(xiàn)升溫過(guò)程,通常選用8350三極管來(lái)進(jìn)行放大。還有220V交流電 綠色接頭和加熱管黃色接頭必須接正確.否則導(dǎo)致電路燒壞。蜂鳴器是低電平有效。 如果能注意這些問(wèn)題,電路基本不會(huì)出錯(cuò)。軟件調(diào)試如果硬件電路檢查后,沒有
36、問(wèn)題卻實(shí)現(xiàn)不了設(shè)計(jì)要求,則可能是軟件編程的問(wèn) 題,首先應(yīng)檢查初始化程序,然后是讀溫度程序,顯示程序,以及繼電器控制程序, 對(duì)這些分段程序,要注意邏輯順序,調(diào)用關(guān)系,以及涉及到了標(biāo)號(hào),有時(shí)會(huì)因?yàn)橐粋€(gè) 標(biāo)號(hào)而影響程序的執(zhí)行,除此之外,還要熟悉各指令的用法,以免出錯(cuò)。還有一個(gè)容 易忽略的問(wèn)題就是,源程序生成的代碼是否燒入到單片機(jī)中,如果這一過(guò)程出錯(cuò),那 不能實(shí)現(xiàn)設(shè)計(jì)要求也是情理之中的事。本人在設(shè)計(jì)的時(shí)候在偉福仿真軟件進(jìn)行調(diào)試, 通過(guò)此軟件進(jìn)行調(diào)試可以很方便的觀察單片機(jī)內(nèi)部各個(gè)寄存器及內(nèi)部存儲(chǔ)器變化情 況,以方便進(jìn)行調(diào)試。圖為單片機(jī)功能調(diào)試圖:圖4-1單片機(jī)功能調(diào)試圖硬件與軟件調(diào)試相結(jié)合,仔細(xì)檢查各個(gè)
37、模塊的設(shè)計(jì),舊能順利完成任務(wù),實(shí)現(xiàn)設(shè) 計(jì)要求,在調(diào)試過(guò)程中必須認(rèn)真耐心,不能有一點(diǎn)馬虎,否則遺漏一個(gè)小的問(wèn)題就會(huì) 導(dǎo)致整個(gè)設(shè)計(jì)的失敗。系統(tǒng)操作說(shuō)明本系統(tǒng)上電后數(shù)碼管顯示當(dāng)前測(cè)量溫度,此時(shí)加熱指示燈和保溫指示燈均 不點(diǎn)亮;若此時(shí)按“自動(dòng)加熱”鍵,則單片機(jī)自動(dòng)將預(yù)加熱溫度設(shè)置為80。C并 開始加熱,送出一個(gè)加熱信號(hào),并點(diǎn)亮加熱指示燈;若按“溫度設(shè)置”鍵,則 進(jìn)入預(yù)加熱溫度設(shè)置界面,此時(shí)數(shù)碼管閃爍顯示預(yù)設(shè)置溫度,此時(shí)通過(guò)按鍵“ + ”和“ - ”進(jìn)行設(shè)置溫度,預(yù)設(shè)置溫度按“5”遞増或遞減,設(shè)置好溫度后 再按一次“溫度設(shè)置”鍵確定,單片機(jī)保存預(yù)設(shè)置溫度,并開始加熱。此時(shí)單 片機(jī)通過(guò)數(shù)碼管顯示實(shí)時(shí)檢測(cè)的
38、溫度并和預(yù)設(shè)置溫度進(jìn)行對(duì)比,如果實(shí)測(cè)溫度 大于或等于預(yù)設(shè)置溫度,則單片機(jī)發(fā)出停止加熱信號(hào)并熄滅加熱指示燈,點(diǎn)亮 保溫指示燈,且當(dāng)超過(guò)預(yù)設(shè)溫度時(shí)發(fā)出報(bào)警;當(dāng)溫度下降到預(yù)設(shè)置溫度以下3度 時(shí),單片機(jī)再次發(fā)出加熱信號(hào),同時(shí)熄滅保溫指示燈,點(diǎn)亮加熱指示燈,依次 循環(huán)控制。數(shù)據(jù)測(cè)試1 -靜態(tài)數(shù)據(jù)測(cè)試取一桶凈水,改變它的溫度,觀察數(shù)碼管上顯示的溫度值,并用溫度計(jì)進(jìn) 行測(cè)溫,記錄兩組數(shù)據(jù),比較差異。記錄表如下:表47靜態(tài)溫度數(shù)據(jù)測(cè)試表123456顯不溫度234763778490測(cè)量溫度244763808491有測(cè)試數(shù)據(jù)可知,本系統(tǒng)測(cè)溫結(jié)果與溫度計(jì)測(cè)溫基本一致,能滿足設(shè)計(jì), 證明了設(shè)計(jì)的合理性。2.動(dòng)態(tài)數(shù)據(jù)測(cè)
39、試進(jìn)行溫度設(shè)定,通過(guò)設(shè)定溫度值(73C) I觀察加熱管的加熱情況,以及 數(shù)碼管的顯示值,再用溫度計(jì)測(cè)量水溫,每隔一段時(shí)間記錄一次數(shù)據(jù),將兩組 值進(jìn)行比較。記錄表如下:(設(shè)定前溫度為25。C)表4-2靜態(tài)溫度數(shù)據(jù)測(cè)試表x組數(shù)分12345678910111213顯ZF溫度25293439424853586267707375測(cè)量溫度25283438424953596367717475通過(guò)上表可看出在加熱的過(guò)程中,顯示的溫度與實(shí)測(cè)的溫度近似一樣,說(shuō)明系統(tǒng)的設(shè)計(jì)達(dá)到精度要求,但還是略有偏差,基本不影響設(shè)計(jì)結(jié)果。整個(gè)測(cè)試過(guò)程表明設(shè)計(jì)達(dá)到了任務(wù)書的要求,證明了該方案是合理可行的,順利完成了設(shè)計(jì),達(dá)到了預(yù)想結(jié)
40、果。通過(guò)本次的設(shè)計(jì),使我們不僅對(duì)單片機(jī)這門課程有了更深刻的認(rèn)識(shí),懂得 了如何運(yùn)用課本知識(shí)結(jié)合實(shí)際來(lái)完成定時(shí)器的顯示和編程方法以及數(shù)碼顯示電 路的驅(qū)動(dòng)方法,使我們能夠很快的適應(yīng)現(xiàn)代控制技術(shù)發(fā)展的需求,同時(shí)也提高 了我們的思維能力和實(shí)際操作能力,為以后更好的走上工作崗位奠定了堅(jiān)實(shí)的 基礎(chǔ)。另外,這次的設(shè)計(jì)還讓我更進(jìn)一步的認(rèn)識(shí)了關(guān)于AT80C51等芯片的引腳功 能以及使用方法,使我學(xué)會(huì)了應(yīng)用不同的芯片來(lái)配合完成整個(gè)設(shè)計(jì)的操作。在做硬件電路的這段時(shí)間里,從思考設(shè)訃到對(duì)電路的調(diào)試經(jīng)過(guò)了許多困 難。同樣在對(duì)軟件進(jìn)行設(shè)訃時(shí),也可為一路坎坷。但是通過(guò)對(duì)軟硬件不斷撞 墻,不斷思考解決問(wèn)題的過(guò)程中,我學(xué)會(huì)了很多東
41、西,同時(shí)對(duì)單片機(jī)也有了更 深的認(rèn)識(shí)。在做設(shè)計(jì)的時(shí)候,很需要耐心和對(duì)事物的細(xì)心,很多時(shí)候一個(gè)簡(jiǎn)單 問(wèn)題的一個(gè)簡(jiǎn)單的疏忽就會(huì)導(dǎo)致整個(gè)電路的不丄作,只有不斷的檢查不斷的調(diào) 試,才能真正完成一個(gè)設(shè)計(jì)的制作。只有不斷的發(fā)現(xiàn)問(wèn)題解決問(wèn)題,才能從問(wèn) 題中改變自己,提升自己對(duì)單片機(jī)的能力。此設(shè)計(jì)雖然能夠完成溫度的顯示和控制,但功能和精度有待于進(jìn)一步提 高。以后可以通過(guò)加入PlD算法優(yōu)化控制功能,并通過(guò)液晶顯示屏實(shí)時(shí)顯示溫 度。致謝經(jīng)過(guò)半年的忙碌和工作,本次畢業(yè)設(shè)計(jì)已經(jīng)接近尾聲,作為一個(gè)專科生的 畢業(yè)設(shè)計(jì),由于經(jīng)驗(yàn)的匱乏,難免有許多考慮不周全的地方,如果沒有導(dǎo)師的 督促指導(dǎo),以及一起工作的同學(xué)們的支持,想要完成
42、這個(gè)設(shè)計(jì)是難以想象的。 首先感謝李月英老師出的這些論文選題,給了我這么一個(gè)展現(xiàn)自己能力的平 臺(tái)。在這一個(gè)論文設(shè)計(jì)之中,涉及到了方方面面的知識(shí),沒有大學(xué)期間各個(gè)學(xué) 科老師的辛勤栽培,也不會(huì)有我見天的成果。所以要感謝所有的任課老師。在這里也要感謝我的室友們,是他們?cè)谄綍r(shí)無(wú)微不至的照顧,才有了我更 棒的身體,和更多的學(xué)習(xí)時(shí)間。三年的時(shí)間里,我們沒有紅過(guò)臉,我們一直保 持著那份純真的友誼,是我們的互相幫助,才有了今天的這份德業(yè)雙修。所以 在這里也要感謝我們的鄭州科技學(xué)院,是學(xué)院給了我們這么寬廣的一個(gè)交流平 臺(tái),能夠在獲得知識(shí)的同時(shí),也能得到同樣珍貴的友誼。在論文即將完成之際,我的心情很是激動(dòng),那些埋頭
43、苦干和終曰坐在電腦 跟前的場(chǎng)景還是歷歷在目,辛勤勞動(dòng)的付出,相信也能夠給我?guī)?lái)同樣分量的 收獲。從開始進(jìn)入課題到論文的順利完成,有太多太多的要感謝的朋友和老 師,在這里請(qǐng)接受我真摯的感謝!1 樂建波編著溫度控制系統(tǒng)化學(xué)工業(yè)出版社2 謝自美編著電子線路設(shè)計(jì)實(shí)驗(yàn)測(cè)試(第二版)華中科技大學(xué)出版社20003 武慶生仇梅編著單片機(jī)原理與應(yīng)用電子科技大學(xué)出版社4 譚浩強(qiáng)編著C程序設(shè)計(jì)北京:清華大學(xué)出版社1999年5 華中理工大學(xué)電子學(xué)教研室編電子技術(shù)基礎(chǔ)數(shù)字部分(第四版)高等 教育出版社6 電子制作7 王彬任艷穎編著DigitaI IC SyStem DeSign西安電子科技大學(xué)出版 社8 趙麗娟邵欣編著
44、基于單片機(jī)的溫度監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)機(jī)械制造9 郭炳坤簡(jiǎn)單的恒溫箱溫控電路J儀器與未來(lái),1991附錄仁系統(tǒng)源程序EMPER_L EQU29H;用于保存讀出溫度的低8位TEMPERJiEQU28H;用于保存讀出溫度的高8位FLAGIEQU38H;是否檢測(cè)到DS18B20標(biāo)志位A_BITEQU20H;數(shù)碼管個(gè)位數(shù)存放內(nèi)存位置B_BITEQU21H;數(shù)碼管十位數(shù)存放內(nèi)存位置BIEQU70H;溫度小數(shù)點(diǎn)位AIEQU71H;設(shè)定溫度值DQEQU;DQ為DS18B20數(shù)據(jù)位BELLEQU;/蜂鳴報(bào)警ORGOOOOH;單片機(jī)內(nèi)存分配申明!AjMPMAlNO;IllllllllllllllII/前面的都是定義
45、MAIN: MOV R0, #10MI:CPLACALL DELAYI25DJNZ RO, MI ;/此段為燈閃5次,無(wú)實(shí)際意義;/MAINO:MOV Al, #80;默認(rèn)加熱為80度MAINl:LCALL D1820 ;調(diào)用讀溫度子程序LCALLDISPLAY;調(diào)用數(shù)碼管顯示子程序MOVA, 29HCLRCCJNEA,A1,MAIN1.1SETBBELL ; 溫度相等,關(guān)閉蜂鳴器AJMPMAlNl_1_A; /下等不用叫蜂鳴器MAIN1_1:JCMAlNI_2;為1轉(zhuǎn)移,表示小于設(shè)定溫度CPL BELL ;蜂鳴器斷續(xù)鳴叫MAINI_1_A: CLR;/下面是表示沒達(dá)到溫度SETBAJMP M
46、AIN2;Iiihiiiiiihiiiiii/主要是檢測(cè)溫度是否小于設(shè)定的溫度,小于,則開發(fā)熱管CLRMAlNI_2:SETB BELL ;/關(guān)閉蜂鳴器CLR; 開發(fā)熱管SETB;/A/上面的是大于,關(guān)發(fā)熱管MAIN2:JB ,MAINl;/看有否按下ACALLDELAYl25;延時(shí)防抖動(dòng),常用的手法,網(wǎng)上很多介紹的JB ,MAINl;/再次查看CLRJNB , $; /等按鍵完全松手才進(jìn)入!SETBSETB;/檢測(cè)到按鍵后后進(jìn)入設(shè)定溫度ACALL DlSPLAYIJB,MAIN2_2ACALLDELAYI25JB,MAIN2_2JNB,$MOVA,#5ADDA, AlCLRCMAIN2_1:
47、CJNEA,#100, MAlN2_1_1MOV A, #99AJMPMAIN2丄3/上面這一段是+5度按鍵,按下+5度MAIN2_1_1:JCMAlN2_1_3MAIN2_1_2:CLRCMOVA, #99MAIN2_1_3:MOVAl, AMAIN2._2:JB,MAIN2_3ACALLDELAYl25JB,MAIN2_3JNB,$MOVA,A1CJNEA, #99, ZYIMOVB,#4AJMPZY2ZYl:MOVB, #5ZY2:CLRCMOVA,A1SUBBA,BMAIN2_2_1:JNCMAIN2._2_2MOVAl, #0AJMPMAIN2.3;Iiiiiiiiii,/U/上面這
48、一段是-5度按鍵,按下-5度MAIN2._2_2:MOVAl, AMAIN2.3JB,NlAlN21ACALL DELAYI25JB , MAIN2.1CLRJNB , $SETBAJMP MAlNlD1820:'/上面這一段是退出的意思的!LCALL GET_TENIPER ;調(diào)用讀溫度子程序MOV Bl, 29HMOV A, 29HMOV C, 40H ;將28只中的最低位移入CRRC AMOV C,41HRRC AMOV C, 42HRRC AMOV C, 43HRRC AMOV 29H, AMOV A, BIMOV B,#IoHMUL ABMOV B,#IoHDlV ABMOV
49、 B,#10MUL ABMOVB,#IOHDlV ABRET;/上面這一段是讀取溫度后進(jìn)行轉(zhuǎn)換的意思!;/-Jiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii/INlT_1820: SETB DQ;這是DS18B20復(fù)位初始化子程序NOPCLR DQ;主機(jī)發(fā)出延時(shí)537微秒的復(fù)位低脈沖MOV Rl, #3TSRl: MOVR0, #107DJNZR0, $DJNZRl, TSRISETBNOPNOPNOPNOPDQ;然后拉高數(shù)據(jù)線MOVR0, #25HTSR2: JNBDQ, TSR3;等待 DS18B20 回應(yīng)DJNZRO, TSR2LJMPTSR4 ;延時(shí)TSR3: SETB
50、FLAGI;置標(biāo)志位,表示DS1820存在LJMPTSRoTSR4: CLRFLAGI;清標(biāo)志位,表示DS1820不存在LJMPTSR7TSR6: DJNZRO, TSR6;時(shí)序要求延時(shí)一段時(shí)間TSR7: SETBDQRETGET TEMPER:SETBDQ;讀出轉(zhuǎn)換后的溫度值LCALLINIT-.1820;先復(fù)位 DS18B20JBFLAGl, TSS2RET;判斷DS1820是否存在若DS18B20不存在則返回TSS2:MOVA, #0CCH;DS18B20 已經(jīng)被檢測(cè)到!跳過(guò) RoM匹配LCALLWRITE1820MOVA, #44H;發(fā)出溫度轉(zhuǎn)換命令LCALLWRITE 1820LCALLDlSPLAY;這里通過(guò)調(diào)用顯示子程序?qū)崿F(xiàn)延時(shí)一段時(shí)間, 等待AD轉(zhuǎn)換結(jié)束,12位的話750微秒LCALL INIT_1820;準(zhǔn)備讀溫度前先復(fù)位MOV A, #0CCH;跳過(guò)ROM匹配LCALL WRITE_1820MOV A, #0BEH;發(fā)出讀溫度命令LCALL WRITE_1820LCALL RE
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 餐廳食品安全風(fēng)險(xiǎn)評(píng)估與防控合同
- 綜合體大樓特色主題空間裝修工程合同
- 汽車抵押貸款擔(dān)保協(xié)議
- 無(wú)人機(jī)傾斜攝影驗(yàn)收專題報(bào)告
- 髕骨脫位的治療效果評(píng)估
- 教育培訓(xùn)公關(guān)案例
- 超市商品盤點(diǎn)流程規(guī)范
- 腫瘤患者血凝管理
- 兒科心血管護(hù)理
- 人類遺傳資源管理培訓(xùn)
- 游泳教練員聘用協(xié)議(適用版)5篇
- 北京市海淀區(qū)2023-2024學(xué)年高一下學(xué)期7月期末考試數(shù)學(xué)試題(解析版)
- 2024年貴州省普通高校招生信息表(普通類本科批-歷史組合)
- 2024年遼寧省中考地理試卷(含答案)
- 抗衰保養(yǎng)知識(shí)培訓(xùn)課件
- 青海省重點(diǎn)名校2025屆中考生物最后一模試卷含解析
- 畜牧課件豬生產(chǎn)學(xué)
- 房產(chǎn)公司檔案管理
- 【課件】臺(tái)灣的社區(qū)總體營(yíng)造
- 胸痛課件教學(xué)課件
- 福建省福州市(2024年-2025年小學(xué)六年級(jí)語(yǔ)文)統(tǒng)編版期末考試((上下)學(xué)期)試卷及答案
評(píng)論
0/150
提交評(píng)論