多點(diǎn)數(shù)字溫度計(jì)設(shè)計(jì) 畢業(yè)設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩40頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  畢業(yè)設(shè)計(jì)(論文)說(shuō)明書</p><p>  多點(diǎn)數(shù)字溫度計(jì)設(shè)計(jì) </p><p><b>  摘要</b></p><p>  在人類的生活環(huán)境中,溫度扮演著極其重要的角色。無(wú)論你生活在哪里,從事什么工作,無(wú)時(shí)無(wú)刻不在與溫度打著交道。自18世紀(jì)工業(yè)革命以來(lái),工業(yè)發(fā)展對(duì)是否能掌握溫度有著絕對(duì)的聯(lián)系。在冶金、鋼鐵

2、、石化、水泥、玻璃、醫(yī)藥等等行業(yè),可以說(shuō)幾乎80%的工業(yè)部門都不得不考慮著溫度的因素。隨著現(xiàn)代信息技術(shù)的飛速發(fā)展和傳統(tǒng)工業(yè)改造的逐步實(shí)現(xiàn),能夠獨(dú)立工作的溫度檢測(cè)和顯示系統(tǒng)應(yīng)用于諸多領(lǐng)域。這里設(shè)計(jì)的數(shù)字溫度計(jì)具有讀數(shù)方便,測(cè)溫范圍廣,測(cè)溫精確,數(shù)字顯示,適用范圍寬等特點(diǎn)。</p><p>  本次多點(diǎn)數(shù)字溫度計(jì)設(shè)計(jì)采用AT89C51單片機(jī)作為控制核心,使用閘刀開(kāi)關(guān)設(shè)計(jì)控制電路,采用DS18B20溫度傳感器采集溫度,

3、結(jié)合LCD顯示屏和74HC00芯片實(shí)現(xiàn)溫度的數(shù)字顯示。硬件電路設(shè)計(jì)主要包括中央處理單元電路、閘刀開(kāi)關(guān)電路以及溫度收集電路。軟件程序設(shè)計(jì)則采用匯編語(yǔ)言實(shí)現(xiàn)。本設(shè)計(jì)的測(cè)量溫度范圍為0 °C到70 °C、采集的溫度分辨率為0.1 °C以及能顯示10個(gè)溫度探測(cè)點(diǎn)的當(dāng)前采集溫度。實(shí)現(xiàn)了采集和顯示10個(gè)溫度探測(cè)點(diǎn)的當(dāng)前溫度的功能,達(dá)到了設(shè)計(jì)的要求和目的,并在Proteus軟件上進(jìn)行了仿真和調(diào)試。</p>

4、<p>  關(guān)鍵詞:數(shù)字溫度計(jì);AT89C51; 74HC00</p><p><b>  Abstract</b></p><p>  In human life environment, the temperature is playing an extremely important role. No matter where you live, en

5、gaged in any work, ever-present and temperature dealt with. Since the eighteenth century since the industrial revolution, industrial development to whether can master has absolute temperature of contact. In metallurgy, s

6、teel, petrochemical, cement, glass, medicine industry and so on, it can be said that almost 80% of industrial department have to consider the factors of temperature. Wit</p><p>  The more digital thermometer

7、 design use the AT89C51 microcontroller as control core, use the knife switch design the control circuit, use the temperature sensor DS18B20 collection temperature, combined with LCD screen and 74 HC00 chip realize tempe

8、rature of the digital display. Hardware circuit design includes the central processing unit circuit, the knife switch circuit, and the temperature collect circuit. Software program design is realized by assembly language

9、. This design of measuring tempe</p><p>  Keywords: Digital thermometer; AT89C51; 74HC00</p><p><b>  目 錄</b></p><p><b>  摘要I</b></p><p>  Abst

10、ractII</p><p><b>  第一章 緒論1</b></p><p>  1.1 設(shè)計(jì)背景1</p><p>  1.2 數(shù)字溫度計(jì)設(shè)計(jì)方案論證1</p><p>  1.2.1 方案一1</p><p>  1.2.2 方案二2</p><p>

11、;  1.3 方案二的總體設(shè)計(jì)框圖2</p><p>  第二章 主要元器件介紹3</p><p>  2.1 AT89C51的性能介紹3</p><p>  2.1.1 AT89C51的主要特性3</p><p>  2.1.2 AT89C51的管腳說(shuō)明3</p><p>  2.1.3 振蕩器特性5&

12、lt;/p><p>  2.1.4 芯片擦除5</p><p>  2.2 DS18B20數(shù)字溫度傳感器概述6</p><p>  2.2.1 DS18B20的基本情況6</p><p>  2.2.2 DS18B20的性能特點(diǎn)6</p><p>  2.2.3 DS18B20的內(nèi)部結(jié)構(gòu)7</p>

13、<p>  2.2.4 DS18B20數(shù)據(jù)輸出格式9</p><p>  2.2.5 DS18B20的相關(guān)命令10</p><p>  第三章 硬件設(shè)計(jì)12</p><p>  3.1中央處理單元電路12</p><p>  使用AT89C51單片機(jī)作為這部分電路的主要元器件,從DS18B20溫度傳感器電路和閘刀開(kāi)關(guān)電路接收

14、信號(hào),并向LCD顯示電路發(fā)送信號(hào)。12</p><p>  3.2 DS18B20溫度傳感器采集溫度電路13</p><p>  3.3閘刀開(kāi)關(guān)電路13</p><p>  3.4 LCD溫度數(shù)字顯示電路14</p><p>  第四章 軟件設(shè)計(jì)15</p><p>  4.1 主程序流程圖15</p

15、><p>  主程序流程圖如圖4.1所示。15</p><p>  4.2 DS18B20子程序流程圖16</p><p>  4.3 讀取溫度子程序流程圖16</p><p>  第五章 仿真軟件17</p><p>  5.1 PROTEUS仿真軟件介紹17</p><p>  5.2

