基于ds18b20的溫度控制系統(tǒng)畢業(yè)設(shè)計_第1頁
已閱讀1頁,還剩38頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、<p>  畢 業(yè) 設(shè) 計(論 文)</p><p>  設(shè)計(論文)題目: 基于DS18B20的</p><p><b>  溫度控制系統(tǒng)</b></p><p><b>  目 錄</b></p><p>  第1章 緒論…………………………………………………………………………5

2、</p><p>  第2章 設(shè)計任務(wù)及方案分析………………………………………………………6</p><p>  2.1 設(shè)計任務(wù)及要求……………………………………………………………6</p><p>  2.2 設(shè)計總體方案及方案論證………………………………………………6</p><p>  2.2.1 系統(tǒng)總體設(shè)計………………………………

3、………………………………6</p><p>  2.2.2主控制部分…………………………………………………………………6</p><p>  2.2.3 溫度檢測部分………………………………………………………………7</p><p>  第3章 芯片功能簡介……………………………………………………………8</p><p>  3.1 AT89

4、S51的功能簡介…………………………………………………8</p><p>  3.1.1 AT89S51芯片簡介…………………………………………………………8</p><p>  3.1.2 引腳說明……………………………………………………………………8</p><p>  3.2 DS18B20的功能簡介……………………………………………………11</p&g

5、t;<p>  3.2.1 芯片簡介…………………………………………………………………11</p><p>  3.2.2 DS18B20外形和內(nèi)部結(jié)構(gòu)………………………………………………11</p><p>  3.2.3 DS18B20與單片機(jī)的典型接口設(shè)計……………………………………14</p><p>  第4章 系統(tǒng)硬件電路的設(shè)計………………

6、…………………………………… 16</p><p>  4.1 主控制電路和測溫控制電路原理圖………………………………………16</p><p>  4.2 上電復(fù)位電路………………………………………………………………16</p><p>  4.3 時鐘電路……………………………………………………………………16</p><p>  4.4

7、 按鍵電路……………………………………………………………………17</p><p>  4.5 數(shù)碼管顯示電路……………………………………………………………17</p><p>  4.6 溫度報警電路………………………………………………………………19</p><p>  第5章 系統(tǒng)軟件的設(shè)計…………………………………………………………20</p>

8、<p>  5.1 主程序流程圖 ……………………………………………………………20</p><p>  5.2 DS18B20復(fù)位檢測子程序流程圖…………………………………………20</p><p>  5.3 溫度轉(zhuǎn)換子程序圖…………………………………………………………21</p><p>  5.4寫DS18B20子程序圖…………………………………

9、…………………21</p><p>  5.5 讀DS18B20子程序圖………………………………………………………22</p><p>  5.6 溫度計算子程序圖…………………………………………………………23</p><p>  5.7 顯示子程序圖………………………………………………………………23</p><p>  5.8 溫度比較

10、報警子程序……………………………………………………24</p><p>  5.9 按鍵掃描子程序…………………………………………………………25</p><p>  第6章 調(diào)試與仿真………………………………………………………………26</p><p>  6.1 軟件調(diào)試仿真……………………………………………………………26</p><p&g

11、t;  6.2 硬件測試…………………………………………………………………26</p><p>  結(jié) 論…………………………………………………………………………27</p><p>  致 謝……………………………………………………………………………28</p><p>  參考文獻(xiàn)…………………………………………………………………………29</p>

12、<p>  附 錄A源程序……………………………………………………………………30</p><p>  附 錄 B實(shí)物圖…………………………………………………………………36</p><p>  附 錄 C原理圖…………………………………………………………………37</p><p>  附 錄 D仿真圖………………………………………………………

13、…………38</p><p>  題目:基于DS18B20的溫度控制系統(tǒng)</p><p>  摘要:本論文介紹了一種以單片機(jī)為主要控制器件,以DS18B20為溫度傳感器的新型數(shù)字溫度計。主要包括硬件電路的設(shè)計和系統(tǒng)程序的設(shè)計。硬件電路主要包括主控制器,測溫控制電路和顯示電路等,主控制器采用單片機(jī)AT89S51,溫度傳感器采用美國DALLAS半導(dǎo)體公司生產(chǎn)的DS18B20,顯示電路采用4位共

14、陽極LED數(shù)碼管,通過三極管驅(qū)動顯示。測溫控制電路由溫度傳感器和預(yù)置溫度值比較報警電路組成,當(dāng)實(shí)際測量溫度值超出預(yù)置溫度值時,發(fā)出報警信號,且發(fā)光二極管亮。系統(tǒng)程序主要包括主程序,測溫子程序和顯示子程序等。DS18B20新型單總線數(shù)字溫度傳感器是DALLAS 公司生產(chǎn)的單線數(shù)字溫度傳感器, 集溫度測量和 A /D轉(zhuǎn)換于一體 ,直接輸出數(shù)字量,具有接口簡單、精度高、抗干擾能力強(qiáng)、工作穩(wěn)定可靠等特點(diǎn)。</p><p>

15、;  關(guān)鍵詞:數(shù)碼管, AT89S51,DS18B20</p><p><b>  緒論</b></p><p>  日常生活及工農(nóng)業(yè)生產(chǎn)中經(jīng)常要用到溫度的檢測及控制,在冶金、食品加工、化工等工業(yè)生產(chǎn)過程中,廣泛使用的各種加熱爐、熱處理爐、反應(yīng)爐等,都要求對溫度進(jìn)行嚴(yán)格控制。</p><p>  測量溫度的關(guān)鍵是溫度傳感器,溫度傳感器正從模擬式

16、向數(shù)字式、從集成化向智能化、網(wǎng)絡(luò)化的方向發(fā)展。在測溫電路中,可以使用熱敏電阻之類的器件利用其感溫效應(yīng),將隨被測溫度變化的電壓或電流采集過來,先進(jìn)行A/D轉(zhuǎn)換,然后用單片機(jī)進(jìn)行數(shù)據(jù)的處理,再在顯示電路上,將被測溫度顯示出來。這種設(shè)計需要用到A/D轉(zhuǎn)換電路,因此感溫電路的設(shè)計比較復(fù)雜。</p><p>  本數(shù)字溫度計的設(shè)計采用美國DALLAS半導(dǎo)體公司推出的一種改進(jìn)型智能溫度傳感器DS18B20作為檢測元件,其溫度

