版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 畢業(yè)設(shè)計(論文)說明書</p><p> 多點數(shù)字溫度計設(shè)計 </p><p><b> 摘要</b></p><p> 在人類的生活環(huán)境中,溫度扮演著極其重要的角色。無論你生活在哪里,從事什么工作,無時無刻不在與溫度打著交道。自18世紀工業(yè)革命以來,工業(yè)發(fā)展對是否能掌握溫度有著絕對的聯(lián)系。在冶金、鋼鐵
2、、石化、水泥、玻璃、醫(yī)藥等等行業(yè),可以說幾乎80%的工業(yè)部門都不得不考慮著溫度的因素。隨著現(xiàn)代信息技術(shù)的飛速發(fā)展和傳統(tǒng)工業(yè)改造的逐步實現(xiàn),能夠獨立工作的溫度檢測和顯示系統(tǒng)應(yīng)用于諸多領(lǐng)域。這里設(shè)計的數(shù)字溫度計具有讀數(shù)方便,測溫范圍廣,測溫精確,數(shù)字顯示,適用范圍寬等特點。</p><p> 本次多點數(shù)字溫度計設(shè)計采用AT89C51單片機作為控制核心,使用閘刀開關(guān)設(shè)計控制電路,采用DS18B20溫度傳感器采集溫度,
3、結(jié)合LCD顯示屏和74HC00芯片實現(xiàn)溫度的數(shù)字顯示。硬件電路設(shè)計主要包括中央處理單元電路、閘刀開關(guān)電路以及溫度收集電路。軟件程序設(shè)計則采用匯編語言實現(xiàn)。本設(shè)計的測量溫度范圍為0 °C到70 °C、采集的溫度分辨率為0.1 °C以及能顯示10個溫度探測點的當前采集溫度。實現(xiàn)了采集和顯示10個溫度探測點的當前溫度的功能,達到了設(shè)計的要求和目的,并在Proteus軟件上進行了仿真和調(diào)試。</p>
4、<p> 關(guān)鍵詞:數(shù)字溫度計;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è)計背景1</p><p> 1.2 數(shù)字溫度計設(shè)計方案論證1</p><p> 1.2.1 方案一1</p><p> 1.2.2 方案二2</p><p>
11、; 1.3 方案二的總體設(shè)計框圖2</p><p> 第二章 主要元器件介紹3</p><p> 2.1 AT89C51的性能介紹3</p><p> 2.1.1 AT89C51的主要特性3</p><p> 2.1.2 AT89C51的管腳說明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的性能特點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è)計12</p><p> 3.1中央處理單元電路12</p><p> 使用AT89C51單片機作為這部分電路的主要元器件,從DS18B20溫度傳感器電路和閘刀開關(guān)電路接收
14、信號,并向LCD顯示電路發(fā)送信號。12</p><p> 3.2 DS18B20溫度傳感器采集溫度電路13</p><p> 3.3閘刀開關(guān)電路13</p><p> 3.4 LCD溫度數(shù)字顯示電路14</p><p> 第四章 軟件設(shè)計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)測試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 開始仿真23</p><p><b> 結(jié)束語24</b></p><p><b> 參考文獻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è)計背景</p><p> 在人類的生活環(huán)境中,溫度扮演著極其重要的角色。無論你生活在哪里,從事什么工作,無時無刻不在與溫度打著交道。自18世紀工業(yè)革命以來,工業(yè)發(fā)展對是否能掌握溫度有著絕對的聯(lián)系。在冶金、鋼鐵、石化、水泥、玻璃、醫(yī)藥等等行業(yè),可以說幾乎80%的工業(yè)部門都不得不考慮著溫度的因素。溫度對于工業(yè)如此重要,由此推進了溫度傳感器的發(fā)展。</p><p> 傳感器主要大體經(jīng)過了
20、三個發(fā)展階段:模擬集成溫度傳感器。該傳感器是采用硅半導(dǎo)體集成工藝制成,因此亦稱硅傳感器或單片集成溫度傳感器。此種傳感器具有功能單一(僅測量溫度)、測溫誤差小、價格低、響應(yīng)速度快、傳輸距離遠、體積小、微功耗等,適合遠距離測溫、控溫,不需要進行非線性校準,外圍電路簡單。它是目前在國內(nèi)外應(yīng)用最為普遍的一種集成傳感器,典型產(chǎn)品有AD590、AD592、TMP17、LM135等;模擬集成溫度控制器。模擬集成溫度控制器主要包括溫控開關(guān)、可編程溫度控
21、制器,典型產(chǎn)品有LM56、AD22105和MAX6509。某些增強型集成溫度控制器(例如TC652/653)中還包含了A/D轉(zhuǎn)換器以及固化好的程序,這與智能溫度傳感器有某些相似之處。但它自成系統(tǒng),工作時并不受微處理器的控制,這是二者的主要區(qū)別;智能溫度傳感器。能溫度傳感器(亦稱數(shù)字溫度傳感器)是在20世紀90年代中期問世的。它是微電子技術(shù)、計算機技術(shù)和自動測試技術(shù)(ATE)的結(jié)晶。智能溫度傳感器內(nèi)部都包含溫度傳感器、A/D轉(zhuǎn)換器、信號處
22、理器、存儲器(或寄存器)和接口電路。有的產(chǎn)品還帶多路選擇器、中央控制器(CPU)、隨機存取存儲器(R</p><p> 1.2 數(shù)字溫度計設(shè)計方案論證</p><p><b> 1.2.1 方案一</b></p><p> 由于本設(shè)計是測溫電路,可以使用熱敏電阻之類的器件利用其感溫效應(yīng),在將隨被測溫度變化的電壓或電流采集過來,進行A/D轉(zhuǎn)
23、換后,就可以用單片機進行數(shù)據(jù)的處理,在顯示電路上,就可以將被測溫度顯示出來。但是,這種設(shè)計需要用到A/D轉(zhuǎn)換電路,感溫電路比較麻煩。</p><p><b> 1.2.2 方案二</b></p><p> 采用DS18B20溫度傳感器和AT89C51單片機電路設(shè)計設(shè)計硬件電路,通過匯編程序?qū)崿F(xiàn)采集和顯示當前溫度。這樣,可以很容易直接讀取被測溫度值,進行轉(zhuǎn)換,就可以
24、滿足設(shè)計要求。</p><p> 從以上兩種方案,很容易看出,采用方案二,電路比較簡單,軟件設(shè)計也比較簡單,故采用了方案二。</p><p> 1.3 方案二的總體設(shè)計框圖</p><p> 根據(jù)方案二的設(shè)計,多點數(shù)字溫度計設(shè)計的電路設(shè)計總體方框圖如圖1.1所示。使用AT89C51單片機作為控制核心,用LCD顯示屏來實現(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é)閃爍可編程可擦除只讀存儲器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的
26、低電壓,高性能CMOS8位微處理器,俗稱單片機。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。 </p><p> 2.1.1 AT89C51的主要特性</p><p> ●與MCS
27、-51 兼容</p><p> ●4K字節(jié)可編程閃爍存儲器</p><p> 壽命:1000寫/擦循環(huán)</p><p> 數(shù)據(jù)保留時間:10年</p><p> ●全靜態(tài)工作:0Hz-24Hz</p><p> ●三級程序存儲器鎖定</p><p> ●128*8位內(nèi)部RAM<
28、/p><p> ●32可編程I/O線</p><p> ●兩個16位定時器/計數(shù)器</p><p><b> ●5個中斷源</b></p><p><b> ●可編程串行通道</b></p><p> ●低功耗的閑置和掉電模式</p><p>
29、 ●片內(nèi)振蕩器和時鐘電路</p><p> 2.1.2 AT89C51的管腳說明</p><p><b> VCC:供電電壓。</b></p><p><b> GND:接地。</b></p><p> P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第
30、一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。</p><p> P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)
31、部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。</p><p> P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地
32、址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。</p><p> P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。</p
33、><p> P3口也可作為AT89C51的一些特殊功能口,如下表(表2-1)所示:</p><p> 表2-1 AT89C51的特殊功能口</p><p> P3口同時為閃爍編程和編程校驗接收一些控制信號。</p><p> RST:復(fù)位輸入。當振蕩器復(fù)位器件時,要保持RST腳兩個機器周期的高電平時間。</p><p&
34、gt; ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外
35、,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。</p><p> /PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。</p><p> /EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意
36、加密方式1時,/EA將內(nèi)部鎖定為RESET;當/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。</p><p> XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。</p><p> XTAL2:來自反向振蕩器的輸出。 </p><p> 2.1.3 振蕩器特性</p><p
37、> XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。</p><p> 2.1.4 芯片擦除</p><p> 整個PEROM陣列和三個鎖定位的電擦除可
38、通過正確的控制信號組合,并保持ALE管腳處于低電平10ms 來完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。</p><p> 此外,AT89C51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時器,計數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯
39、片功能,直到下一個硬件復(fù)位為止。</p><p> 2.2 DS18B20數(shù)字溫度傳感器概述</p><p> 2.2.1 DS18B20的基本情況</p><p> Dallas公司的數(shù)字化溫度傳感器DS18B20是世界上第一片支持“一線總線”接口的溫度傳感器,具有以下基本特性:</p><p> ●只要有一個I/O引腳即可實現(xiàn)溫度
40、的采集,實際應(yīng)用中不需要外部任何元器件即可實現(xiàn)測溫;</p><p> ●測量溫度范圍為-55℃~+125℃;</p><p> ●數(shù)字溫度計的分辨率用戶可以從9位到12位選擇,精度為±0.5℃;</p><p> ●內(nèi)部有E2PROM,用戶可以進行溫度上、下限報警設(shè)置。</p><p> 2.2.2 DS18B20的性能特
41、點</p><p> ●獨特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與DS18B20的雙向通訊</p><p> ●DS18B20支持多點組網(wǎng)功能,多個DS18B20可以并聯(lián)在唯一的三線上,實現(xiàn)組網(wǎng)多點測溫</p><p> ●DS18B20在使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)
42、</p><p> ●適應(yīng)電壓范圍更寬,電壓范圍:3.0~5.5V,在寄生電源方式下可由數(shù)據(jù)線供電</p><p> ●溫范圍-55℃~+125℃,在-10~+85℃時精度為±0.5℃</p><p><b> ●零待機功耗</b></p><p> ●可編程的分辨率為9~12位,對應(yīng)的可分辨溫度分別為
43、0.5℃、0.25℃、0.125℃和0.0625℃,可實現(xiàn)高精度測溫</p><p> ●在9位分辨率時最多在93.75ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快</p><p> ●用戶可定義報警設(shè)置</p><p> ●報警搜索命令識別并標志超過程序限定溫度(溫度報警條件)的器件</p><p&
44、gt; ●測量結(jié)果直接輸出數(shù)字溫度信號,以"一線總線"串行傳送給CPU,同時可傳送CRC校驗碼,具有極強的抗干擾糾錯能力</p><p> ●負電壓特性,電源極性接反時,溫度計不會因發(fā)熱而燒毀,但不能正常工作</p><p> 以上特點使DS18B20非常適用與多點、遠距離溫度檢測系統(tǒng)。</p><p> DS18B20內(nèi)部結(jié)構(gòu)主要由四部
45、分組成:64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器TH和TL、配置寄存器。DS18B20的管腳排列、各種封裝形式如圖2-1所示,DQ 為數(shù)據(jù)輸入/輸出引腳。開漏單總線接口引腳。當被用著在寄生電源下,也可以向器件提供電源;GND為地信號;VDD為可選擇的VDD引腳。當工作于寄生電源時,此引腳必須接地。</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),用于存儲用戶設(shè)定的溫度上下限值的TH和TL觸發(fā)器存儲與控制邏輯、8位循環(huá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)開始8位是產(chǎn)品類型的編號,接著是每個器件的惟一的序號,共有48位,最后8位是前面56位的CRC檢驗碼,這也是多個DS18B20可以采用一線進行通信的原因。溫度報警觸發(fā)器TH和TL,可通過軟件寫入戶報警上下限。</p><p> DS18B20溫度傳感器的內(nèi)部存儲器還包括一個高速暫存RAM和一
48、個非易失性的可電擦除的EERAM。高速暫存RAM的結(jié)構(gòu)為8字節(jié)的存儲器,結(jié)構(gòu)如圖2-3所示。</p><p> 圖2-3 64位閃速ROM的結(jié)構(gòu)</p><p> DS18B20 溫度傳感器的內(nèi)部存儲器包括一個高速暫存RAM和一個非易失性的可電擦除的EERAM。高速暫存RAM 的結(jié)構(gòu)為8字節(jié)的存儲器,結(jié)構(gòu)如圖2-4所示。頭2個字節(jié)包含測得的溫度信息,第3和第4字節(jié)TH和TL的拷貝,是易
49、失的,每次上電復(fù)位時被刷新。第5個字節(jié),為配置寄存器(圖2-5),它的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率。DS18B20工作時寄存器中的分辨率轉(zhuǎn)換為相應(yīng)精度的溫度數(shù)值。該字節(jié)各位的定義如圖2.3所示。低5位一直為1,TM是工作模式位,用于設(shè)置DS18B20在工作模式還是在測試模式,DS18B20出廠時該位被設(shè)置為0,用戶要去改動,R1和R0決定溫度轉(zhuǎn)換的精度位數(shù),來設(shè)置分辨率。</p><p> 圖2-4 DS
50、18B20 溫度傳感器的內(nèi)部存儲器</p><p> 圖2-5 配置寄存器</p><p> 由表2-2可見,DS18B20溫度轉(zhuǎn)換的時間比較長,而且分辨率越高,所需要的溫度數(shù)據(jù)轉(zhuǎn)換時間越長。因此,在實際應(yīng)用中要將分辨率和轉(zhuǎn)換時間權(quán)衡考慮。</p><p> 表2-2 DS18B20溫度轉(zhuǎn)換時間表</p><p> 2.2.4 DS1
51、8B20數(shù)據(jù)輸出格式</p><p> DS18B20讀出的溫度結(jié)果的數(shù)據(jù)為兩字節(jié),用16位符號擴展的二進制補碼讀數(shù)形式提供。因此,在系統(tǒng)中要將得到溫度值數(shù)據(jù)進行格式轉(zhuǎn)換,才能用于顯示。這兩字節(jié)的數(shù)據(jù)格式如圖2-6所示。</p><p> 圖2-6 DS18B20的數(shù)據(jù)格式</p><p> 高8位中的高5位是符號位,表示溫度是零上還是零下。</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是幾個溫度值的格式舉例。</p><p> 表2-3 幾個溫度值的格式舉例</p><p> DS18B20
53、上電復(fù)位時的溫度值固定為0550H(85℃)</p><p> 2.2.5 DS18B20的相關(guān)命令</p><p> 首先要對DS18B20進行初始化,由主機發(fā)出的復(fù)位脈沖和跟在其后的由DS18B20發(fā)出的應(yīng)答脈沖構(gòu)成。當DS18B20發(fā)出響應(yīng)主機的應(yīng)答脈沖時,即向主機表明DS18B20已處在總線上并且準備工作。</p><p><b> ROM命
54、令</b></p><p> ROM命令通過每個器件64位的ROM碼,使主機指定某一特定器件(如果有多個器件掛在總線上)與之進行通信。相關(guān)命令如表2-4所列。</p><p> 表2-4 ROM命令</p><p><b> ?。?)功能命令</b></p><p> 主機通過功能命令對DS18B20的
55、Scratchpad存儲器進行讀/寫?;蛘邌訙囟绒D(zhuǎn)換,如表2-5所列。</p><p><b> 表2-5 功能命令</b></p><p><b> 第三章 硬件設(shè)計</b></p><p> 系統(tǒng)整體硬件電路包括四個部分:中央處理單元電路(AT89C51)、DS18B20溫度傳感器采集溫度電路、LCD溫度數(shù)字顯
56、示電路和閘刀開關(guān)電路。各部分之間相互協(xié)作,構(gòu)成一個統(tǒng)一的有機整體,實現(xiàn)多點數(shù)字溫度計的功能。各部分的硬件電路設(shè)計如下:</p><p> 3.1中央處理單元電路</p><p> 使用AT89C51單片機作為這部分電路的主要元器件,從DS18B20溫度傳感器電路和閘刀開關(guān)電路接收信號,并向LCD顯示電路發(fā)送信號。</p><p> 圖3.1.1 中央處理單元電
57、路</p><p> 3.2 DS18B20溫度傳感器采集溫度電路</p><p> 圖3.1.2 DS18B20溫度傳感器采集溫度電路</p><p> 使用DS18B20溫度傳感器采集溫度設(shè)計溫度采集電路,并將采集到的溫度傳送給AT89C51單片機。</p><p><b> 3.3閘刀開關(guān)電路</b><
58、;/p><p> 使用閘刀開關(guān)設(shè)計電路,進行溫度傳感器切換,從溫度采集電路接受溫度信號并將信號傳送給AT89C51單片機。</p><p> 圖3.3 LCD溫度數(shù)字顯示電路</p><p> 3.4 LCD溫度數(shù)字顯示電路</p><p> 使用LCD顯示屏和74HC00芯片設(shè)計LCD溫度數(shù)字顯示電路,經(jīng)接口從AT89C51單片機接收信
59、號,實現(xiàn)溫度數(shù)字的功能。</p><p> 圖3.4 LCD溫度數(shù)字顯示電路</p><p><b> 第四章 軟件設(shè)計</b></p><p> 按照方案設(shè)計要求,在硬件電路的基礎(chǔ)上,進行軟件設(shè)計,為增加程序可讀性,可分為以下D個功能模塊:</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軟件是一款功能強大的電路設(shè)計分析軟件。在利用其進行單片機的軟件仿真時,僅僅是使用了其部分功能(如使用其中的ISIS智能原理圖輸入系統(tǒng)來繪制電路原理圖)。因此這里主要介紹該部分的相關(guān)知識。</p><p> 5.2 Proteus ISIS智能原理圖輸入系統(tǒng)</p><p> Proteus ISIS 是Proteus軟件的核心,具有以下特性:</p><
63、;p> 出版高質(zhì)量的原理圖:ISIS提供給用戶圖形外觀,包括線寬、填充類型、字符庫等的全部控制,使用戶生成精美的原理圖。畫完圖后可以以圖形文件輸出。</p><p> 良好的用戶界面:用戶只需要單擊元件的引腳或者先前布好的線,就能實現(xiàn)布線。而且擺放、移動和刪除操作能都直接用鼠標實現(xiàn),無需去單擊菜單或圖標。</p><p> 自動走線:只要單擊想要連接的兩個引腳,就能簡單地實現(xiàn)走
64、線。在特殊的位置需要布線時,只需在中間的角落單擊。自動走線也能在元件移動時操作,自動解決相應(yīng)連線。節(jié)點能夠自動布置和移除,節(jié)約時間,又避免一些可能的錯誤。</p><p> 層次設(shè)計:ISIS支持層次圖設(shè)計,特殊的元件能夠定義為通過電路圖表示的模塊,能夠任意設(shè)定層次。模塊可畫成標準元件,在使用中可放置和刪除端口的子模塊電路。</p><p> 總線支持:ISIS的元件庫包含8000多個
65、元件,有標準符號、三極管、二極管、CMOS、微處理器、存儲器元件、模擬IC和運算放大器等。</p><p> Proteus ISIS 運行于Windows 98/2000/XP環(huán)境,對計算機的配置要求不是很高。在運行Proteus ISIS的執(zhí)行程序后,先出現(xià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的工作界面是一種標準的Windows界面,如圖5.2所示。包括:標題欄、主菜單、標準工具欄、繪圖工具欄、狀態(tài)欄、對象選擇按鈕、預(yù)覽對象方位控制按鈕、仿真進程控制按鈕、預(yù)覽窗口、對象選擇器窗口、圖形編輯窗口。</p><p> 圖5.2 P
67、roteus 窗口界面圖</p><p> (1)原理圖編輯窗口</p><p> 顧名思義,它是用來繪制原理圖的。藍色方框內(nèi)為可編輯區(qū),元件要放到它里面。注意,這個窗口是沒有滾動條的,你可用預(yù)覽窗口來改變原理圖的可視范圍。 </p><p><b> ?。?)預(yù)覽窗口</b></p><p> 它可顯示兩個內(nèi)容,
68、一個是:當你在元件列表中選擇一個元件時,它會顯示該元件的預(yù)覽圖;另一個是,當你的鼠標焦點落在原理圖編輯窗口時(即放置元件到原理圖編輯窗口后或在原理圖編輯窗口中點擊鼠標后),它會顯示整張原理圖的縮略圖,并會顯示一個綠色的方框,綠色的方框里面的內(nèi)容就是當前原理圖窗口中顯示的內(nèi)容,因此,你可用鼠標在它上面點擊來改變綠色的方框的位置,從而改變原理圖的可視范圍。</p><p> ?。?)模型選擇工具欄</p>
69、<p> 主要模型(Main Modes):</p><p> ●1 選擇元件(components)(默認選擇的)</p><p><b> ●2 放置連接點</b></p><p> ●3 放置標簽(用總線時會用到)</p><p><b> ●4 放置文本</b><
70、;/p><p><b> ●5 用于繪制總線</b></p><p> ●6 用于放置子電路</p><p> ●7 用于即時編輯元件參數(shù) (先單擊該圖標再單擊要修改的元件)</p><p> 配件(Gadgets))</p><p> ●1 終端接口(terminals) 有 VCC、地、
71、輸出、輸入等接口</p><p> ●2 器件引腳:用于繪制各種引腳</p><p> ●3 仿真圖表(graph) 用于各種分析,如 Noise Analysis</p><p><b> ●4 錄音機</b></p><p> ●5 信號發(fā)生器(generators)</p><p>
72、 ●6 電壓探針:使用仿真圖表時要用到</p><p> ●7 電流探針:使用仿真圖表時要用到</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 畫符號</b></p><p><b> ●8 畫原點等</b></p><p><b> 元件列表</b></p><p> 用于挑選元件(components)終端接口(terminals)信號發(fā)生器(generators)仿
75、真圖表(graph)等。舉例,當你選擇“元件(components)”單擊“P”按鈕會打開挑選元件對話框,選擇了一個元件后該元件會在元件列表中顯示,以后要用到該元件時,只需在元件列表中選擇即可。</p><p><b> ?。?)方向工具欄 </b></p><p> 旋轉(zhuǎn):旋轉(zhuǎn)角度只能是 90 的整數(shù)倍。成水平翻轉(zhuǎn)和垂直翻轉(zhuǎn)。使用方法:先右鍵單擊元件,再點擊(左擊
76、)相應(yīng)的旋轉(zhuǎn)圖標。</p><p><b> (6)仿真工具欄</b></p><p><b> 仿真控制按鈕 </b></p><p><b> ●1 運行</b></p><p><b> ●2 單步運行</b></p><
77、;p><b> ●3 暫停</b></p><p><b> ●4 停止</b></p><p> 第六章 仿真調(diào)試與系統(tǒng)測試</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. 雙擊單片機出現(xiàn)下圖所示畫面圖6.2-1,在Program File一欄中選取仿真項目的源程序代碼,點擊OK。</p><p> 6.2-1 加載源程序圖</p><p> 2.點擊菜單中的“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 開始仿真</p><p> 單擊Play按鈕,進入仿真狀態(tài),出現(xiàn)下圖4.5所示:</p>
80、<p> 圖6.3-1 仿真結(jié)果一 </p><p> 圖6.3-2 仿真結(jié)果二</p><p><b> 結(jié)束語</b></p><p> 經(jīng)過幾周的努力,我終于完成了多點數(shù)字溫度計的設(shè)計。本次多點數(shù)字溫度計設(shè)計采用AT89C51單片機作為控制核心,使用閘刀開關(guān)設(shè)計控制電路,采用DS18B20溫度傳感器采集溫度,結(jié)合LCD顯
81、示屏和74HC00芯片實現(xiàn)溫度的數(shù)字顯示,達到設(shè)計要求和目的。</p><p> 通過這份畢業(yè)設(shè)計,我成長了很多,單片機畢業(yè)設(shè)計重點就在于軟件算法的設(shè)計,需要有很巧妙的程序算法。這提高了我編寫軟件程序的能力。同時,本次畢業(yè)設(shè)計也使我對單片機技術(shù)有了更進一步的了解。</p><p> 實踐和理論有很大的聯(lián)系,又高于理論。要把課本上所學(xué)的知識跟實際聯(lián)系起來,才能把理論變成實際。本次電路的設(shè)
82、計既鞏固了我從課本上所學(xué)的知識,也使我把理論與實際結(jié)合起來,增強了學(xué)習(xí)的興趣,考驗了我們借助圖書館、互聯(lián)網(wǎng)搜索、查閱相關(guān)資料的綜合能力。這也為我以后從事電子電路設(shè)計、研制電子產(chǎn)品方面的工作奠定了一定的基礎(chǔ)。</p><p><b> 參考文獻</b></p><p> [1] 李朝青. 單片機原理及接口技術(shù)(簡明修訂版). 杭州; 北京航空航天大學(xué)出版社,1998
83、</p><p> [2] 李廣弟. 單片機基礎(chǔ)[M]. 北京; 北京航空航天大學(xué)出版社,1994</p><p> [3] 閻石. 數(shù)字電子技術(shù)基礎(chǔ)(第三版). 北京; 高等教育出版社,1989</p><p> [4] 高衛(wèi)東,辛友順,韓彥征. 51單片機原理與實踐[M]. 北京; 北京航空航天大學(xué)出版社,2008</p><p>
84、<b> 致 謝</b></p><p> 在畢業(yè)設(shè)計即將完成之際,我特別感謝xxx老師的熱情關(guān)懷和悉心指導(dǎo)。在我畢業(yè)設(shè)計制作過程中,xxx老師傾注了大量的心血和汗水,無論是在課題的選題、構(gòu)思和資料的收集方面,還是在課題的研究方法以及成文定稿方面,我都得到了xxx老師悉心細致的教誨和無私的幫助,特別是他廣博的學(xué)識,令我擴展了程序應(yīng)用軟件方面的認識,在此表示真誠地感謝和深深的謝意。<
85、/p><p> 寫作過程中,也得到了許多同學(xué)的寶貴建議,在此一并致以誠摯的謝意。感謝所有關(guā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置位進位為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顯示程序,并起延時作用</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置位進位為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置位進位為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 ;延時</p><p> LJMP INI_3</p><p> INI_2: SETB FLAG ;標志位</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,$ ;時序要求延時一段時間</p><p> INI_5:
98、 SETB DQ ;DQ置位進位為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置位進位為1</p><p><
101、;b> NOP</b></p><p> DJNZ R6,Tloop</p><p> SETB DQ ;DQ置位進位為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置位進位為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置位進位為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置位進位為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ù)雜</p><p> SETB FLAG_NEG ;FLAG_NEG置位進位為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. 本站所有資源如無特殊說明,都需要本地電腦安裝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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)字溫度計畢業(yè)設(shè)計
- 畢業(yè)設(shè)計---數(shù)字溫度計
- 數(shù)字溫度計畢業(yè)設(shè)計
- 數(shù)字溫度計設(shè)計畢業(yè)設(shè)計
- 畢業(yè)設(shè)計--數(shù)字溫度計設(shè)計
- 數(shù)字溫度計畢業(yè)設(shè)計
- 數(shù)字溫度計設(shè)計畢業(yè)設(shè)計
- 數(shù)字溫度計畢業(yè)設(shè)計論文
- 數(shù)字溫度計的設(shè)計畢業(yè)設(shè)計
- 數(shù)字溫度計的設(shè)計畢業(yè)設(shè)計
- 畢業(yè)設(shè)計---數(shù)字溫度計作
- 畢業(yè)設(shè)計---數(shù)字溫度計的設(shè)計
- 數(shù)字溫度計控制 畢業(yè)設(shè)計
- 畢業(yè)設(shè)計開題報告(數(shù)字溫度計)
- 畢業(yè)設(shè)計---數(shù)字溫度計設(shè)計與實現(xiàn)
- 畢業(yè)設(shè)計(論文)數(shù)字溫度計的設(shè)計
- 數(shù)字溫度計畢業(yè)設(shè)計論文1
- 數(shù)字溫度計論文數(shù)字溫度計設(shè)計論文
- 畢業(yè)設(shè)計--- 數(shù)字溫度計的設(shè)計與制作
- 課程設(shè)計--多點溫度計設(shè)計
評論
0/150
提交評論