16、 Proteus ISIS智能原理圖輸入系統(tǒng)17</p><p>  5.3 Proteus ISIS的界面和功能介紹18</p><p>  第六章 仿真調(diào)試與系統(tǒng)測(cè)試21</p><p>  6.1 仿真調(diào)試21</p><p>  6.1.1 繪制仿真原理圖如6.1所示:21</p><p>  6.2

17、 系統(tǒng)調(diào)試21</p><p><b>  6.3 仿真23</b></p><p>  6.1.3 開(kāi)始仿真23</p><p><b>  結(jié)束語(yǔ)24</b></p><p><b>  參考文獻(xiàn)25</b></p><p><b&g

18、t;  致 謝26</b></p><p>  附錄1 元器件清單27</p><p>  表附錄1 元器件清單表27</p><p><b>  附錄2 程序28</b></p><p><b>  第一章 緒論</b></p><p>  1.1

19、設(shè)計(jì)背景</p><p>  在人類的生活環(huán)境中,溫度扮演著極其重要的角色。無(wú)論你生活在哪里,從事什么工作,無(wú)時(shí)無(wú)刻不在與溫度打著交道。自18世紀(jì)工業(yè)革命以來(lái),工業(yè)發(fā)展對(duì)是否能掌握溫度有著絕對(duì)的聯(lián)系。在冶金、鋼鐵、石化、水泥、玻璃、醫(yī)藥等等行業(yè),可以說(shuō)幾乎80%的工業(yè)部門都不得不考慮著溫度的因素。溫度對(duì)于工業(yè)如此重要,由此推進(jìn)了溫度傳感器的發(fā)展。</p><p>  傳感器主要大體經(jīng)過(guò)了

20、三個(gè)發(fā)展階段:模擬集成溫度傳感器。該傳感器是采用硅半導(dǎo)體集成工藝制成,因此亦稱硅傳感器或單片集成溫度傳感器。此種傳感器具有功能單一(僅測(cè)量溫度)、測(cè)溫誤差小、價(jià)格低、響應(yīng)速度快、傳輸距離遠(yuǎn)、體積小、微功耗等,適合遠(yuǎn)距離測(cè)溫、控溫,不需要進(jìn)行非線性校準(zhǔn),外圍電路簡(jiǎn)單。它是目前在國(guó)內(nèi)外應(yīng)用最為普遍的一種集成傳感器,典型產(chǎn)品有AD590、AD592、TMP17、LM135等;模擬集成溫度控制器。模擬集成溫度控制器主要包括溫控開(kāi)關(guān)、可編程溫度控

21、制器,典型產(chǎn)品有LM56、AD22105和MAX6509。某些增強(qiáng)型集成溫度控制器(例如TC652/653)中還包含了A/D轉(zhuǎn)換器以及固化好的程序,這與智能溫度傳感器有某些相似之處。但它自成系統(tǒng),工作時(shí)并不受微處理器的控制,這是二者的主要區(qū)別;智能溫度傳感器。能溫度傳感器(亦稱數(shù)字溫度傳感器)是在20世紀(jì)90年代中期問(wèn)世的。它是微電子技術(shù)、計(jì)算機(jī)技術(shù)和自動(dòng)測(cè)試技術(shù)(ATE)的結(jié)晶。智能溫度傳感器內(nèi)部都包含溫度傳感器、A/D轉(zhuǎn)換器、信號(hào)處

22、理器、存儲(chǔ)器(或寄存器)和接口電路。有的產(chǎn)品還帶多路選擇器、中央控制器(CPU)、隨機(jī)存取存儲(chǔ)器(R</p><p>  1.2 數(shù)字溫度計(jì)設(shè)計(jì)方案論證</p><p><b>  1.2.1 方案一</b></p><p>  由于本設(shè)計(jì)是測(cè)溫電路,可以使用熱敏電阻之類的器件利用其感溫效應(yīng),在將隨被測(cè)溫度變化的電壓或電流采集過(guò)來(lái),進(jìn)行A/D轉(zhuǎn)

23、換后,就可以用單片機(jī)進(jìn)行數(shù)據(jù)的處理,在顯示電路上,就可以將被測(cè)溫度顯示出來(lái)。但是,這種設(shè)計(jì)需要用到A/D轉(zhuǎn)換電路,感溫電路比較麻煩。</p><p><b>  1.2.2 方案二</b></p><p>  采用DS18B20溫度傳感器和AT89C51單片機(jī)電路設(shè)計(jì)設(shè)計(jì)硬件電路,通過(guò)匯編程序?qū)崿F(xiàn)采集和顯示當(dāng)前溫度。這樣,可以很容易直接讀取被測(cè)溫度值,進(jìn)行轉(zhuǎn)換,就可以

24、滿足設(shè)計(jì)要求。</p><p>  從以上兩種方案,很容易看出,采用方案二,電路比較簡(jiǎn)單,軟件設(shè)計(jì)也比較簡(jiǎn)單,故采用了方案二。</p><p>  1.3 方案二的總體設(shè)計(jì)框圖</p><p>  根據(jù)方案二的設(shè)計(jì),多點(diǎn)數(shù)字溫度計(jì)設(shè)計(jì)的電路設(shè)計(jì)總體方框圖如圖1.1所示。使用AT89C51單片機(jī)作為控制核心,用LCD顯示屏來(lái)實(shí)現(xiàn)溫度的數(shù)字顯示。</p>

25、<p><b>  圖1.1結(jié)構(gòu)框圖</b></p><p>  第二章 主要元器件介紹</p><p>  2.1 AT89C51的性能介紹</p><p>  AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的

26、低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。 </p><p>  2.1.1 AT89C51的主要特性</p><p>  ●與MCS

27、-51 兼容</p><p>  ●4K字節(jié)可編程閃爍存儲(chǔ)器</p><p>  壽命:1000寫/擦循環(huán)</p><p>  數(shù)據(jù)保留時(shí)間:10年</p><p>  ●全靜態(tài)工作:0Hz-24Hz</p><p>  ●三級(jí)程序存儲(chǔ)器鎖定</p><p>  ●128*8位內(nèi)部RAM<