17、值可以直接被讀出來,通過核心器件單片機(jī)AT89S51控制溫度的讀寫和顯示,用LED數(shù)碼管顯示。測溫范圍為-55℃~+125℃,最大分辨率可達(dá)0.0625℃。而且采用單總線與單片機(jī)相連,減少了外部的硬件電路,具有低成本和易使用的特點(diǎn)。 </p><p>  按照系統(tǒng)設(shè)計功能的要求,確定系統(tǒng)有5個模塊組成:主控制器、溫度傳感器DS18B20、報警電路、按鍵預(yù)置溫度值電路及顯示電路??刂破魇褂肁T89S51,溫度傳感器

18、使用DS18B20,用4位共陽極LED數(shù)碼管以動態(tài)掃描法實(shí)現(xiàn)溫度顯示。</p><p>  綜上所述,本設(shè)計以智能集成溫度傳感器DS18B20為例,介紹基于DS18B20傳感器的數(shù)字溫度計的設(shè)計,該設(shè)計適用于人們的日常生活及工農(nóng)業(yè)生產(chǎn)中用于溫度的檢測及控制。</p><p><b>  設(shè)計任務(wù)及方案分析</b></p><p>  2.1 設(shè)

19、計任務(wù)及要求</p><p>  設(shè)計一個基于DS18B20的溫度控制系統(tǒng),其可實(shí)現(xiàn)的功能為:</p><p>  (1)用DS18B20溫度傳感自檢測溫度;</p><p>  (2)用數(shù)碼管顯示溫度,精確到0.1攝氏度;</p><p>  (3)當(dāng)溫度在溫度上下限之外時,用聲光提示; </p><p>  (4)

20、溫度上下限可設(shè)置;</p><p>  2.2 設(shè)計總體方案及方案論證</p><p>  2.2.1 系統(tǒng)總體設(shè)計</p><p>  系統(tǒng)主要包括單片機(jī)模塊、溫度采集模塊、溫度顯示模塊,溫度上下限調(diào)整模塊和報警模塊五部分。系統(tǒng)總體框架如圖2-1所示。</p><p>  2.2.2主控制部分</p><p>  方

21、案一: 此方案采用PC機(jī)實(shí)現(xiàn),可在線仿真的功能,這讓調(diào)試變得方便.但是PC機(jī)輸出信號不能直接與DS18B20通信.需要通過RS232電平轉(zhuǎn)換兼容,硬件的合成在線調(diào)試,較為繁瑣,很不簡便.而且在一些環(huán)境比較惡劣的場合,PC機(jī)的體積大,攜帶安裝不方便,性能不穩(wěn)定,給工程帶來很多麻煩! </p><p>  方案二: 此方案采用AT89S51八位單片機(jī)實(shí)現(xiàn).單片機(jī)軟件編程的自由度大,可通過編程實(shí)現(xiàn)各種各樣的算術(shù)算法和邏

22、輯控制.而且體積小,硬件實(shí)現(xiàn)簡單,安裝方便.既可以單獨(dú)對多DS18B20控制工作,還可以與PC機(jī)通信.</p><p>  2.2.3 溫度檢測部分</p><p>  方案一: 采用熱敏電阻,可滿足40攝氏度至90攝氏度測量范圍,但熱敏電阻精度、重復(fù)性、可靠性較差,對于檢測1攝氏度的信號是不適用的.而且在溫度測量系統(tǒng)中,采用單片溫度傳感器,比如AD590,LM35等.但這些芯片輸出的都是

23、模擬信號,必須經(jīng)過A/D轉(zhuǎn)換后才能送給計算機(jī),這樣就使得測溫裝置的結(jié)構(gòu)較復(fù)雜.</p><p>  方案二:采用數(shù)字溫度芯片DS18B20測量溫度,輸出信號全數(shù)字化,便于單片機(jī)處理及控制,省去傳統(tǒng)的測溫方法的很多外圍電路,且該芯片的物理化學(xué)性很穩(wěn)定,它能用做工業(yè)測溫元件,此元件線形較好.在0—100攝氏度時,最大線形偏差小于1攝氏度。</p><p>  綜上,本設(shè)計采用以AT89S51作

24、為主控,以溫度芯片DS18B20測量溫度的溫度控制系統(tǒng)。</p><p><b>  芯片功能簡介</b></p><p>  3.1 AT89S51的功能簡介</p><p>  3.1.1 AT89S51芯片簡介</p><p>  單片機(jī)由單塊集成電路芯片構(gòu)成,內(nèi)部包含計算機(jī)的基本功能部件:CPU、存儲器、I/O接

25、口電路、定時/計數(shù)器、串行口等。因此,單片機(jī)只需要在適當(dāng)?shù)能浖巴獠吭O(shè)備相結(jié)合,便可成為一個單片機(jī)控制系統(tǒng)。MSC-51系列單片機(jī)是英特爾公司于1980年起推出的第二代產(chǎn)品。與8084相比,8051的硬件結(jié)構(gòu)和指令系統(tǒng)均有很大改進(jìn),可支持更大的存貯空間,擴(kuò)充了更多的硬件功能I/O功能,速度提高了2- 5倍,可完成邏輯運(yùn)算等。近年來推出的一些增強(qiáng)的MSC-51系統(tǒng)單片機(jī),片內(nèi)還集成了許多特殊功能單元,只需要加一些擴(kuò)展電路及必要的通道接口即

26、可構(gòu)成各種計算機(jī)應(yīng)用系統(tǒng)。因此,MSC-51系統(tǒng)單片機(jī)在智能儀表、智能接口、功能模塊等領(lǐng)域得到了非常廣泛的應(yīng)用。 </p><p>  主要技術(shù)特性: ① 適于控制應(yīng)用的8位CPU。 ② 64KB程序存貯器空間和64KB數(shù)據(jù)存貯器空間。 ③ 4KB片內(nèi)程序存貯器。 ④ 128B片內(nèi)數(shù)據(jù)RAM。 ⑤ 2個16位定時/計數(shù)器。⑥ 擴(kuò)展的邏輯處理能力。</p><p>  3.1.2 引腳說明&

27、lt;/p><p>  圖3-1 AT89S51引腳示意圖</p><p>  VCC:供電電壓。 </p><p><b>  GND:接地。 </b></p><p>  P0口:8位雙向I/O口。在訪問外部存儲器時,P0口用于分時傳送低8位地址(地址總線)和8位數(shù)據(jù)信號(數(shù)據(jù)總線)。P0口能驅(qū)動8個LSTTL門。在不接