28、/p><p>  ●32可編程I/O線</p><p>  ●兩個(gè)16位定時(shí)器/計(jì)數(shù)器</p><p><b>  ●5個(gè)中斷源</b></p><p><b>  ●可編程串行通道</b></p><p>  ●低功耗的閑置和掉電模式</p><p> 

29、 ●片內(nèi)振蕩器和時(shí)鐘電路</p><p>  2.1.2 AT89C51的管腳說(shuō)明</p><p><b>  VCC:供電電壓。</b></p><p><b>  GND:接地。</b></p><p>  P0口:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第

30、一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。</p><p>  P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)

31、部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。</p><p>  P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地

32、址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。</p><p>  P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。</p

33、><p>  P3口也可作為AT89C51的一些特殊功能口,如下表(表2-1)所示:</p><p>  表2-1 AT89C51的特殊功能口</p><p>  P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。</p><p>  RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。</p><p&

34、gt;  ALE/PROG:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外

35、,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。</p><p>  /PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。</p><p>  /EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意

36、加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。</p><p>  XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。</p><p>  XTAL2:來(lái)自反向振蕩器的輸出。 </p><p>  2.1.3 振蕩器特性</p><p

37、>  XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過(guò)一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無(wú)任何要求,但必須保證脈沖的高低電平要求的寬度。</p><p>  2.1.4 芯片擦除</p><p>  整個(gè)PEROM陣列和三個(gè)鎖定位的電擦除可

38、通過(guò)正確的控制信號(hào)組合,并保持ALE管腳處于低電平10ms 來(lái)完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲(chǔ)字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。</p><p>  此外,AT89C51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時(shí)器,計(jì)數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯

39、片功能,直到下一個(gè)硬件復(fù)位為止。</p><p>  2.2 DS18B20數(shù)字溫度傳感器概述</p><p>  2.2.1 DS18B20的基本情況</p><p>  Dallas公司的數(shù)字化溫度傳感器DS18B20是世界上第一片支持“一線總線”接口的溫度傳感器,具有以下基本特性:</p><p>  ●只要有一個(gè)I/O引腳即可實(shí)現(xiàn)溫度

40、的采集,實(shí)際應(yīng)用中不需要外部任何元器件即可實(shí)現(xiàn)測(cè)溫;</p><p>  ●測(cè)量溫度范圍為-55℃~+125℃;</p><p>  ●數(shù)字溫度計(jì)的分辨率用戶可以從9位到12位選擇,精度為±0.5℃;</p><p>  ●內(nèi)部有E2PROM,用戶可以進(jìn)行溫度上、下限報(bào)警設(shè)置。</p><p>  2.2.2 DS18B20的性能特

41、點(diǎn)</p><p>  ●獨(dú)特的單線接口方式,DS18B20在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊</p><p>  ●DS18B20支持多點(diǎn)組網(wǎng)功能,多個(gè)DS18B20可以并聯(lián)在唯一的三線上,實(shí)現(xiàn)組網(wǎng)多點(diǎn)測(cè)溫</p><p>  ●DS18B20在使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)

42、</p><p>  ●適應(yīng)電壓范圍更寬,電壓范圍:3.0~5.5V,在寄生電源方式下可由數(shù)據(jù)線供電</p><p>  ●溫范圍-55℃~+125℃,在-10~+85℃時(shí)精度為±0.5℃</p><p><b>  ●零待機(jī)功耗</b></p><p>  ●可編程的分辨率為9~12位,對(duì)應(yīng)的可分辨溫度分別為

43、0.5℃、0.25℃、0.125℃和0.0625℃,可實(shí)現(xiàn)高精度測(cè)溫</p><p>  ●在9位分辨率時(shí)最多在93.75ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時(shí)最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快</p><p>  ●用戶可定義報(bào)警設(shè)置</p><p>  ●報(bào)警搜索命令識(shí)別并標(biāo)志超過(guò)程序限定溫度(溫度報(bào)警條件)的器件</p><p&

44、gt;  ●測(cè)量結(jié)果直接輸出數(shù)字溫度信號(hào),以"一線總線"串行傳送給CPU,同時(shí)可傳送CRC校驗(yàn)碼,具有極強(qiáng)的抗干擾糾錯(cuò)能力</p><p>  ●負(fù)電壓特性,電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,但不能正常工作</p><p>  以上特點(diǎn)使DS18B20非常適用與多點(diǎn)、遠(yuǎn)距離溫度檢測(cè)系統(tǒng)。</p><p>  DS18B20內(nèi)部結(jié)構(gòu)主要由四部

45、分組成:64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL、配置寄存器。DS18B20的管腳排列、各種封裝形式如圖2-1所示,DQ 為數(shù)據(jù)輸入/輸出引腳。開(kāi)漏單總線接口引腳。當(dāng)被用著在寄生電源下,也可以向器件提供電源;GND為地信號(hào);VDD為可選擇的VDD引腳。當(dāng)工作于寄生電源時(shí),此引腳必須接地。</p><p>  圖2-1 DS18B20外部封裝形式</p><p>  2

46、.2.3 DS18B20的內(nèi)部結(jié)構(gòu)</p><p>  圖2-2為DS18B20的內(nèi)部框圖,它主要包括寄生電源、溫度傳感器、64位激光ROM單線接口、存放中間數(shù)據(jù)的高速暫存器(內(nèi)含便箋式RAM),用于存儲(chǔ)用戶設(shè)定的溫度上下限值的TH和TL觸發(fā)器存儲(chǔ)與控制邏輯、8位循環(huán)冗余校驗(yàn)碼(CRC)發(fā)生器等七部分。DS18B20采用3腳PR-35 封裝或8腳SOIC封裝,其內(nèi)部結(jié)構(gòu)框圖如圖2-2所示:</p>