28、外ROM和外RAM時,P0口可做雙向I/O口用。</p><p>  P1口:P1口是一個內(nèi)部提供上拉電阻的8位準(zhǔn)雙向I/O口,P1口負(fù)載能力為4個LSTTL門。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。</p><p>  P2口:8位準(zhǔn)雙向I/O口。在訪問外部存儲器時,P2口用于傳送高8位地址。P2口負(fù)載能力為4個L

29、STTL門。 </p><p>  P3口:8位準(zhǔn)雙向I/O口??勺鲆话鉏/O口用,同時P3口每一引腳還具有第二功能,用于特殊信號輸入輸出和控制信號(屬控制總線)。P3口第二功能如下。 </p><p>  P3.0--RXD (串行輸入口) </p><p>  P3.1--TXD (串行輸出口) </p><p>  P3.2--/I

30、NT0 (外部中斷0) </p><p>  P3.3--/INT1 (外部中斷1) </p><p>  P3.4--T0 (定時/計數(shù)器0外部輸入) </p><p>  P3.5--T1 (定時/計數(shù)器1外部輸入) </p><p>  P3.6--/WR (外部數(shù)據(jù)存儲器寫選通) </p><p>

31、  P3.7--/RD (外部數(shù)據(jù)存儲器讀選通) </p><p>  P3口負(fù)載能力為4個LSTTL門。</p><p>  RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持RST腳兩個機(jī)器周期的高電平時間。 </p><p>  ALE、/PROG:①正常使用為ALE功能,用來鎖存P0口送出的低8位地址。P0口一般分時傳送低8位地址還是8位數(shù)據(jù)地址呢?當(dāng)ALE信

32、號有效時,P0口傳送的是低8位地址信號;ALE信號無效時,P0口傳送的是8位數(shù)據(jù)信號。通常在ALE信號的下降沿,鎖定P0口傳送的內(nèi)容,即低8位地址信號。需要指出的是,當(dāng)CPU不執(zhí)行訪問外RAM指令(MOVX)時,ALE以時鐘振蕩頻率1/6的固定速率輸出,因此ALE信號也可作為外部芯片CLK時鐘或其他需要。但是,當(dāng)CPU執(zhí)行MOVX指令時,ALE將跳過一個ALE脈沖。ALE端可驅(qū)動8個LSTTL門電路。②/PROG在固化片內(nèi)存儲器的程序(

33、也稱為“燒錄程序”)時,此引腳用于輸入編程脈沖,此時為低電平有效。</p><p>  /PSEN:外ROM的選通信號。在由外部程序存儲器取指期間,每個機(jī)器周期兩次/PSEN有效。但在訪問外RAM或內(nèi)ROM時,這兩次有效的/PSEN信號將不出現(xiàn)。 </p><p>  /EA、VPP:正常工作時,/EA為內(nèi)外ROM選擇端。MCS-51型單片機(jī)ROM尋址范圍為64KB,其中4KB在片內(nèi),60

34、KB在片外。當(dāng)/EA保持高電平時,先訪問內(nèi)ROM,但當(dāng)PC(程序計數(shù)器)值超過4KB時,將自動轉(zhuǎn)向執(zhí)行外ROM中的程序。當(dāng)/EA保持低電平時,則只訪問外ROM,不管芯片內(nèi)有否內(nèi)ROM。對80C31芯片,片內(nèi)無ROM,因此/EA必須接地。</p><p>  XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。 </p><p>  XTAL2:來自反向振蕩器的輸出。</p>

35、;<p>  3.2 DS18B20的功能簡介</p><p>  3.2.1 芯片簡介</p><p>  適應(yīng)電壓范圍更寬,電壓范圍:3.0 V~5.5V,在寄生電源方式下可由數(shù)據(jù)線供電。</p><p>  獨(dú)特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊。</p><

36、;p>  DS18B20在使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。</p><p>  測溫范圍-55℃~+125℃,在-10℃~+85℃時精度為±0.5℃。</p><p>  可編程的分辨率為9~12位,對應(yīng)的可分辨溫度分別為0.5℃、0.25℃、0.125℃和0.0625℃,可實(shí)現(xiàn)高精度測溫。</p><p

37、>  在9位分辨率時最多在93.75ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快。</p><p>  測量結(jié)果直接輸出數(shù)字溫度信號,以“一線總線”串行傳送給CPU,同時可傳送CRC校驗(yàn)碼,具有極強(qiáng)的抗干擾糾錯能力。</p><p>  負(fù)壓特性:電源極性接反時,芯片不會因發(fā)熱而燒毀,但不能正常工作。</p><p> 

38、 3.2.2 DS18B20外形和內(nèi)部結(jié)構(gòu)</p><p>  DS18B20內(nèi)部結(jié)構(gòu)如圖3-2所示,主要由4部分組成:64位ROM、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器TH和TL、配置寄存器。DS18B20的外形及管腳排列如圖3-3和表3-1所示。</p><p>  圖3-3 DS18B20的管腳排列</p><p>  表3-1 DS18B20引腳定義:&l

39、t;/p><p>  (1) 64位ROM </p><p>  ROM中的64位序列號是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼,每個DS18B20的64位序列號均不相同。64位ROM的循環(huán)冗余校驗(yàn)碼(CRC=X8+X5+X4+1)。ROM的作用是使每一個DS18B20都各不相同,這樣就可以實(shí)現(xiàn)一根總線上掛接多個DS18B20的目的。DS18B20中的溫度傳感器完成對溫度

40、的測量,用16位符號擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供,以0.0625℃/LSB形式表達(dá),其中S為符號位。DS18B20溫度值格式表3-2如下所示。</p><p>  這是12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲在DS18B20的兩個8比特的RAM中,二進(jìn)制中的前面5位是符號位,如果測得的溫度大于0,這5位為0,只要將測到的數(shù)值乘于0.0625即可得到實(shí)際溫度;如果溫度小于0,這5位為1,測到的數(shù)值需要取反加1再乘于0.0

41、625即可得到實(shí)際溫度。例如+25.0625℃的數(shù)字輸出為0191H,-25.0625℃的數(shù)字輸出為FF6FH。 </p><p>  表3-2 DS18B20溫度值格式表</p><p>  bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0</p><p>  bit15 bit14 bit13 bit12