47、<p>  圖2-2 DS18B20的內(nèi)部結(jié)構(gòu)圖</p><p>  64位ROM的結(jié)構(gòu)開(kāi)始8位是產(chǎn)品類型的編號(hào),接著是每個(gè)器件的惟一的序號(hào),共有48位,最后8位是前面56位的CRC檢驗(yàn)碼,這也是多個(gè)DS18B20可以采用一線進(jìn)行通信的原因。溫度報(bào)警觸發(fā)器TH和TL,可通過(guò)軟件寫入戶報(bào)警上下限。</p><p>  DS18B20溫度傳感器的內(nèi)部存儲(chǔ)器還包括一個(gè)高速暫存RAM和一

48、個(gè)非易失性的可電擦除的EERAM。高速暫存RAM的結(jié)構(gòu)為8字節(jié)的存儲(chǔ)器,結(jié)構(gòu)如圖2-3所示。</p><p>  圖2-3 64位閃速ROM的結(jié)構(gòu)</p><p>  DS18B20 溫度傳感器的內(nèi)部存儲(chǔ)器包括一個(gè)高速暫存RAM和一個(gè)非易失性的可電擦除的EERAM。高速暫存RAM 的結(jié)構(gòu)為8字節(jié)的存儲(chǔ)器,結(jié)構(gòu)如圖2-4所示。頭2個(gè)字節(jié)包含測(cè)得的溫度信息,第3和第4字節(jié)TH和TL的拷貝,是易

49、失的,每次上電復(fù)位時(shí)被刷新。第5個(gè)字節(jié),為配置寄存器(圖2-5),它的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率。DS18B20工作時(shí)寄存器中的分辨率轉(zhuǎn)換為相應(yīng)精度的溫度數(shù)值。該字節(jié)各位的定義如圖2.3所示。低5位一直為1,TM是工作模式位,用于設(shè)置DS18B20在工作模式還是在測(cè)試模式,DS18B20出廠時(shí)該位被設(shè)置為0,用戶要去改動(dòng),R1和R0決定溫度轉(zhuǎn)換的精度位數(shù),來(lái)設(shè)置分辨率。</p><p>  圖2-4 DS

50、18B20 溫度傳感器的內(nèi)部存儲(chǔ)器</p><p>  圖2-5 配置寄存器</p><p>  由表2-2可見(jiàn),DS18B20溫度轉(zhuǎn)換的時(shí)間比較長(zhǎng),而且分辨率越高,所需要的溫度數(shù)據(jù)轉(zhuǎn)換時(shí)間越長(zhǎng)。因此,在實(shí)際應(yīng)用中要將分辨率和轉(zhuǎn)換時(shí)間權(quán)衡考慮。</p><p>  表2-2 DS18B20溫度轉(zhuǎn)換時(shí)間表</p><p>  2.2.4 DS1

51、8B20數(shù)據(jù)輸出格式</p><p>  DS18B20讀出的溫度結(jié)果的數(shù)據(jù)為兩字節(jié),用16位符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供。因此,在系統(tǒng)中要將得到溫度值數(shù)據(jù)進(jìn)行格式轉(zhuǎn)換,才能用于顯示。這兩字節(jié)的數(shù)據(jù)格式如圖2-6所示。</p><p>  圖2-6 DS18B20的數(shù)據(jù)格式</p><p>  高8位中的高5位是符號(hào)位,表示溫度是零上還是零下。</p>

52、;<p>  高8位中的低3位D6、D5、D4和低8位中的高4位D3、D2、D1、D0構(gòu)成溫度的整數(shù)部分。低8位中的D-1、D-2、D-3、D-4為溫度的小數(shù)部分(為0.5+0.25+0.125+0.0625)。</p><p>  表2-3是幾個(gè)溫度值的格式舉例。</p><p>  表2-3 幾個(gè)溫度值的格式舉例</p><p>  DS18B20

53、上電復(fù)位時(shí)的溫度值固定為0550H(85℃)</p><p>  2.2.5 DS18B20的相關(guān)命令</p><p>  首先要對(duì)DS18B20進(jìn)行初始化,由主機(jī)發(fā)出的復(fù)位脈沖和跟在其后的由DS18B20發(fā)出的應(yīng)答脈沖構(gòu)成。當(dāng)DS18B20發(fā)出響應(yīng)主機(jī)的應(yīng)答脈沖時(shí),即向主機(jī)表明DS18B20已處在總線上并且準(zhǔn)備工作。</p><p><b>  ROM命

54、令</b></p><p>  ROM命令通過(guò)每個(gè)器件64位的ROM碼,使主機(jī)指定某一特定器件(如果有多個(gè)器件掛在總線上)與之進(jìn)行通信。相關(guān)命令如表2-4所列。</p><p>  表2-4 ROM命令</p><p><b>  (2)功能命令</b></p><p>  主機(jī)通過(guò)功能命令對(duì)DS18B20的

55、Scratchpad存儲(chǔ)器進(jìn)行讀/寫?;蛘邌?dòng)溫度轉(zhuǎn)換,如表2-5所列。</p><p><b>  表2-5 功能命令</b></p><p><b>  第三章 硬件設(shè)計(jì)</b></p><p>  系統(tǒng)整體硬件電路包括四個(gè)部分:中央處理單元電路(AT89C51)、DS18B20溫度傳感器采集溫度電路、LCD溫度數(shù)字顯

56、示電路和閘刀開(kāi)關(guān)電路。各部分之間相互協(xié)作,構(gòu)成一個(gè)統(tǒng)一的有機(jī)整體,實(shí)現(xiàn)多點(diǎn)數(shù)字溫度計(jì)的功能。各部分的硬件電路設(shè)計(jì)如下:</p><p>  3.1中央處理單元電路</p><p>  使用AT89C51單片機(jī)作為這部分電路的主要元器件,從DS18B20溫度傳感器電路和閘刀開(kāi)關(guān)電路接收信號(hào),并向LCD顯示電路發(fā)送信號(hào)。</p><p>  圖3.1.1 中央處理單元電

57、路</p><p>  3.2 DS18B20溫度傳感器采集溫度電路</p><p>  圖3.1.2 DS18B20溫度傳感器采集溫度電路</p><p>  使用DS18B20溫度傳感器采集溫度設(shè)計(jì)溫度采集電路,并將采集到的溫度傳送給AT89C51單片機(jī)。</p><p><b>  3.3閘刀開(kāi)關(guān)電路</b><