42、 bit11 bit10 bit9 bit8</p><p>  (2)高低溫報警觸發(fā)器TH和TL</p><p>  DS18B20溫度傳感器的內(nèi)部存儲器包括一個高速暫存RAM和一個非易失性的可電擦除的EEPRAM,后者存放高溫度和低溫度觸發(fā)器TH、TL和結(jié)構(gòu)寄存器。 </p><p><b> ?。?)配置寄存器 </b></p&

43、gt;<p>  該字節(jié)各位的意義如下表3-3所示。</p><p>  表3-3:配置寄存器結(jié)構(gòu)</p><p>  低五位一直都是“1”,TM是測試模式位,用于設(shè)置DS18B20在工作模式還是在測試模式。在DS18B20出廠時該位被設(shè)置為0,用戶不要去改動。R1和R0用來設(shè)置分辨率,如下表3-4所示(DS18B20出廠時被設(shè)置為12位)。</p><p

44、>  表3-4: 溫度分辨率設(shè)置表</p><p> ?。?)高速暫存器是一個9字節(jié)的存儲器。開始兩個字節(jié)包含被測溫度的數(shù)字量信息;第3、4、5字節(jié)分別是TH、TL、配置寄存器的臨時拷貝,每一次上電復(fù)位時被刷新;第6、7、8字節(jié)未用,表現(xiàn)為全邏輯1;第9字節(jié)讀出的是前面所有8個字節(jié)的CRC碼,可用來保證通信正確。高速暫存器RAM結(jié)構(gòu)圖如下表3-5所示。</p><p>  表3-5:

45、 DS18B20暫存寄存器分布</p><p>  3.2.3 DS18B20與單片機(jī)的典型接口設(shè)計</p><p>  圖3-4(a)中DS18B20采用寄生電源方式,圖3-4(b)中DS18B20采用外接電源方式,其VDD端用3V~5.5V電源供電。</p><p>  (a) 寄生電源工作方式 (b) 外接電源工作方式&l

46、t;/p><p>  圖3-4 電源工作方式圖</p><p><b>  系統(tǒng)硬件電路的設(shè)計</b></p><p>  4.1 主控制電路和測溫控制電路原理圖</p><p>  AT89S51是此硬件電路設(shè)計的核心,通過AT89S51的管腳P3.7與DS18B20相連,控制溫度的讀出和顯示。電路原理圖如下圖4-1所示。

47、</p><p>  圖4-1主控制電路和測溫控制電路原理圖</p><p>  4.2 上電復(fù)位電路</p><p>  圖4-2 上電復(fù)位電路</p><p>  本設(shè)計中AT89S51是采用上電自動復(fù)位,如圖4-2所示。上電瞬間,RC電路充電,RST引線端出現(xiàn)正脈沖,只要RST端保持10ms以上的高電平,就能使單片機(jī)有效地復(fù)位。<

48、/p><p><b>  4.3 時鐘電路</b></p><p>  此處選用內(nèi)部時鐘方式。即利用其內(nèi)部的振蕩電路在XTAL1和XTAL2引線上外接定時元件,內(nèi)部振蕩電路產(chǎn)生自激振蕩。最常用的是在 XTAL1和XTAL2之間接晶體振蕩器與電路構(gòu)成穩(wěn)定的自激振蕩器,如圖4-3電路.</p><p><b>  圖4-3 時鐘電路</

49、b></p><p><b>  4.4 按鍵電路</b></p><p>  鍵盤是一種常見的輸入設(shè)備,用戶可以向計算機(jī)輸入數(shù)據(jù)或命令。本設(shè)計是采用獨(dú)立式按鍵,用5個按鍵,分別接P1.0—P1.4,當(dāng)無按鍵按下時其口上的電平為高電平。當(dāng)某按鍵按下時,與其相連的I/O線將得到低電平輸入。如圖4-4。</p><p><b>  

50、圖4-4 按鍵電路</b></p><p>  4.5 數(shù)碼管顯示電路</p><p>  發(fā)光二極管LED是一種通電后能發(fā)光的半導(dǎo)體器件,其導(dǎo)電性質(zhì)與普通二極管類似。它使用了8個LED發(fā)光二極管,其中7個顯示字符,1個顯示小數(shù)點(diǎn),故通常稱之為7段發(fā)光二極管數(shù)碼顯示器,如圖4-5所示。 </p><p>  為了顯示字符,要為 LED顯示器提供段碼(或稱

51、字形代碼),組成一個“8”字形的7段,再加上1個小數(shù)點(diǎn)位,共計8段,因此提供給LED顯示的段碼為1個字節(jié)。各段碼位的對應(yīng)關(guān)系如下:</p><p>  表格4-1 各段碼位的對應(yīng)關(guān)系</p><p>  共陽極接法:把發(fā)光二極管的陽極連在一起構(gòu)成公共陽極,使用時公共陽極接+5 V, 每個發(fā)光二極管的陰極通過電阻與輸入端相連。當(dāng)陽極端輸入低電平時,段發(fā)光二極管就導(dǎo)通點(diǎn)亮,而輸入高電平時則不點(diǎn)

52、亮。</p><p>  共陽極 顯示段碼</p><p>  圖4-5 LED數(shù)碼顯示器的顯示段碼</p><p>  本設(shè)計采用LED數(shù)碼管顯示電路,該顯示電路由7段共陽數(shù)碼管,限流電阻,三極管,基極電阻,P0口,P2口等組成。P0口通過與8個270Ω電阻與數(shù)碼管的8個數(shù)據(jù)位相連,送顯示數(shù)碼。電阻即可

53、起到限流作用,又可起到上拉電阻的作用。P2口的P2.0~P2.3通過4個4.7kΩ的電阻和4個三極管與4個7段數(shù)碼管相連,起位選的作用。數(shù)碼管顯示電路的原理圖如圖4-6 。</p><p>  圖4-6 數(shù)碼管顯示電路圖</p><p>  4.6 溫度報警電路</p><p>  溫度報警電路是檢測當(dāng)前溫度的值并與預(yù)置的溫度上下限進(jìn)行比較,當(dāng)當(dāng)前溫度超出預(yù)置的溫度

54、上下限時,系統(tǒng)就會立即發(fā)出報警信號。此設(shè)計的溫度報警電路是由聲光報警電路組成,用到了蜂鳴器和LED發(fā)光二極管。原理圖如圖4-7:</p><p>  圖4-7 溫度報警電路</p><p><b>  系統(tǒng)軟件的設(shè)計</b></p><p><b>  5.1主程序流程圖</b></p><p> 

55、 主程序首先進(jìn)行初始化,當(dāng)檢測到DS18B20存在時發(fā)出溫度轉(zhuǎn)換命令和讀溫度命令,在分別調(diào)用相應(yīng)的數(shù)據(jù)處理子程序,完成溫度測量及顯示工作。流程圖如圖5-1:</p><p>  5.2 DS18B20復(fù)位檢測子程序流程圖</p><p>  主機(jī)控制DS18B20完成任何操作之前必須先初始化,即主機(jī)發(fā)一復(fù)位脈沖(最短為480us的低電平),接著主機(jī)釋放總線進(jìn)入接收狀態(tài),DS18B20在檢測

56、到I/O引腳上的上升沿之后,等待15-60us然后發(fā)出存在脈沖(60-240us的低電平)。如圖5-3所示。</p><p>  圖5-3 初始化程序</p><p>  DS18B20復(fù)位檢測子程序的主要功能為檢測DS18B20是否存在。若存在則將標(biāo)志位FLAG1置1,反則置0.后續(xù)程序可以通過判斷標(biāo)志位來決定進(jìn)行何種操作。流程圖如圖5-2:</p><p>  

57、5.3 溫度轉(zhuǎn)換子程序圖</p><p>  溫度轉(zhuǎn)換命令子程序主要是發(fā)溫度轉(zhuǎn)換命令,當(dāng)采用12位分辨率時轉(zhuǎn)換時間約為750ms,流程圖如圖5-4:</p><p>  5.4 寫DS18B20子程序圖</p><p>  寫時間片:將數(shù)據(jù)從高電平拉至低電平,產(chǎn)生寫起始信號。在15us之內(nèi)將所需寫的位送到數(shù)據(jù)線上,在15us到60us之間對數(shù)據(jù)線進(jìn)行采樣,如果采樣為

58、高電平,就寫1,如果為低電平,寫0就發(fā)生。在開始另一個寫周期前必須有1us以上的高電平恢復(fù)期。其寫時序圖5-5,流程圖如圖5-6:</p><p><b>  圖5-5 寫時序</b></p><p>  5.5 讀DS18B20子程序圖</p><p>  讀時間片:主機(jī)將數(shù)據(jù)線從高電平拉至低電平1us以上,再使數(shù)據(jù)線升為高電平,從而產(chǎn)生讀起

59、始信號。主機(jī)在讀時間片下降沿之后15us內(nèi)完成讀位。每個讀周期最短的持續(xù)期為60us,各個讀周期之間也必須有1us以上的高電平恢復(fù)期。如圖5-8.</p><p>  讀溫度子程序只讀出DS18B20暫存器前4個字節(jié)的數(shù)據(jù):溫度值LSB\溫度值MSB、溫度報警值TH和TL,并將它們分別存入25H~28H單元中。如圖5-7:</p><p><b>  圖5-8讀時序</b&

60、gt;</p><p>  5.6 溫度計算子程序圖</p><p>  溫度計算子程序首先判斷溫度值MSB的符號位,當(dāng)符號位S=0時,表示測得的溫度值為正,可以直接將二進(jìn)制轉(zhuǎn)換為十進(jìn)制;當(dāng)符號位S=1時,表示測得的溫度值為負(fù),要先將補(bǔ)碼變成原碼,再計算十進(jìn)制值。計算時先將溫度值LSB的低四位取出,進(jìn)行小數(shù)部分?jǐn)?shù)據(jù)處理。再將溫度值LSB的高四位和溫度值MSB的低四位取出,重新組合后進(jìn)行整數(shù)

61、部分?jǐn)?shù)據(jù)處理。如圖5-9:</p><p>  5.7 顯示子程序圖</p><p>  溫度顯示子程序?qū)腄S18B20讀出的溫度值,經(jīng)過數(shù)據(jù)處理后,送往數(shù)碼管進(jìn)行實(shí)時顯示。包括顯示子程序和刷新子程序。如圖5-10,圖5-11;</p><p>  5.8 溫度比較報警子程序圖</p><p>  溫度比較子程序?qū)?shí)測溫度值與設(shè)定的溫度報警

62、值進(jìn)行比較,根據(jù)比較結(jié)果執(zhí)行相應(yīng)處理程序。當(dāng)實(shí)測溫度超出設(shè)定的溫度報警值時,發(fā)出報警信號,LED燈閃爍,蜂鳴器響。當(dāng)實(shí)測溫度正常時,數(shù)碼管正常顯示當(dāng)前溫度值。如圖5-12:</p><p>  5.9 按鍵掃描子程序</p><p>  按鍵掃描子程序?qū)?shù)字溫度計的K1~K5鍵進(jìn)行掃描,得到鍵值,根據(jù)鍵值完成相應(yīng)操作。當(dāng)按下K1鍵時數(shù)碼管顯示H—50,當(dāng)按下K2鍵顯示L—05,按下K3和K

63、4分別加1和減1.再按K5保存設(shè)置,返回顯示當(dāng)前溫度值,如圖5-13和圖5-14:</p><p><b>  調(diào)試與仿真</b></p><p>  6.1 軟件調(diào)試和仿真</p><p>  軟件調(diào)試是通過對用戶程序的匯編、連接、執(zhí)行來發(fā)現(xiàn)程序中存在的語法錯誤與邏輯錯誤并加以排除糾正的過程。本設(shè)計的程序編輯完成以后,通過wave6000編程

64、軟件來調(diào)試,經(jīng)過多次的修改調(diào)試。</p><p>  軟件的仿真是用的Proteus ISIS,是英國Labcenter公司開發(fā)的電路分析與實(shí)物仿真軟件。將設(shè)計的電路圖連接好,將程序加入到AT89S51中,進(jìn)行仿真,和多次的修改,最終得到預(yù)測的結(jié)果。</p><p><b>  6.2 硬件測試</b></p><p>  硬件調(diào)試是利用開發(fā)系