58、;/p><p>  使用閘刀開(kāi)關(guān)設(shè)計(jì)電路,進(jìn)行溫度傳感器切換,從溫度采集電路接受溫度信號(hào)并將信號(hào)傳送給AT89C51單片機(jī)。</p><p>  圖3.3 LCD溫度數(shù)字顯示電路</p><p>  3.4 LCD溫度數(shù)字顯示電路</p><p>  使用LCD顯示屏和74HC00芯片設(shè)計(jì)LCD溫度數(shù)字顯示電路,經(jīng)接口從AT89C51單片機(jī)接收信

59、號(hào),實(shí)現(xiàn)溫度數(shù)字的功能。</p><p>  圖3.4 LCD溫度數(shù)字顯示電路</p><p><b>  第四章 軟件設(shè)計(jì)</b></p><p>  按照方案設(shè)計(jì)要求,在硬件電路的基礎(chǔ)上,進(jìn)行軟件設(shè)計(jì),為增加程序可讀性,可分為以下D個(gè)功能模塊:</p><p>  主程序。主程序流程圖如圖4.1所示。</p&g

60、t;<p>  子程序。流程圖如圖4.2所示。</p><p>  子程序。流程圖如圖4.3所示。</p><p>  4.1 主程序流程圖</p><p>  主程序流程圖如圖4.1所示。</p><p>  圖4.1 主程序流程圖</p><p>  4.2 DS18B20子程序流程圖</p&g

61、t;<p>  圖4.2 DS18B20子程序流程圖</p><p>  4.3 讀取溫度子程序流程圖</p><p>  圖4.3讀取溫度子程序流程圖</p><p><b>  第五章 仿真軟件</b></p><p>  5.1 PROTEUS仿真軟件介紹</p><p>  

62、Proteus軟件是一款功能強(qiáng)大的電路設(shè)計(jì)分析軟件。在利用其進(jìn)行單片機(jī)的軟件仿真時(shí),僅僅是使用了其部分功能(如使用其中的ISIS智能原理圖輸入系統(tǒng)來(lái)繪制電路原理圖)。因此這里主要介紹該部分的相關(guān)知識(shí)。</p><p>  5.2 Proteus ISIS智能原理圖輸入系統(tǒng)</p><p>  Proteus ISIS 是Proteus軟件的核心,具有以下特性:</p><

63、;p>  出版高質(zhì)量的原理圖:ISIS提供給用戶圖形外觀,包括線寬、填充類型、字符庫(kù)等的全部控制,使用戶生成精美的原理圖。畫完圖后可以以圖形文件輸出。</p><p>  良好的用戶界面:用戶只需要單擊元件的引腳或者先前布好的線,就能實(shí)現(xiàn)布線。而且擺放、移動(dòng)和刪除操作能都直接用鼠標(biāo)實(shí)現(xiàn),無(wú)需去單擊菜單或圖標(biāo)。</p><p>  自動(dòng)走線:只要單擊想要連接的兩個(gè)引腳,就能簡(jiǎn)單地實(shí)現(xiàn)走

64、線。在特殊的位置需要布線時(shí),只需在中間的角落單擊。自動(dòng)走線也能在元件移動(dòng)時(shí)操作,自動(dòng)解決相應(yīng)連線。節(jié)點(diǎn)能夠自動(dòng)布置和移除,節(jié)約時(shí)間,又避免一些可能的錯(cuò)誤。</p><p>  層次設(shè)計(jì):ISIS支持層次圖設(shè)計(jì),特殊的元件能夠定義為通過(guò)電路圖表示的模塊,能夠任意設(shè)定層次。模塊可畫成標(biāo)準(zhǔn)元件,在使用中可放置和刪除端口的子模塊電路。</p><p>  總線支持:ISIS的元件庫(kù)包含8000多個(gè)

65、元件,有標(biāo)準(zhǔn)符號(hào)、三極管、二極管、CMOS、微處理器、存儲(chǔ)器元件、模擬IC和運(yùn)算放大器等。</p><p>  Proteus ISIS 運(yùn)行于Windows 98/2000/XP環(huán)境,對(duì)計(jì)算機(jī)的配置要求不是很高。在運(yùn)行Proteus ISIS的執(zhí)行程序后,先出現(xiàn)一個(gè)啟動(dòng)畫面,隨機(jī)進(jìn)入如圖5-1所示的Proteus ISIS編輯環(huán)境。</p><p>  圖5.1 Proteus ISIS

66、的編輯環(huán)境</p><p>  5.3 Proteus ISIS的界面和功能介紹</p><p>  Proteus ISIS的工作界面是一種標(biāo)準(zhǔn)的Windows界面,如圖5.2所示。包括:標(biāo)題欄、主菜單、標(biāo)準(zhǔn)工具欄、繪圖工具欄、狀態(tài)欄、對(duì)象選擇按鈕、預(yù)覽對(duì)象方位控制按鈕、仿真進(jìn)程控制按鈕、預(yù)覽窗口、對(duì)象選擇器窗口、圖形編輯窗口。</p><p>  圖5.2 P

67、roteus 窗口界面圖</p><p> ?。?)原理圖編輯窗口</p><p>  顧名思義,它是用來(lái)繪制原理圖的。藍(lán)色方框內(nèi)為可編輯區(qū),元件要放到它里面。注意,這個(gè)窗口是沒(méi)有滾動(dòng)條的,你可用預(yù)覽窗口來(lái)改變?cè)韴D的可視范圍。 </p><p><b> ?。?)預(yù)覽窗口</b></p><p>  它可顯示兩個(gè)內(nèi)容,