65、統(tǒng)、基本測試儀器(萬用表、示波器)等,檢查用戶系統(tǒng)硬件中存在的故障。 硬件調(diào)試可分為靜態(tài)調(diào)試和動態(tài)調(diào)試兩步進(jìn)行: </p><p> ?。?)靜態(tài)調(diào)試:靜態(tài)調(diào)試是在用戶系統(tǒng)未工作時的一種調(diào)試。 步驟如下: </p><p>  第一步:目測。檢查外部的各種元件或者是電路是否有斷點(diǎn)。 </p><p>  第二步:用萬用表測試。先用萬用表復(fù)核目測中有疑問的連接點(diǎn),在檢

66、測各 </p><p>  種電源線與接地線之間是否有短路現(xiàn)象。 </p><p>  第三步:加點(diǎn)檢測。給電路板加電,檢測所有的插座或者是硬件的電源是否 </p><p><b>  符合要求的值。 </b></p><p>  第四步:聯(lián)機(jī)檢查。應(yīng)為只有單片機(jī)開發(fā)系統(tǒng)才能完成對用戶系統(tǒng)的調(diào)試。 </p>

67、<p> ?。?)動態(tài)調(diào)試:動態(tài)調(diào)試是在用戶系統(tǒng)工作的情況下發(fā)現(xiàn)和排除用戶系統(tǒng)硬件中存在的器件內(nèi)部故障、器件連接邏輯錯誤等的一種硬件檢查。 </p><p><b>  結(jié) 論</b></p><p>  本文針對溫度測量方法的現(xiàn)狀和所要研究問題的分析,提出了一種采用單總線式數(shù)字溫度傳感器DS18B20芯片,并運(yùn)用AT89S51作為控制芯片的溫度測量控制

68、系統(tǒng),接著從單片機(jī)的結(jié)構(gòu),原理分析起,在熟悉了AT89S51的工作原理及使用方法后,詳細(xì)的分析了DS18B20芯片的結(jié)構(gòu)、工作原理、時序和測量溫度的方法,最后又簡要了解下LED數(shù)碼管的顯示方法。在這個過程中我查閱了大量的相關(guān)資料,綜合所分析所有內(nèi)容,再結(jié)合單片機(jī)基本知識設(shè)計了系統(tǒng)電路,通過仿真確定了功能的可實(shí)現(xiàn)性,最后做出實(shí)物。通過這次學(xué)習(xí),并親自動手制作焊接,學(xué)到了很多,也加強(qiáng)了很多大學(xué)學(xué)習(xí)的基本技能,是理論與實(shí)際得到很好的結(jié)合。&l

69、t;/p><p><b>  致 謝</b></p><p>  首先感謝我的指導(dǎo)老師。本論文是在老師的指導(dǎo)下和同學(xué)們的幫助下修改完成的。在此,我要向他們的細(xì)心幫助和指導(dǎo)表示由衷的感謝。在這段時間里,我從他們身上不僅學(xué)到了許多的專業(yè)知識,更感受到他們工作中的兢兢業(yè)業(yè),生活中的平易近人。此外,他們嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度和忘我的工作精神值得我去學(xué)習(xí)。</p><

70、p>  非常感謝大家在我的畢業(yè)設(shè)計中,給予我極大的幫助,使我對整個畢業(yè)設(shè)計的思路有了總體的把握,并耐心的幫我解決了許多實(shí)際問題,使我有了很大的收獲。</p><p>  感謝多年來傳授我知識的老師們,更要感謝那些對我學(xué)習(xí)上支持和鼓勵的人。同時感謝所有關(guān)心幫助過我的同學(xué)、老師和學(xué)校。</p><p>  總之,在以后的學(xué)習(xí)生活中我將以加倍的努力對給予我?guī)椭膶W(xué)校、老師及同學(xué)們的回報。&

71、lt;/p><p><b>  參 考 文 獻(xiàn):</b></p><p>  [1]陳權(quán)昌,李興富.單片機(jī)原理與應(yīng)用. 北京:理工大學(xué)出版社,2007</p><p>  [2]陳明.protel 99se原理圖與pcb設(shè)計教程. 北京:機(jī)械工業(yè)出版社,2006</p><p>  [3]閻石.數(shù)字電子技術(shù)基礎(chǔ)(第四版).

72、北京:高等教育出版社,1997</p><p>  [4]王恩榮.MCS-51單片機(jī)應(yīng)用技術(shù). 北京:化學(xué)工業(yè)出版社,2001</p><p>  [5]黃河,郭紀(jì)林.單片機(jī)原理及應(yīng)用. 大連:大連理工大學(xué)出版社,2006</p><p>  [6]周貴連. 電子技術(shù)基礎(chǔ). 西安:機(jī)械工業(yè)出版社,2005</p><p>  [7]李廣弟.

73、單片機(jī)基礎(chǔ). 北京:北京航空航天大學(xué)出版社,1994</p><p>  [8]閻石. 數(shù)字電子技術(shù)基礎(chǔ). 北京:高等教育出版社,1989</p><p>  [9]欒桂冬.傳感器及其應(yīng)用. 西安:電子科技大學(xué)出版社,2003</p><p>  [10]范立南,謝子殿.單片機(jī)原理及應(yīng)用教程. 北京:北京大學(xué)出版社,2006.</p><p>

74、;  [11]潘松,趙敏笑.EDA技術(shù)及其應(yīng)用. 北京:科學(xué)出版社,2007</p><p>  [12]丁元杰.單片機(jī)原理及應(yīng)用. 西安:機(jī)械工業(yè)出版社,1999</p><p><b>  附錄A</b></p><p><b>  源程序</b></p><p>  K1 EQU P1.0&l

75、t;/p><p>  K2 EQU P1.1</p><p>  K3 EQU P1.2</p><p>  K4 EQU P1.3</p><p>  K5 EQU P1.4</p><p>  DQ EQU P3.7</p><p>  BEEP EQU P3.5 ;蜂鳴器</p

76、><p>  RELAY EQU P3.6 ;指示燈</p><p>  TEMP EQU 24H ;實(shí)測溫度存放單元</p><p>  TEMPL EQU 25H ;溫度低位存放單元</p><p>  TEMPH EQU 26H ;溫度高位存放單元</p><p>  TEMP

77、_TH EQU 27H ;溫度上限存放單元</p><p>  TEMP_TL EQU 28H ;溫度下限存放單元</p><p>  TEMPBJ EQU 29H ;正負(fù)溫度標(biāo)記</p><p>  FLAG1 BIT 20H.0 ;DS18B20存在標(biāo)志位</p><p><b>  ORG 0000H