68、一個(gè)是:當(dāng)你在元件列表中選擇一個(gè)元件時(shí),它會(huì)顯示該元件的預(yù)覽圖;另一個(gè)是,當(dāng)你的鼠標(biāo)焦點(diǎn)落在原理圖編輯窗口時(shí)(即放置元件到原理圖編輯窗口后或在原理圖編輯窗口中點(diǎn)擊鼠標(biāo)后),它會(huì)顯示整張?jiān)韴D的縮略圖,并會(huì)顯示一個(gè)綠色的方框,綠色的方框里面的內(nèi)容就是當(dāng)前原理圖窗口中顯示的內(nèi)容,因此,你可用鼠標(biāo)在它上面點(diǎn)擊來(lái)改變綠色的方框的位置,從而改變?cè)韴D的可視范圍。</p><p> ?。?)模型選擇工具欄</p>

69、<p>  主要模型(Main Modes):</p><p>  ●1 選擇元件(components)(默認(rèn)選擇的)</p><p><b>  ●2 放置連接點(diǎn)</b></p><p>  ●3 放置標(biāo)簽(用總線時(shí)會(huì)用到)</p><p><b>  ●4 放置文本</b><

70、;/p><p><b>  ●5 用于繪制總線</b></p><p>  ●6 用于放置子電路</p><p>  ●7 用于即時(shí)編輯元件參數(shù) (先單擊該圖標(biāo)再單擊要修改的元件)</p><p>  配件(Gadgets))</p><p>  ●1 終端接口(terminals) 有 VCC、地、

71、輸出、輸入等接口</p><p>  ●2 器件引腳:用于繪制各種引腳</p><p>  ●3 仿真圖表(graph) 用于各種分析,如 Noise Analysis</p><p><b>  ●4 錄音機(jī)</b></p><p>  ●5 信號(hào)發(fā)生器(generators)</p><p>

72、  ●6 電壓探針:使用仿真圖表時(shí)要用到</p><p>  ●7 電流探針:使用仿真圖表時(shí)要用到</p><p>  ●8 虛擬儀表:有示波器等</p><p>  2D 圖形(2D Graphics) )</p><p><b>  ●1 畫各種直線</b></p><p><b&

73、gt;  ●2 畫各種方框</b></p><p><b>  ●3 畫各種圓</b></p><p><b>  ●4 畫各種圓弧</b></p><p><b>  ●5 畫各種多邊形</b></p><p><b>  ●6 畫各種文本</b&

74、gt;</p><p><b>  ●7 畫符號(hào)</b></p><p><b>  ●8 畫原點(diǎn)等</b></p><p><b>  元件列表</b></p><p>  用于挑選元件(components)終端接口(terminals)信號(hào)發(fā)生器(generators)仿

75、真圖表(graph)等。舉例,當(dāng)你選擇“元件(components)”單擊“P”按鈕會(huì)打開(kāi)挑選元件對(duì)話框,選擇了一個(gè)元件后該元件會(huì)在元件列表中顯示,以后要用到該元件時(shí),只需在元件列表中選擇即可。</p><p><b>  (5)方向工具欄 </b></p><p>  旋轉(zhuǎn):旋轉(zhuǎn)角度只能是 90 的整數(shù)倍。成水平翻轉(zhuǎn)和垂直翻轉(zhuǎn)。使用方法:先右鍵單擊元件,再點(diǎn)擊(左擊

76、)相應(yīng)的旋轉(zhuǎn)圖標(biāo)。</p><p><b>  (6)仿真工具欄</b></p><p><b>  仿真控制按鈕 </b></p><p><b>  ●1 運(yùn)行</b></p><p><b>  ●2 單步運(yùn)行</b></p><

77、;p><b>  ●3 暫停</b></p><p><b>  ●4 停止</b></p><p>  第六章 仿真調(diào)試與系統(tǒng)測(cè)試</p><p><b>  6.1 仿真調(diào)試</b></p><p>  6.1.1 繪制仿真原理圖如6.1所示:</p>

78、<p>  圖6.1 仿真原理圖</p><p><b>  6.2 系統(tǒng)調(diào)試</b></p><p>  1. 雙擊單片機(jī)出現(xiàn)下圖所示畫面圖6.2-1,在Program File一欄中選取仿真項(xiàng)目的源程序代碼,點(diǎn)擊OK。</p><p>  6.2-1 加載源程序圖</p><p>  2.點(diǎn)擊菜單中的“So

79、urce”—“Build All”,得到如圖6.2-2所示的“Build Log” 。</p><p>  圖6.2-2 檢查日志圖</p><p><b>  6.3 仿真</b></p><p>  6.1.3 開(kāi)始仿真</p><p>  單擊Play按鈕,進(jìn)入仿真狀態(tài),出現(xiàn)下圖4.5所示:</p>

80、<p>  圖6.3-1 仿真結(jié)果一 </p><p>  圖6.3-2 仿真結(jié)果二</p><p><b>  結(jié)束語(yǔ)</b></p><p>  經(jīng)過(guò)幾周的努力,我終于完成了多點(diǎn)數(shù)字溫度計(jì)的設(shè)計(jì)。本次多點(diǎn)數(shù)字溫度計(jì)設(shè)計(jì)采用AT89C51單片機(jī)作為控制核心,使用閘刀開(kāi)關(guān)設(shè)計(jì)控制電路,采用DS18B20溫度傳感器采集溫度,結(jié)合LCD顯

81、示屏和74HC00芯片實(shí)現(xiàn)溫度的數(shù)字顯示,達(dá)到設(shè)計(jì)要求和目的。</p><p>  通過(guò)這份畢業(yè)設(shè)計(jì),我成長(zhǎng)了很多,單片機(jī)畢業(yè)設(shè)計(jì)重點(diǎn)就在于軟件算法的設(shè)計(jì),需要有很巧妙的程序算法。這提高了我編寫軟件程序的能力。同時(shí),本次畢業(yè)設(shè)計(jì)也使我對(duì)單片機(jī)技術(shù)有了更進(jìn)一步的了解。</p><p>  實(shí)踐和理論有很大的聯(lián)系,又高于理論。要把課本上所學(xué)的知識(shí)跟實(shí)際聯(lián)系起來(lái),才能把理論變成實(shí)際。本次電路的設(shè)