78、</b></p><p><b>  LJMP MAIN</b></p><p><b>  ORG 0030H</b></p><p>  MAIN: MOV SP,#40H</p><p>  MOV A,#00H</p><p>  MOV R0,#20H

79、;</p><p>  MOV R1,#10H</p><p>  CLEAR: MOV @R0,A</p><p><b>  INC R0</b></p><p>  DJNZ R1,CLEAR</p><p>  START: LCALL RST </p><p&

80、gt;  JNB FLAG1,START1</p><p>  MOV TEMP_TH,#32H;設(shè)TH初值50度</p><p>  MOV TEMP_TL,#05H;設(shè)TL初值05度</p><p>  LCALL RE_18B20</p><p>  LCALL WRITE_E2</p><p>  

81、LJMP START2</p><p>  START1: MOV 2AH,#0EH</p><p>  MOV 2BH,#0EH</p><p>  MOV 2CH,#0EH</p><p>  MOV 2DH,#0EH</p><p>  LCALL DISPLAY</p><p>  SE

82、TB RELAY;熄滅指示燈</p><p>  LCALL BEEP_BL;調(diào)蜂鳴器響</p><p>  LJMP START</p><p>  START2: LCALL RST</p><p>  JNB FLAG1,START1</p><p>  MOV A,#0CCH;跳過ROM匹配命令&

83、lt;/p><p>  LCALL WRITE</p><p>  MOV A,#44H;溫度轉(zhuǎn)換命令</p><p>  LCALL WRITE</p><p><b>  LCALL RST</b></p><p>  MOV A,#0CCH</p><p>  LCA

84、LL WRITE</p><p>  MOV A,#0BEH;讀溫度命令</p><p>  LCALL WRITE</p><p>  LCALL READ</p><p>  LCALL CONVTEMP</p><p>  LCALL DISP</p><p>  LCAL

85、L TEMP_COMP</p><p>  LCALL PROC_KEY</p><p><b>  MOV A,R6</b></p><p>  JZ START2;無按鍵按下則跳START2</p><p>  LCALL ANKEY;調(diào)用按鍵處理子程序</p><p>  MOV

86、 R6,#00H;清鍵值標(biāo)志位</p><p>  SJMP START2;循環(huán)</p><p>  ;DS18B20復(fù)位子程序 R0 R1</p><p>  RST:SETB DQ</p><p><b>  NOP</b></p><p><b>  CLR DQ<

87、/b></p><p>  MOV R0,#36H ;主機(jī)發(fā)出延時復(fù)位低脈沖537us</p><p>  MOV R1,#03H</p><p>  TSR1:DJNZ R0,$</p><p>  MOV R0,#36H</p><p>  DJNZ R1,TSR1</p><p>

88、;  SETB DQ;拉高數(shù)據(jù)線</p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p><p>  MOV R0,#19H</p><p>  TSR2:JNB

89、 DQ,TSR3;等待DS18B20回應(yīng)</p><p>  DJNZ R0,TSR2;延時100us內(nèi)</p><p><b>  JMP TSR4</b></p><p>  TSR3:SETB FLAG1</p><p><b>  JMP TSR5</b></p>&

90、lt;p>  TSR4:CLR FLAG1</p><p><b>  JMP TSR7</b></p><p>  TSR5:MOV R0,#36H</p><p>  TSR6:DJNZ R0,$;時序延時216us</p><p>  TSR7:SETB DQ</p><p&

91、gt;<b>  RET</b></p><p>  ;ds18B20暫存器操作子程序</p><p>  RE_18B20: LCALL RST</p><p>  MOV A,#0CCH;跳過rom匹配</p><p>  LCALL WRITE</p><p>  WR_SCRAPD:

92、MOV A,#4EH;寫暫存器</p><p>  LCALL WRITE</p><p>  MOV A,TEMP_TH;TH(報警上限)</p><p>  LCALL WRITE</p><p>  MOV A,TEMP_TL;TL(報警下限)</p><p>  LCALL WRITE</p>

93、<p>  MOV A,#7FH;12位精度</p><p>  LCALL WRITE</p><p><b>  RET</b></p><p><b>  ;復(fù)制暫存器子程序</b></p><p>  WRITE_E2:LCALL RST</p><p&

94、gt;  MOV A,#0CCH</p><p>  LCALL WRITE</p><p>  MOV A,#48H</p><p>  LCALL WRITE</p><p><b>  RET</b></p><p>  ;DS18B20數(shù)據(jù)寫入操作子程序 R2 R3</p>

95、<p>  WRITE:MOV R2,#8;共8位數(shù)據(jù)</p><p><b>  CLR C</b></p><p>  WR1:CLR DQ</p><p>  MOV R3,#05H</p><p>  DJNZ R3,$ </p><p><b&g

96、t;  RRC A</b></p><p>  MOV DQ,C;寫入一位</p><p>  MOV R3,#19H</p><p>  DJNZ R3,$;等待100us</p><p>  SETB DQ;重新釋放總線</p><p><b>  NOP</b>

97、;</p><p>  DJNZ R2,WR1;寫入下一位</p><p><b>  SETB DQ</b></p><p><b>  RET</b></p><p>  READ:MOV R4,#4</p><p>  MOV R1,#TEMPL</p

98、><p>  RE00: MOV R2,#8</p><p>  RE01:CLR CY</p><p><b>  SETB DQ</b></p><p><b>  NOP</b></p><p>  CLR DQ;讀前總線保持為低</p><p

99、><b>  NOP</b></p><p><b>  NOP</b></p><p>  SETB DQ;開始讀總線釋放</p><p>  MOV R3,#05H</p><p>  DJNZ R3,$;延時18us</p><p><b>  M

100、OV C,DQ</b></p><p>  MOV R3,#19H</p><p>  DJNZ R3,$;等待100us</p><p>  RRC A;把讀得的位值環(huán)移給A</p><p>  DJNZ R2,RE01;讀下一位</p><p><b>  MOV @R1,A<

101、/b></p><p><b>  INC R1</b></p><p>  DJNZ R4,RE00</p><p><b>  RET</b></p><p>  ;溫度值bcd碼處理子程序 R2</p><p>  CONVTEMP:MOV A,TEMPH<