82、計(jì)既鞏固了我從課本上所學(xué)的知識(shí),也使我把理論與實(shí)際結(jié)合起來(lái),增強(qiáng)了學(xué)習(xí)的興趣,考驗(yàn)了我們借助圖書館、互聯(lián)網(wǎng)搜索、查閱相關(guān)資料的綜合能力。這也為我以后從事電子電路設(shè)計(jì)、研制電子產(chǎn)品方面的工作奠定了一定的基礎(chǔ)。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 李朝青. 單片機(jī)原理及接口技術(shù)(簡(jiǎn)明修訂版). 杭州; 北京航空航天大學(xué)出版社,1998

83、</p><p>  [2] 李廣弟. 單片機(jī)基礎(chǔ)[M]. 北京; 北京航空航天大學(xué)出版社,1994</p><p>  [3] 閻石. 數(shù)字電子技術(shù)基礎(chǔ)(第三版). 北京; 高等教育出版社,1989</p><p>  [4] 高衛(wèi)東,辛友順,韓彥征. 51單片機(jī)原理與實(shí)踐[M]. 北京; 北京航空航天大學(xué)出版社,2008</p><p>

84、<b>  致 謝</b></p><p>  在畢業(yè)設(shè)計(jì)即將完成之際,我特別感謝xxx老師的熱情關(guān)懷和悉心指導(dǎo)。在我畢業(yè)設(shè)計(jì)制作過(guò)程中,xxx老師傾注了大量的心血和汗水,無(wú)論是在課題的選題、構(gòu)思和資料的收集方面,還是在課題的研究方法以及成文定稿方面,我都得到了xxx老師悉心細(xì)致的教誨和無(wú)私的幫助,特別是他廣博的學(xué)識(shí),令我擴(kuò)展了程序應(yīng)用軟件方面的認(rèn)識(shí),在此表示真誠(chéng)地感謝和深深的謝意。<

85、/p><p>  寫作過(guò)程中,也得到了許多同學(xué)的寶貴建議,在此一并致以誠(chéng)摯的謝意。感謝所有關(guān)心、支持、幫助過(guò)我的良師益友。 最后,向在百忙中抽出時(shí)間對(duì)本文進(jìn)行評(píng)審并提出寶貴意見(jiàn)的各位老師表示衷心地感謝!</p><p><b>  附錄1 元器件清單</b></p><p>  表附錄1 元器件清單表</p><p>

86、;<b>  附錄2 程序</b></p><p>  DQ BITP1.0 </p><p>  FLAG BIT00H</p><p>  FLAG_NEGBIT01H</p><p>  TEMP_LEQU 30H</p><p>  TEMP_HEQU31

87、H</p><p>  TEMP_INTEQU 32H</p><p>  TEMP_DPEQU 33H</p><p>  TEMP_100EQU34H</p><p>  TEMP_10EQU35H</p><p>  TEMP_1EQU36H</p><p>  WR

88、_LCDBIT P3.6 ;寫LCD函數(shù)</p><p>  RD_LCDBITP3.7</p><p><b>  ORG 0000H</b></p><p>  LJMP START</p><p><b>  ORG 1000H</b></p><p>

89、;  START:MOV SP,#60H</p><p>  LCALL INIT</p><p>  MAIN:LCALL READ_TEMP</p><p>  LCALL PROC_TEMP</p><p><b>  LJMP MAIN</b></p><p>  ;*********

90、************************</p><p>  READ_TEMP:</p><p>  SETBDQ ;DQ置位進(jìn)位為1</p><p>  LCALL INI_DQ</p><p>  JB FLAG,RE_0</p><p><b>  RET</

91、b></p><p>  RE_0:MOV A,#0CCH</p><p>  LCALL WRITE_DQ</p><p>  MOV A,#44H</p><p>  LCALL WRITE_DQ</p><p>  LCALL DISPLAY;調(diào)用lcd顯示程序,并起延時(shí)作用</p>

92、<p>  LCALL INI_DQ</p><p>  MOV A,#0CCH</p><p>  LCALL WRITE_DQ</p><p>  MOV A,#0BEH</p><p>  LCALL WRITE_DQ</p><p>  LCALL READ_DQ</p><p&g

93、t;<b>  RET</b></p><p>  ;************DS18B20初始化程序***************</p><p><b>  INI_DQ:</b></p><p>  SETBDQ ;DQ置位進(jìn)位為1</p><p><b>  NO

94、P</b></p><p><b>  NOP</b></p><p><b>  CLRDQ</b></p><p>  MOV R1,#3</p><p>  INI_0: MOV R0,#80</p><p>  DJNZ R0,$<

95、/p><p>  DJNZ R1,INI_0</p><p>  SETB DQ ;DQ置位進(jìn)位為1</p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  NOP</b><

96、/p><p>  MOVR7,#25</p><p>  INI_1: JNB DQ,INI_2 </p><p>  DJNZ R7,INI_1 ;延時(shí)</p><p>  LJMP INI_3</p><p>  INI_2: SETB FLAG ;標(biāo)志位</p><

97、p>  LJMP INI_4</p><p>  INI_3: CLR FLAG </p><p>  LJMP INI_5</p><p>  INI_4: MOV R0,#80</p><p>  DJNZ R0,$ ;時(shí)序要求延時(shí)一段時(shí)間</p><p>  INI_5:

98、 SETB DQ ;DQ置位進(jìn)位為1</p><p><b>  RET</b></p><p>  ;**************DS18B20寫命令******************</p><p><b>  WRITE_DQ:</b></p><p>  MOV

99、R6,#8</p><p><b>  CLR C</b></p><p>  Tloop:CLRDQ</p><p><b>  MOV R2,#6</b></p><p><b>  DJNZ R2,$</b></p><p>  RRC

100、A;最低位移到C中</p><p><b>  MOV DQ,C</b></p><p>  MOV R2,#23</p><p><b>  DJNZ R2,$</b></p><p>  SETB DQ ;DQ置位進(jìn)位為1</p><p><

101、;b>  NOP</b></p><p>  DJNZ R6,Tloop</p><p>  SETB DQ ;DQ置位進(jìn)位為1</p><p><b>  RET</b></p><p>  ;**************讀DS18B20數(shù)據(jù)函數(shù)*************</p

102、><p><b>  READ_DQ:</b></p><p>  MOV R5,#2</p><p>  MOV R0,#30H</p><p>  READ_0:MOV R6,#8</p><p>  READ_1:CLRC</p><p>  SETB

103、DQ ;DQ置位進(jìn)位為1</p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  CLRDQ</b></p><p><b>  NOP</b></p><

104、p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p><p>  SETBDQ ;DQ置位進(jìn)位為1</p><p>  MOV R2,#9</p><p> 

105、 DJNZ R2,$</p><p><b>  MOV C,DQ</b></p><p>  MOV R3,#23</p><p>  DJNZ R3,$</p><p><b>  RRCA</b></p><p>  DJNZR6,READ_1</

106、p><p>  MOV @R0,A</p><p><b>  INC R0</b></p><p>  DJNZ R5,READ_0</p><p>  SETB DQ ;DQ置位進(jìn)位為1</p><p><b>  RET</b></p>&l

107、t;p>  ;***************溫度數(shù)據(jù)處理程序*****************</p><p>  PROC_TEMP:</p><p>  CLR FLAG_NEG</p><p>  MOV A,TEMP_L</p><p><b>  SWAP A</b></p><p&g

108、t;  ORL A,#0F0H</p><p>  MOV TEMP_INT,A</p><p>  MOV A,TEMP_H</p><p><b>  SWAP A</b></p><p>  ORL A,#0FH</p><p>  ANL TEMP_INT,A</p><

109、;p>  MOV A,TEMP_H</p><p>  JBACC.7,NEGTIVE</p><p>  MOV A,TEMP_L</p><p>  ANL A,#0FH</p><p>  MOV DPTR,#TAB3</p><p>  MOVC A,@A+DPTR</p><p&g

110、t;  MOV TEMP_DP,A</p><p>  LJMP PRO_0</p><p>  NEGTIVE:;溫度值為負(fù)時(shí)處理程序,按實(shí)際情況,處理過(guò)程比較復(fù)雜</p><p>  SETB FLAG_NEG ;FLAG_NEG置位進(jìn)位為1</p><p>  MOV A,TEMP_L</p>

111、<p><b>  CPL A</b></p><p>  ANL A,#0FH</p><p><b>  MOV R1,A</b></p><p>  CJNE R1,#0FH,PRO_1</p><p><b>  PUSH ACC</b></p>

112、<p>  MOV A,TEMP_INT</p><p><b>  SUBB A,#1</b></p><p>  MOV TEMP_INT,A</p><p><b>  POP ACC</b></p><p>  MOV TEMP_DP,#00H</p><p

113、>  LJMP PRO_2</p><p>  PRO_1:ADD A,#1</p><p>  MOV DPTR,#TAB3</p><p>  MOVC A,@A+DPTR</p><p>  MOV TEMP_DP,A</p><p>  PRO_2:MOV A,TEMP_INT</p>

114、<p><b>  CPL A</b></p><p>  MOV TEMP_INT,A</p><p>  PRO_0:MOV A,TEMP_INT</p><p>  MOV B,#100</p><p><b>  DIV AB</b></p><p>  

115、MOV TEMP_100,A</p><p><b>  MOV A,B</b></p><p><b>  MOV B,#10</b></p><p><b>  DIV AB</b></p><p>  MOV TEMP_10,A</p><p> 

116、 MOV TEMP_1,B</p><p><b>  RET</b></p><p>  ;**************LED顯示***********************</p><p>  ;**************LCD初始化**********************</p><p>  INIT:M

117、OV DPTR,#8000H</p><p>  SETBWR_LCD</p><p>  SETBRD_LCD</p><p>  MOV A,#01H</p><p>  ACALL F_BUSY</p><p>  MOVX @DPTR,A</p><p>  ACALL F_BUSY

118、</p><p>  MOV A,#38H</p><p>  MOVX @DPTR,A</p><p>  ACALL F_BUSY</p><p><b>  MOV A,0EH</b></p><p>  MOVX @DPTR,A</p><p>  ACALL F_

119、BUSY</p><p>  MOV A,#0CH</p><p>  MOVX @DPTR,A</p><p><b>  RET</b></p><p>  ;***********寫LCD函數(shù)*************************</p><p>  DISPLAY:MOV D

120、PTR,#8000H;寫第一行數(shù)據(jù)</p><p>  MOV A,#80H</p><p>  ACALL F_BUSY</p><p>  MOVX @DPTR,A</p><p>  MOV DPTR,#8100H</p><p><b>  MOV R1,#0</b></p>

121、;<p>  D1:LCALL TRANS1;</p><p>  ACALL F_BUSY</p><p>  MOVX @DPTR,A</p><p><b>  INC R1</b></p><p>  CJNE R1,#16,D1</p><p>  MOV DPTR,#

122、8000H;寫第二行數(shù)據(jù)</p><p>  MOV A,#0C0H</p><p>  ACALL F_BUSY</p><p>  MOVX @DPTR,A</p><p>  MOV DPTR,#8100H</p><p>  LCALL WRITE_NEGTIVE</p><p> 

123、 ACALL F_BUSY</p><p>  MOVX @DPTR,A</p><p>  MOV A,TEMP_100</p><p>  LCALL WRITE_INT</p><p>  ACALL F_BUSY</p><p>  MOVX @DPTR,A</p><p>  MOV

124、A,TEMP_10</p><p>  LCALL WRITE_INT</p><p>  ACALL F_BUSY</p><p>  MOVX @DPTR,A</p><p>  MOV A,TEMP_1</p><p>  LCALL WRITE_INT</p><p>  ACALL F

125、_BUSY</p><p>  MOVX @DPTR,A</p><p>  MOV A,#2EH</p><p>  ACALL F_BUSY</p><p>  MOVX @DPTR,A</p><p>  MOV A,TEMP_DP</p><p>  LCALL WRITE_INT<

溫馨提示

  • 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論