102、/p><p>  ANL A,#0FH;取低4位</p><p><b>  SWAP A</b></p><p><b>  MOV B,A</b></p><p>  MOV A,TEMPL</p><p>  ANL A,#0F0H;取高4位</p>

103、<p><b>  SWAP A</b></p><p>  ADD A,B;重新組合成整數(shù)部分</p><p>  MOV B,TEMPL</p><p>  MOV TEMPL,A;TEMPL中放整數(shù)部分</p><p>  MOV TEMP,A</p><p><b>

104、;  MOV A,B</b></p><p>  ANL A,#0FH ;取小數(shù)</p><p><b>  SWAP A</b></p><p>  MOV TEMPH,A;temph中放小數(shù)</p><p>  MOV A,#80H</p><p>  ANL A,TEMPL

105、;取符號位</p><p>  JZ POSIT;是正數(shù)跳轉(zhuǎn)</p><p>  MOV 7AH,#13H;負(fù)號</p><p>  MOV TEMPBJ,#0BH;負(fù)溫度標(biāo)志</p><p>  MOV A ,TEMPH;取小數(shù)位</p><p>  CPL A;求原碼</p>&l

106、t;p>  ADD A,#01H;取反加1</p><p>  MOV TEMPH,A</p><p>  JC AD;有進(jìn)位是正數(shù)取反加1</p><p>  MOV A,TEMPL;無進(jìn)位是正數(shù)取反</p><p><b>  CPL A</b></p><p>  SJMP S

107、KIP1</p><p>  AD:MOV A,TEMPL;取整數(shù)位</p><p><b>  CPL A</b></p><p><b>  INC A</b></p><p>  SKIP1:MOV B,#10</p><p><b>  SJMP

108、NEXT</b></p><p>  POSIT:MOV TEMPBJ,#0AH;正溫度標(biāo)記</p><p>  MOV A,TEMPL</p><p>  MOV B,#100</p><p><b>  DIV AB</b></p><p>  MOV 7AH,A;百位數(shù)&

109、lt;/p><p><b>  MOV A,#10</b></p><p><b>  XCH A,B</b></p><p>  NEXT:DIV AB</p><p>  MOV 7BH,A;十位數(shù)</p><p>  MOV 7CH,B;個位數(shù)</p>

110、<p>  XIAOSHU:MOV A,TEMPH;處理小數(shù)</p><p>  SWAP A;半字節(jié)交換</p><p>  ANL A,#0FH</p><p>  MOV DPTR,#DOTTAB</p><p>  MOVC A,@A+DPTR</p><p><b>  MO

111、V 7DH,A</b></p><p><b>  RET</b></p><p><b>  DOTTAB:</b></p><p>  DB 00H,00H,01H,01H,02H,03H,03H,04H DB 05H,05H,06H,06H,07H,08H,08H,09H</p>

112、;<p>  ;LED顯示子程序 R0 R2 R6 R7</p><p>  DISP: MOV A,TEMPBJ</p><p>  CJNE A,#0BH,ZHENG ;正數(shù)轉(zhuǎn)ZHENG</p><p><b>  MOV A,7BH</b></p><p>  CJNE A,#00H,LOP1&l

113、t;/p><p>  MOV 7AH,#10H ;不顯示</p><p>  MOV 7BH,#13H ;顯示-</p><p>  LOP1: LJMP DISP0</p><p>  ZHENG: MOV A,7AH</p><p>  CJNE A,#00H,DISP0 ;百位=0&l

114、t;/p><p>  MOV 7AH,#10H ;百位不顯示</p><p><b>  MOV A,7BH</b></p><p>  CJNE A,#00H,DISP0 ;十位=0</p><p>  MOV 7BH,#10H ;十位不顯示</p><p>  DISP0

115、: MOV DPTR,#TABLE1</p><p>  MOV A,7AH ;取百位數(shù)</p><p>  MOVC A,@A+DPTR</p><p><b>  MOV P0,A</b></p><p>  MOV P2,#0F7H</p><p>  LCALL DELAY3

116、 ;調(diào)用延時5ms</p><p>  MOV P2,#0FFH ;關(guān)顯示</p><p>  MOV A,7BH ;取十位數(shù)</p><p>  MOVC A,@A+DPTR</p><p><b>  MOV P0,A</b></p><p>  MOV P2,#0FBH&

117、lt;/p><p>  LCALL DELAY3</p><p>  MOV P2,#0FFH</p><p>  MOV A,7CH ;取個位數(shù)</p><p>  MOVC A,@A+DPTR</p><p><b>  CLR ACC.7</b></p><p&g

118、t;<b>  MOV P0,A</b></p><p>  MOV P2,#0FDH</p><p>  LCALL DELAY3 ;調(diào)用延時5ms</p><p>  MOV P2,#0FFH ;關(guān)顯示</p><p>  MOV A,7DH ;取小數(shù)</p><p>

119、  MOVC A,@A+DPTR</p><p><b>  MOV P0,A</b></p><p>  MOV P2,#0FEH</p><p>  LCALL DELAY3</p><p>  MOV P2,#0FFH</p><p><b>  ret</b><

120、/p><p><b>  DELAY3:</b></p><p>  MOV R2,#100 ;延時2ms</p><p>  LOOP1A: MOV R4,#5</p><p>  LOOP9: DJNZ R4,LOOP9</p><p>  DJNZ R2,LOOP1A</p&g

121、t;<p><b>  RET</b></p><p><b>  TABLE1:</b></p><p>  DB 0C0H,0F9H,0A4H,0B0H,99H</p><p>  DB 92H,82H,0F8H,80H,90H</p><p>  DB 88H,83H,0C6H,

122、0A1H,86H</p><p>  DB 8EH,0FFH,89H,0c7H,0BFH</p><p><b>  ;溫度比較子程序</b></p><p>  TEMP_COMP:MOV A,TEMP_TH</p><p>  SUBB A,TEMP;上限值減實(shí)測值</p><p>  JC

123、 CHULI ;借位標(biāo)志位c=1 跳轉(zhuǎn)</p><p>  MOV A,TEMPBJ</p><p>  CJNE A,#0BH,COMP</p><p>  SJMP CHULI</p><p>  COMP:MOV A,TEMP</p><p>  SUBB A,TEMP_TL;實(shí)測值減下限</p>

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論