

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 單片機(jī)測油溫與轉(zhuǎn)速 硬件部分</p><p><b> 目 錄</b></p><p><b> 摘 要I</b></p><p> AbstractII</p><p><b> 第1章 緒論1</b></p><p
2、> 1.1 課題背景及意義1</p><p> 1.1.1 課題背景1</p><p> 1.1.2 課題意義2</p><p> 1.2 油泵試驗(yàn)臺系統(tǒng)的現(xiàn)狀和發(fā)展趨勢2</p><p> 1.3 設(shè)計(jì)平臺3</p><p> 1.3.1 硬件原理圖開發(fā)環(huán)境3</p>&l
3、t;p> 1.3.2 軟件輔助編程環(huán)境4</p><p> 1.3.3 調(diào)試程序相關(guān)工具4</p><p> 1.4 預(yù)期結(jié)果5</p><p> 1.5 設(shè)計(jì)認(rèn)知5</p><p> 第2章 設(shè)計(jì)方案與分析6</p><p> 2.1 溫度測量的方案與分析6</p><
4、;p> 2.1.1 熱敏電阻測溫方案6</p><p> 2.1.2 DS18B20芯片測溫方案8</p><p> 2.2 轉(zhuǎn)速測量方案與分析8</p><p> 2.2.1 霍爾傳感器測速方案8</p><p> 2.2.2 光耦合器測速方案9</p><p> 2.3 數(shù)碼顯示模塊方案
5、與分析9</p><p> 2.3.1 LCD顯示方案9</p><p> 2.3.2 LED數(shù)碼管顯示方案10</p><p> 第3章 系統(tǒng)硬件部分的設(shè)計(jì)11</p><p> 3.1 單片機(jī)的最小系統(tǒng)11</p><p> 3.1.1 STC89C51RC單片機(jī)簡介11</p>
6、<p> 3.1.2 時(shí)鐘電路13</p><p> 3.1.3 復(fù)位電路14</p><p> 3.2 溫度模塊15</p><p> 3.2.1 DS18B20芯片簡介15</p><p> 3.3.2 DS18B20的內(nèi)部結(jié)構(gòu)15</p><p> 3.3.3 DS18B20的工
7、作時(shí)序16</p><p> 3.3.4 DS18B20與單片機(jī)的典型接口設(shè)計(jì)17</p><p> 3.3 轉(zhuǎn)速測量模塊18</p><p> 3.3.1 光耦合器原理18</p><p> 3.3.2 光耦合器性能指標(biāo)19</p><p> 3.3.3 電路接線圖和部分原件參數(shù)計(jì)算方式21&l
8、t;/p><p> 3.4 數(shù)碼顯示模塊21</p><p> 3.5 下載(串行通信)模塊23</p><p> 第4章 系統(tǒng)軟件部分的設(shè)計(jì)24</p><p> 4.1 軟件流程圖24</p><p> 4.2 主要程序24</p><p> 4.2.1 主程序模塊24&
9、lt;/p><p> 4.2.2 測溫模塊25</p><p> 4.2.3 顯示模塊25</p><p> 4.2.4 主程序源代碼26</p><p> 第5章 硬件實(shí)現(xiàn)29</p><p><b> 參考文獻(xiàn)31</b></p><p><b&g
10、t; 致 謝33</b></p><p><b> 附錄34</b></p><p> 附錄一:外文原文34</p><p> 附錄二:外文翻譯46</p><p> 附錄三:任務(wù)書55</p><p> 附錄四:開題報(bào)告57</p><p
11、><b> 摘 要</b></p><p> 本次設(shè)計(jì)所要達(dá)到的目的是通過單片機(jī)應(yīng)用系統(tǒng)的數(shù)據(jù)采集、數(shù)據(jù)處理、數(shù)據(jù)顯示等技術(shù),實(shí)現(xiàn)單片機(jī)單片機(jī)對油溫的測量和油泵主軸轉(zhuǎn)速的測量。具有重要的現(xiàn)實(shí)意義。</p><p> 利用STC89C51RC單片機(jī)內(nèi)部T0、T1定時(shí)器/計(jì)數(shù)器產(chǎn)生中斷,接收光耦合器產(chǎn)生的信號脈沖,從而測出油泵主軸轉(zhuǎn)速。測量油溫采用比較新型的
12、DS18B20芯片測溫技術(shù)。并用LED數(shù)碼管實(shí)時(shí)顯示轉(zhuǎn)速和溫度。</p><p> 本次設(shè)計(jì)主要工作是進(jìn)行:1、總體設(shè)計(jì),確定技術(shù)指標(biāo)和軟硬件分工;2、硬件設(shè)計(jì),確定電路功能框圖和原理圖;3、軟件設(shè)計(jì),在總體分工和硬件設(shè)計(jì)的基礎(chǔ)上,確定程序功能、編寫功能模塊子程序。</p><p> 關(guān)鍵字: 單片機(jī),油溫,轉(zhuǎn)速,DS18B20,光耦合器</p><p><
13、;b> Abstract</b></p><p> The objective of the project was to realize the measurement of oil temperature and pump spindle speed based on microcontroller with data acquisition, processing and displa
14、y. </p><p> Pump spindle speed was measured out by signal impulse from optical coupler r after irrupt occurred by T0、T1Timer/counter inside STC89C51RC microcontroller. And DS18B20 chip was used for oil temp
15、erature measurement. Speed and temperature were displayed by LED digital tube.</p><p> The design was carried out from the following aspects: overall design that determine the technical specifications, hard
16、ware and software division; hardware design which finished the circuit functional block diagram and schematic; and software design that completed the program function and subroutine of functional module, based on the ove
17、rall division and hardware design.</p><p> Key words: microcontroller; oil temperature; spindle speed; DS18B20; Optical coupler;</p><p><b> 第1章 緒論</b></p><p> 1.1 課題背
18、景及意義</p><p> 1.1.1 課題背景</p><p> 1993年,中國失去了它一直引以為豪的能源自給地位。僅1993年到1998年,自政局不穩(wěn)的中東地區(qū)進(jìn)口的石油在中國全部石油消費(fèi)中的比重就從16% 飆升至61%。2002年,中國超越日本成為世界第二大能源進(jìn)口國。自那以后,中國的石油凈進(jìn)口量一直以每年15%的驚人速度增長,到2010年已經(jīng)升至2.54億。根據(jù)中國國家能源局
19、的數(shù)據(jù),中國對進(jìn)口石油的依賴度2011年已經(jīng)達(dá)到創(chuàng)紀(jì)錄的56.5%。</p><p> 隨著我國汽車工業(yè)的迅猛發(fā)展,能源短缺問題變得越來越嚴(yán)重,2003年我國石油年進(jìn)口量超過日本,成為全球第二大進(jìn)口國,2004年,我國進(jìn)口原油1.17億噸,而且近年都在增加,因而車用發(fā)動(dòng)機(jī)的節(jié)能降耗問題顯得越來越重要。柴油機(jī)與汽油機(jī)相比具有較好的經(jīng)濟(jì)性與動(dòng)力性,因而柴油機(jī)得到越來越廣泛的應(yīng)用,以前采用汽油機(jī)的轎車也開始向柴油機(jī)過
20、渡。隨著人們對環(huán)保意識的提高,對汽車尾氣的排放要求也在逐漸提高,國產(chǎn)汽車的排放目前要求達(dá)到歐n標(biāo)準(zhǔn)。</p><p> 影響柴油機(jī)性能的主要因素之一是噴油系統(tǒng),噴油泵是柴油機(jī)的心臟,噴油泵的各種技術(shù)參數(shù)對柴油機(jī)的各項(xiàng)性能指標(biāo):柴油機(jī)加速性能、油耗大小、尾氣排放量、工作噪音的大小、動(dòng)力性能等影響極大。按照國家標(biāo)準(zhǔn)規(guī)定,噴油泵油缸的溫度必須控制在38~42℃之間,此時(shí)對一定噴油次數(shù)下噴油量的檢測和油缸內(nèi)油壓測量才是
21、準(zhǔn)確的。而主軸的平穩(wěn)轉(zhuǎn)速和流量控制以及發(fā)動(dòng)機(jī)運(yùn)轉(zhuǎn)情況密切相關(guān)。</p><p> 所以,油溫和主軸轉(zhuǎn)速測量準(zhǔn)確與否直接決定著柴油機(jī)的動(dòng)力性、經(jīng)濟(jì)性及排放。準(zhǔn)確測試噴油泵各項(xiàng)技術(shù)參數(shù)對提高柴油機(jī)的經(jīng)濟(jì)性、動(dòng)力性、可靠性、耐久性和降低排污、噪聲、煙度等有十分重要的意義。</p><p> 1.1.2 課題意義</p><p> 早期的測量儀器基本都是用COMS、T
22、TL等集成電路搭接而成,這種儀器使用電子元件很多,成本較高,其測量精度卻不高。而本設(shè)計(jì)是用單片機(jī)測量轉(zhuǎn)速(噴油次數(shù))和油溫,則非常精確和方便,可以大大的提高油泵對石油的利用率,并且單片機(jī)與微機(jī)通信易于實(shí)現(xiàn),更是加大了對結(jié)果的可視性和可操控性。</p><p> 在本設(shè)計(jì)中,利用單片機(jī)內(nèi)部T0、T1定時(shí)器/計(jì)數(shù)器產(chǎn)生中斷,對接收到的信號脈沖進(jìn)行檢測,從而測出油泵主軸轉(zhuǎn)速。且在增加的油溫測量系統(tǒng)中采用比較新型的DS
23、18B20芯片一線測溫技術(shù),精確到小數(shù)點(diǎn)后一位,并用LED數(shù)碼管直觀顯示。另外,利用單片機(jī)串口通信技術(shù)實(shí)現(xiàn)單片機(jī)與微機(jī)的通信,可以便于對操作過程進(jìn)行實(shí)時(shí)監(jiān)控。</p><p> 因而,本次設(shè)計(jì)是有必要性和現(xiàn)實(shí)意義的。</p><p> 1.2 油泵試驗(yàn)臺系統(tǒng)的現(xiàn)狀和發(fā)展趨勢</p><p> 由于本論文的整體構(gòu)思是以噴油泵試驗(yàn)臺為基礎(chǔ)的,本小節(jié)對噴油泵試驗(yàn)臺做
24、一下簡單介紹。</p><p> 噴油泵試驗(yàn)臺是各汽車、柴油機(jī)制造和修理廠研制、生產(chǎn)、檢驗(yàn)、調(diào)整噴油泵不可缺少的設(shè)備。噴油泵試驗(yàn)臺的主要用途是檢測和調(diào)整噴油泵在各種工況時(shí)的噴油量及各缸噴油間隔角。衡量噴油泵試驗(yàn)臺性能和質(zhì)量的一個(gè)重要指標(biāo)就是噴油量測量的精確性,它還需要對主軸轉(zhuǎn)速、噴油次數(shù)進(jìn)行精確測量。</p><p> 國內(nèi)噴油泵試驗(yàn)臺按動(dòng)力調(diào)速分為:</p><p
25、> J系列:機(jī)械式傳動(dòng)變速噴油泵試驗(yàn)臺,如12PSJ55/75型。</p><p> Y系列:液壓無級變速傳動(dòng)噴油泵試驗(yàn)臺,如12PSY55/75型。</p><p> D系列:電子控制無級變速噴油泵試驗(yàn)臺,如12PSD55/75型。</p><p> W系列:變頻無級調(diào)速噴油泵試驗(yàn)臺,如12PSW55/75型。</p><p>
26、; J系列正在被淘汰,僅有很少的廠家生產(chǎn),Y系列生產(chǎn)的數(shù)量比D系列和W系列少得多,目前頗具競爭力的主要是D系列和W系列。據(jù)統(tǒng)計(jì),國內(nèi)各廠家目前普遍生產(chǎn)的試驗(yàn)臺,主要是滑差式離合器的傳動(dòng)變速和交流變頻器調(diào)速兩種類型的產(chǎn)品。W系列由于其關(guān)鍵部件變頻器均為進(jìn)口,且技術(shù)含量高,故價(jià)格偏高。</p><p> 噴油泵測試時(shí)所需的條件參數(shù)均可由儀表測量數(shù)字顯示。噴油泵調(diào)試參數(shù)主要是各缸油量,目前測試還是以玻璃筒計(jì)量為主,
27、但這種測量方式的最大缺點(diǎn)是測量過程緩慢。國外現(xiàn)在能利用計(jì)算機(jī)測控技術(shù)及傳感器對油泵的噴油量進(jìn)行快速、連續(xù)的測量,這正是國產(chǎn)噴油泵試驗(yàn)臺與國外先進(jìn)產(chǎn)品之間真正差距所在。國內(nèi)噴油泵實(shí)驗(yàn)臺系統(tǒng)的發(fā)展要求試驗(yàn)臺的自動(dòng)化程度要高,如噴油量快速數(shù)字化測量等。今后噴油泵試驗(yàn)臺的技術(shù)發(fā)展應(yīng)主要集中在充分利用計(jì)算機(jī)測控技術(shù),使油泵調(diào)試中的各項(xiàng)條件和技術(shù)參數(shù)的測量完全以數(shù)字化方式自動(dòng)測量,以適應(yīng)噴油泵產(chǎn)品技術(shù)不斷提高的需要。</p><
28、p> 國外在噴油泵試驗(yàn)臺自動(dòng)測試技術(shù)方面的研究走在前列,德國Moehwald公司研制成功的EP32000型、RPB2000型油泵試驗(yàn)臺采用KMM測量系統(tǒng)可以連續(xù)地測量各缸噴油量,既能用屏幕顯示噴油量,又能打出每行程或多次的噴油量,還能利用計(jì)算機(jī)半自動(dòng)地檢測噴油泵。美國的Bacharach公司研制的PDFM808型燃油噴射測量系統(tǒng)采用CRT顯示噴油量、轉(zhuǎn)速及測量誤差。它可以測量單缸以及多至8缸的噴油量,還可以測定某一個(gè)缸的每行程噴
29、油量;可以按順序自動(dòng)地顯示各缸的總噴油量,平均噴油量,單缸噴油量,也可連續(xù)不斷地測量。國外噴油泵試驗(yàn)臺的發(fā)展趨勢是采用先進(jìn)的電子技術(shù)研制微機(jī)測量及數(shù)字顯示系統(tǒng),按國際標(biāo)準(zhǔn)改進(jìn)結(jié)構(gòu)提高測試精度,主要特點(diǎn)是數(shù)字顯示壓力、溫度、轉(zhuǎn)速與計(jì)數(shù),過去噴油泵試驗(yàn)臺采用的機(jī)械式轉(zhuǎn)速表、彈簧壓力表和壓力式指示溫度計(jì),很難達(dá)到國際標(biāo)準(zhǔn)。</p><p><b> 1.3 設(shè)計(jì)平臺</b></p>
30、<p> 1.3.1 硬件原理圖開發(fā)環(huán)境</p><p> Proteus是基于windows9x/windowsNT/windows2000的純32位電路設(shè)計(jì)制板系統(tǒng)。它運(yùn)行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路。</p><p><b> 該軟件的特點(diǎn)是:</b></p><p>
31、?。?)實(shí)現(xiàn)了單片機(jī)仿真和SPICE電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機(jī)及其外圍電路組成的系統(tǒng)的仿真、RS232動(dòng)態(tài)仿真、I2C調(diào)試器、SPI調(diào)試器、鍵盤和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。</p><p> ?。?)支持主流單片機(jī)系統(tǒng)的仿真。目前支持的單片機(jī)類型有:68000系列、AT89C51系列、AVR系列、PIC12系列、PIC16系列、PIC18
32、系列、Z80系列、HC11系列以及各種外圍芯片。</p><p> (3)提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點(diǎn)等調(diào)試功能,同時(shí)可以觀察各個(gè)變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時(shí)支持第三方的軟件編譯和調(diào)試環(huán)境,如Keil C51 uVision3等軟件。</p><p> ?。?)具有強(qiáng)大的原理圖繪制功能。</p>&
33、lt;p> 總之,該軟件是一款集單片機(jī)和SPICE分析于一身的仿真軟件,功能極其強(qiáng)大。</p><p> 1.3.2 軟件輔助編程環(huán)境</p><p> 本次設(shè)計(jì)的程序是用C語言編寫的。簡單來說,C語言對匯編語言進(jìn)行了抽象,具有如下優(yōu)點(diǎn):</p><p> (1) 更符合人類思維習(xí)慣,開發(fā)效率高、時(shí)間短。</p><p> ?。?/p>
34、2) 容易實(shí)現(xiàn)模塊化開發(fā)。</p><p> ?。?) 程序可移植性好。</p><p> (4) 提供數(shù)學(xué)函數(shù)并支持浮點(diǎn)運(yùn)算,從而實(shí)現(xiàn)復(fù)雜的運(yùn)算。</p><p> (5) 程序可讀性強(qiáng),便于閱讀和交流。</p><p> ?。?) 容易調(diào)試和維護(hù)程序。</p><p> 1.3.3 調(diào)試程序相關(guān)工具</
35、p><p> KeilC51 uVision3是美國Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng)。它是眾多單片機(jī)應(yīng)用開發(fā)的優(yōu)秀軟件之一,它集編輯、編譯、仿真于一體,支持匯編、PLM語言和C語言的程序設(shè)計(jì),界面友好,易學(xué)易用。與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。</p><p> Keil C51軟件提供豐富的庫函數(shù)和
36、功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。Keil C51單片機(jī)軟件開發(fā)系統(tǒng)的整體結(jié)構(gòu):C51工具包的整體結(jié)構(gòu)中uVision與Ishell分別是C51 for Windows和for Dos的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個(gè)開發(fā)流程。開發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及A51編譯器編譯生成目標(biāo)文件(.OBJ)。目標(biāo)文件可由LIB51創(chuàng)建生成庫文件,也可以與庫
37、文件一起經(jīng)L51連接定位生成絕對目標(biāo)文件(.ABS)。ABS文件由OH51轉(zhuǎn)換成標(biāo)準(zhǔn)的Hex文件,以供調(diào)試器dScope51或tScope51使用進(jìn)行源代碼級調(diào)試,也可由仿真器使用直接對目標(biāo)板進(jìn)行調(diào)試,也可以直接寫入程序存貯器如EPROM中。</p><p><b> 1.4 預(yù)期結(jié)果</b></p><p> 實(shí)現(xiàn)對油溫和油泵主軸轉(zhuǎn)速的測量。當(dāng)油溫發(fā)生變化時(shí),測
38、溫芯片將實(shí)時(shí)溫度信號傳遞到單片機(jī),處理后,顯示到LED數(shù)碼管上。當(dāng)轉(zhuǎn)速發(fā)生變化時(shí),測速傳感器將實(shí)時(shí)轉(zhuǎn)速信號傳遞到單片機(jī),處理后,顯示到LED數(shù)碼管上。本設(shè)計(jì)具有復(fù)位功能。當(dāng)突然斷電時(shí),由于單片機(jī)內(nèi)部已經(jīng)儲存運(yùn)行的程序,可能造成運(yùn)行錯(cuò)誤、顯示混亂等問題,此時(shí)復(fù)位即可使電路正常運(yùn)行。</p><p><b> 1.5 設(shè)計(jì)認(rèn)知</b></p><p> 在這次設(shè)計(jì)過程
39、中,我們綜合運(yùn)用了所學(xué)的單片機(jī)、C語言、數(shù)字電子技術(shù)等專業(yè)知識進(jìn)行分析、解決實(shí)際問題。也掌握了文獻(xiàn)檢索、資料查詢的基本方法以及獲取新知識的能力?;揪邆淞擞糜?jì)算機(jī)軟件、硬件應(yīng)用系統(tǒng)設(shè)計(jì)和開發(fā)的能力。書面表達(dá)、口語表達(dá)、協(xié)作配合進(jìn)行工作的能力都得到了很大的提高。</p><p> 第2章 設(shè)計(jì)方案與分析</p><p> 單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)研制過程主要包括:總體設(shè)計(jì)、硬件設(shè)計(jì)、軟件設(shè)計(jì)
40、、仿真調(diào)試等幾個(gè)階段。</p><p> 包括單片機(jī)控制模塊、溫度測量模塊、轉(zhuǎn)速測量模塊、數(shù)碼顯示模塊、以及下載(串口通信)模塊等幾大部分??傮w框架如圖2-1所示。硬件設(shè)計(jì)詳見第3章,軟件設(shè)計(jì)詳見第4章,硬件實(shí)物和實(shí)際結(jié)果詳見第5章。</p><p> 注意,因?yàn)镻roteus仿真中無法直接模擬轉(zhuǎn)速模塊,雖然可用脈沖激勵(lì)源來代替,但對實(shí)際設(shè)計(jì)沒有指導(dǎo)作用。故本文不給出仿真。</p
41、><p> 圖2-1 系統(tǒng)總體框圖</p><p> 2.1 溫度測量的方案與分析</p><p> 2.1.1 熱敏電阻測溫方案</p><p> 電路如圖2-2所示。RK為100k的精密電阻;RT為100K-精度為1%的熱敏電阻;R1為100Ω的普通電阻;C1為0.1μ的瓷介電容。</p><p> 圖2-2
42、 熱敏電阻測溫電路圖</p><p><b> 其工作原理為:</b></p><p> (1)先將P1.0、P1.1、P1.2都設(shè)為低電平輸出,使C1放電至放完。</p><p> ?。?)將P1.1、P1.2設(shè)置為輸入狀態(tài),P1.0設(shè)為高電平輸出,通過RK電阻對C1充電,單片機(jī)內(nèi)部計(jì)時(shí)器清零并開始計(jì)時(shí),檢測P1.2口狀態(tài),當(dāng)P1.2口檢
43、測為高電平時(shí),即C1上的電壓達(dá)到單片機(jī)高電平輸入的門嵌電壓時(shí),單片機(jī)計(jì)時(shí)器記錄下從開始充電到P1.2口轉(zhuǎn)變?yōu)楦唠娖降臅r(shí)間T1。</p><p> (3)將P1.0、P1.1、P1.2都設(shè)為低電平輸出,使C1放電至放完。</p><p> ?。?)再將P1.0、P1.2設(shè)置為輸入狀態(tài),P1.1設(shè)為高電平輸出,通過RT電阻對C1充電,單片機(jī)內(nèi)部計(jì)時(shí)器清零并開始計(jì)時(shí),檢測P1.2口狀態(tài),當(dāng)P1
44、.2口檢測為高電平時(shí),單片機(jī)計(jì)時(shí)器記錄下從開始充電到P1.2口轉(zhuǎn)變?yōu)楦唠娖降臅r(shí)間T2。</p><p> ?。?)從電容的電壓公式:</p><p><b> (2-1)</b></p><p> 可以得到:T1/RK=T2/RT,即 RT=T2×RK/T1。</p><p> 通過單片機(jī)計(jì)算得到熱敏電阻
45、RT的阻值,通過查表法可以得到溫度值。該測溫電路的誤差來源于:單片機(jī)的定時(shí)器精度,RK電阻的精度,熱敏電阻RT的精度,而與單片機(jī)的輸出電壓值、門嵌電壓值、電容精度無關(guān)。</p><p> 此方案需耗費(fèi)較多單片機(jī)I/O口,且選材較麻煩,精度難以控制。故本設(shè)計(jì)不采用此方案。</p><p> 2.1.2 DS18B20芯片測溫方案</p><p> DS18B20
46、是DALLAS公司的最新單線數(shù)字溫度傳感器。它體積小、適用電壓寬、價(jià)格低。DS18B20是世界上第一片支持“一線總線”接口的溫度傳感器。測溫范圍為-55~+125℃,在-10~+85℃范圍內(nèi),精度為±0.5℃。</p><p> DS18B20采用接電源方式工作,一線測溫,測出的數(shù)據(jù)存放在寄存器,將數(shù)據(jù)經(jīng)過BCD碼轉(zhuǎn)換后送LED顯示。</p><p> 測溫流程如圖2-3所示
47、。</p><p> 圖2-3 測溫流程圖</p><p> 2.2 轉(zhuǎn)速測量方案與分析</p><p> 測量轉(zhuǎn)速首先要將電機(jī)的轉(zhuǎn)速表示為單片機(jī)可以識別的脈沖信號,從而進(jìn)行脈沖計(jì)數(shù)。主要有M法(測頻法)、T法(測周期法)和MPT法(頻率周期法)。</p><p> 2.2.1 霍爾傳感器測速方案</p><p&g
48、t; 霍爾器件是由半導(dǎo)體材料制成的一種薄片,在垂直于平面方向上施加外磁場B,在沿平面方向兩端加外電場,則使電子在磁場中運(yùn)動(dòng),結(jié)果在器件的兩個(gè)側(cè)面之間產(chǎn)生霍爾電勢。</p><p> 根據(jù)霍爾效應(yīng)原理,將一塊永久磁鋼固定在電機(jī)轉(zhuǎn)軸上的轉(zhuǎn)盤邊沿,霍爾元件受磁鋼所產(chǎn)生的磁場影響,輸出脈沖信號,其頻率和轉(zhuǎn)速成正比。脈沖信號的周期與電機(jī)的轉(zhuǎn)速有以下關(guān)系:</p><p><b> ?。?/p>
49、2-2)</b></p><p> 式中,n為電機(jī)轉(zhuǎn)速;P為電機(jī)轉(zhuǎn)一圈的脈沖數(shù);T為輸出方波信號周期。</p><p> 該方案基本的測量原理如圖2-4所示。</p><p> 圖2-4 霍爾傳感器測速原理</p><p> 2.2.2 光耦合器測速方案</p><p> 光電耦合器(簡稱光耦)是
50、以光為媒介把輸入端信號耦合到輸出端,來傳輸電信號的器件,發(fā)光器(紅外線發(fā)光二極管LED)與受光器(光敏半導(dǎo)體管)封裝在同一管殼內(nèi),將它們的光路耦合在一起,當(dāng)輸入端加電信號時(shí)發(fā)光器發(fā)出光線,受光器接受光線之后就產(chǎn)生光電流,從輸出端流出,從而實(shí)現(xiàn)了“電—光—電”轉(zhuǎn)換。</p><p> 由于它具有體積小、壽命長、無觸點(diǎn),抗干擾能力強(qiáng),輸出和輸入之間絕緣,單向傳輸信號,傳輸信號的頻率高等優(yōu)點(diǎn),在電路上獲得了廣泛的應(yīng)用
51、。本設(shè)計(jì)采用此方案測速。</p><p> 2.3 數(shù)碼顯示模塊方案與分析</p><p> 2.3.1 LCD顯示方案</p><p> LCD是Liquid Crystal Display的簡稱。它本身并不發(fā)光,是利用液晶經(jīng)過處理后能改變光線通過方向的特性,從而達(dá)到白底黑字或黑底白字顯示的目的。</p><p> 由于LCD的面板
52、較為脆弱,制造商已將LCD控制器、驅(qū)動(dòng)器、RAM、ROM和LCD顯示器用PCB連接到一起,稱為液晶顯示模塊。</p><p> LCD從顯示內(nèi)容上分可以分為字符型(如1602)和點(diǎn)陣型(如12864)。從功能上可以分為帶字庫和不帶字庫兩種類型。</p><p> 字符型需要通過向指定顯示位置對應(yīng)的DDRAM中寫數(shù)據(jù)來顯示字符。而在點(diǎn)陣型LCD上顯示一幅圖片或是字符,需將黑色的部分點(diǎn)亮,
53、空白的點(diǎn)置0。</p><p> 無論是字符型還是點(diǎn)陣型LCD,其基本原理都是通過將數(shù)據(jù)寫入所對應(yīng)的DDRAM地址中來顯示所需要的圖形或是字符。雖然LCD接線方便,顯示美觀,但LCD價(jià)格昂貴,程序復(fù)雜度高。</p><p> 2.3.2 LED數(shù)碼管顯示方案</p><p> 2.3.2.1 動(dòng)態(tài)顯示方案</p><p> 顯示時(shí)采用
54、循環(huán)移位法,即八位數(shù)碼管依次循環(huán)點(diǎn)亮,利用人眼睛的視覺暫留效果達(dá)到連續(xù)顯示,主程序每運(yùn)行一遍便調(diào)用一次顯示子程序,將數(shù)據(jù)顯示出來。</p><p> 該方法的優(yōu)點(diǎn)是編程簡單,顯示實(shí)時(shí)性比較強(qiáng)。需要注意的是,由于LED點(diǎn)亮需要一定時(shí)間,如果程序中延時(shí)太短,則亮度非常低,難以辨認(rèn)。因?yàn)槿说囊曈X停留時(shí)間時(shí)值為1/24S,最小辨認(rèn)時(shí)間大約是0.1S。如果程序延時(shí)太長,則會(huì)造成顯示閃爍,難以辨認(rèn)。</p>
55、<p> 2.3.2.2 靜態(tài)顯示方案</p><p> 8051的資源有限, I/O接口只有四個(gè),P0,P1,P2,P3,而且 I/0口驅(qū)動(dòng)外部設(shè)備能力有限。靜態(tài)顯示,一個(gè)LED數(shù)碼管就占用一個(gè)I/O接口,本設(shè)計(jì)中需要8位數(shù)碼管, I/O口不夠用,需要擴(kuò)展I/O接口。最常用的是使用一些I/O口芯片,或者將串口作為I/O口,使用一些串行輸入并行輸出的芯片,比如74LS164、74HC595等。<
56、;/p><p> 如果用靜態(tài)顯示,則LED數(shù)碼管非常亮,效果清晰。但是編程較為復(fù)雜,而且需要增加其他芯片,增加成本,接線也更復(fù)雜一些。本設(shè)計(jì)選擇動(dòng)態(tài)顯示方案足以滿足顯示需求。</p><p> 第3章 系統(tǒng)硬件部分的設(shè)計(jì)</p><p> 3.1 單片機(jī)的最小系統(tǒng)</p><p> 單片機(jī)的最小系統(tǒng)(老三件)CPU、8位3態(tài)D鎖存器74L
57、S373、ROM或者RAM,加上時(shí)鐘電路和復(fù)位電路。但現(xiàn)在單片機(jī)集成度高,只需加上時(shí)鐘電路和復(fù)位電路就構(gòu)成最小系統(tǒng)。</p><p> 單片機(jī)的最小系統(tǒng)功能框圖如下圖:</p><p> 圖3-1 單片機(jī)的最小系統(tǒng)功能框圖</p><p> 3.1.1 STC89C51RC單片機(jī)簡介</p><p> STC89C51RC是宏晶科技推
58、出的新一代超強(qiáng)抗干擾、高速、低功耗的單片機(jī),指令代碼完全兼容傳統(tǒng)8051單片機(jī)。片內(nèi)含有至少4K Bytes的可以反復(fù)擦寫的Flash只讀程序存儲器和512 Bytes的隨機(jī)存儲器(RAM),以及通用異步串行口(UART)、SPI、A/D、PWM等模塊。器件采用ATMEL公司的高密度、非易失性存儲技術(shù),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),內(nèi)置功能強(qiáng)大的微型計(jì)算機(jī)的STC89C51RC提供了高性價(jià)比的解決方案。</p><p
59、> 3.1.1.1 STC89C51RC單片機(jī)的主要結(jié)構(gòu)特征</p><p> 表3-1 STC89C51RC單片機(jī)的主要結(jié)構(gòu)特征</p><p> 3.1.1.2 STC89C51RC單片機(jī)的引腳功能</p><p> 圖3-2 STC89C51RC單片機(jī)管腳圖</p><p><b> 引腳說明:</b&g
60、t;</p><p><b> ?。?)電源引腳</b></p><p> Vcc(40腳):典型值+5V。</p><p> Vss(20腳):接低電平。</p><p> ?。?)外部晶振:X1、X2分別與晶體兩端相連接。當(dāng)采用外部時(shí)鐘信號時(shí),X2接振蕩信號,X1接地。</p><p>
61、?。?)輸入輸出口引腳</p><p> P0口:I/O雙向口。作輸入口時(shí),應(yīng)先軟件置“1”。</p><p> P1口:I/O雙向口。作輸入口時(shí),應(yīng)先軟件置“1”。</p><p> P2口:I/O雙向口。作輸入口時(shí),應(yīng)先軟件置“1”。</p><p> P3口:I/O雙向口。作輸入口時(shí),應(yīng)先軟件置“1”。</p>&
62、lt;p><b> ?。?)控制引腳:</b></p><p> RST/Vpd、ALE/-PROG、-PSEN、-EA/Vpp組成了MSC-51的控制總線。</p><p> RST/Vpd(9腳):復(fù)位信號輸入端(高電平有效)。其第二功能是,加+5V備用電源,可以實(shí)現(xiàn)掉電保護(hù)RAM信息不丟失。</p><p> ALE/-PRO
63、G(30腳):地址鎖存信號輸出端。其第二功能是編程脈沖輸入。</p><p> -PSEN(29腳):外部程序存儲器讀選通信號。-EA/Vpp(31腳):外部程序存儲器使能端。第二功能是,編程電壓輸入端(+21V)。</p><p> 3.1.2 時(shí)鐘電路</p><p> 系統(tǒng)的時(shí)鐘電路設(shè)計(jì)是采用的內(nèi)部方式,即利用芯片內(nèi)部的振蕩電路。單片機(jī)內(nèi)部有一個(gè)用于構(gòu)成
64、振蕩器的高增益反相放大器。引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端。這個(gè)放大器與作為反饋元件的片外晶體諧振器一起構(gòu)成一個(gè)自激振蕩器。外接晶體諧振器以及兩個(gè)電容構(gòu)成并聯(lián)諧振電路,接在放大器的反饋回路中。對外接電容的值雖然沒有嚴(yán)格的要求,但電容的大小會(huì)影響震蕩器頻率的高低、震蕩器的穩(wěn)定性、起振的快速性和溫度的穩(wěn)定性。</p><p> 因此,本設(shè)計(jì)的電路選取晶體振蕩器的值為11.0592MHz。電容
65、應(yīng)盡可能的選擇陶瓷電容,電容值約為30 pF。在引腳XTAL1和XTAL2跨接晶振Y1和兩個(gè)微調(diào)電容就構(gòu)成了內(nèi)部震蕩方式,由于單片機(jī)內(nèi)部有一個(gè)高增益反相放大器,當(dāng)外接晶振后,就構(gòu)成自激振蕩器并產(chǎn)生震蕩時(shí)鐘脈沖。</p><p> 時(shí)鐘電路如圖3-4所示:</p><p><b> 圖3-4 時(shí)鐘電路</b></p><p> 3.1.3
66、復(fù)位電路</p><p> 復(fù)位電路的基本功能是:系統(tǒng)上電時(shí)提供復(fù)位信號,直至電源穩(wěn)定后,撤銷復(fù)位信號。為可靠起見,電源穩(wěn)定后還要經(jīng)一定的延時(shí)(共大于兩個(gè)機(jī)器周期)才撤銷復(fù)位信號,以防電源開關(guān)或電源插頭分——合過程中引起抖動(dòng)而影響復(fù)位。</p><p> 復(fù)位后P0-P3口均表現(xiàn)為高電平,程序計(jì)數(shù)器和特殊功能寄存器SFR全部清零。當(dāng)復(fù)位腳由高電平變?yōu)榈仉娖綍r(shí),芯片為ROM的00H處開始
67、運(yùn)行程序。</p><p> 本最小系統(tǒng)采用上電自動(dòng)復(fù)位和按鍵手動(dòng)復(fù)位方式。上電自動(dòng)復(fù)位由電容充電來實(shí)現(xiàn),按鍵手動(dòng)復(fù)位通過復(fù)位端經(jīng)電阻和VCC接通而實(shí)現(xiàn)。</p><p> 復(fù)位是由外部的復(fù)位電路來實(shí)現(xiàn)的。片內(nèi)復(fù)位電路是復(fù)位引腳RST通過一個(gè)斯密特觸發(fā)器與復(fù)位電路相連,斯密特觸發(fā)器用來抑制噪聲,它的輸出在每個(gè)機(jī)器周期的S5P2,由復(fù)位電路采樣一次。復(fù)位電路通常采用上電自動(dòng)復(fù)位和按鈕復(fù)位
68、兩種方式,此電路系統(tǒng)采用的是上電與按鈕復(fù)位電路,如圖3-5所示。當(dāng)時(shí)鐘頻率選用11.0592MHz時(shí),電容為10uF,Rk約為1K。</p><p> 復(fù)位電路如圖3-5所示。</p><p><b> 圖3-5 復(fù)位電路</b></p><p><b> 3.2 溫度模塊</b></p><p&
69、gt; 3.2.1 DS18B20芯片簡介</p><p> DS18B20是DALLAS公司生產(chǎn)的一線式數(shù)字溫度傳感器,具有3引腳TO-92小體積封裝形式;溫度測量范圍為-55℃~+125℃,可編程為9位~12位A/D轉(zhuǎn)換精度,測溫分辨率可達(dá)0.0625℃,被測溫度用符號擴(kuò)展的16位數(shù)字量方式串行輸出。 </p><p> 3.3.2 DS18B20的內(nèi)部結(jié)構(gòu)</p>
70、<p> DS18B20內(nèi)部結(jié)構(gòu)如圖3-6所示,主要由4部分組成:64位ROM、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL、配置寄存器。DS18B20的管腳排列如圖3-7所示,DQ為數(shù)字信號輸入/輸出端;GND為接地端;VDD為外接供電電源輸入端(在寄生電源接線方式時(shí)接地)。</p><p> 圖3-6 DS18B20的內(nèi)部結(jié)構(gòu)</p><p> DS18B20中的溫度
71、傳感器完成對溫度的測量,用16位符號擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供,以0.0625℃/LSB形式表達(dá),其中S為符號位。例如+125℃的數(shù)字輸出為07D0H,+25.0625℃的數(shù)字輸出為0191H,-25.0625℃的數(shù)字輸出為FF6FH,-55℃的數(shù)字輸出為FC90H。 </p><p> 高速暫存器是一個(gè)9字節(jié)的存儲器。開始兩個(gè)字節(jié)包含被測溫度的數(shù)字量信息;第3、4、5字節(jié)分別是TH、TL、配置寄存器的臨時(shí)拷
72、貝,每一次上電復(fù)位時(shí)被刷新;第6、7、8字節(jié)未用,表現(xiàn)為全邏輯1;第9字節(jié)讀出的是前面所有8個(gè)字節(jié)的CRC碼,可用來保證通信正確。</p><p> 圖3-7 DS18B20的管腳排列</p><p> 3.3.3 DS18B20的工作時(shí)序</p><p> DS18B20的一線工作協(xié)議流程是:</p><p> 初始化→ROM操作指
73、令→存儲器操作指令→數(shù)據(jù)傳輸。</p><p> 其工作時(shí)序包括初始化時(shí)序、寫時(shí)序和讀時(shí)序,如圖3-8 (a)(b)(c)所示。</p><p><b> ?。╝)初始化時(shí)序</b></p><p><b> ?。╞)寫時(shí)序</b></p><p><b> ?。╟)讀時(shí)序</b&
74、gt;</p><p> 圖3-8 DS18B20的工作時(shí)序圖</p><p> 3.3.4 DS18B20與單片機(jī)的典型接口設(shè)計(jì)</p><p> 圖3-9是DS18B20與微處理器的典型連接。圖3-9(a)中DS18B20采用寄生電源方式,其VDD和GND端均接地。圖3-9(b)中DS18B20采用外接電源方式,其VDD端用3V~5.5V電源供電。<
75、/p><p> ?。╝)寄生電源工作方式 (b)接電源工作方式</p><p> 圖3-9電源工作方式圖</p><p> 3.3 轉(zhuǎn)速測量模塊</p><p> 3.3.1 光耦合器原理</p><p> 耦合器以光為媒介傳輸電信號。它對輸入、輸出電信號有良好的隔離作用,所以,它在各種電路中得到廣泛的應(yīng)用。目前
76、它已成為種類最多、用途最廣的光電器件之一。光耦合器一般由三部分組成:光的發(fā)射、光的接收及信號放大。輸入的電信號驅(qū)動(dòng)發(fā)光二極管(LED),使之發(fā)出一定波長的光,被光探測器接收而產(chǎn)生光電流,再經(jīng)過進(jìn)一步放大后輸出。這就完成了電—光—電的轉(zhuǎn)換,從而起到輸入、輸出、隔離的作用。由于光耦合器輸入輸出間互相隔離,電信號傳輸具有單向性等特點(diǎn),因而具有良好的電絕緣能力和抗干擾能力。又由于光耦合器的輸入端屬于電流型工作的低阻元件,因而具有很強(qiáng)的共模抑制能
77、力。在計(jì)算機(jī)數(shù)字通信及實(shí)時(shí)控制中作為信號隔離的接口器件。</p><p> 本設(shè)計(jì)采用的是WYH 2010槽型光耦合器,其內(nèi)部結(jié)構(gòu)如圖3-10所示。</p><p> 圖3-10 光耦合原件(WYH2010)內(nèi)部結(jié)構(gòu)和尺寸圖</p><p> 3.3.2 光耦合器性能指標(biāo)</p><p> 詳細(xì)參數(shù)如表3-3,表3-4所示。光電特性如
78、表3-5所示。</p><p> 表3-3 H2010直射式光電傳感器常規(guī)參數(shù)</p><p><b> 單位(mm)</b></p><p> 表3-4 H2010直射式光電傳感器極限參數(shù)(Ta=25℃)</p><p> 表3-5 H2010直射式光電傳感器光電特性(Ta=25℃)</p>&l
79、t;p> 3.3.3 電路接線圖和部分原件參數(shù)計(jì)算方式</p><p> 圖3-11 WYH2010接線圖</p><p> 由光耦合器原理可知,它是由一個(gè)二極管和一個(gè)特殊的三極管組成。為了保證二極管和三級管正常工作,同時(shí)保護(hù)它們不被燒壞,所以需要添加保護(hù)電阻。查WYH2010參數(shù)表可知道:</p><p> 二極管壓降為典型1.25V,最大1.5V。
80、二極管正向極限電流為50mA。</p><p> 因?yàn)殡娫礊?V,所以二極管分壓保護(hù)電阻的最小阻值為:</p><p> Rmin1 =(5V-1.25V)/50mA=75Ω</p><p> Rmin2=(5V-1.5V)/50mA=70Ω</p><p> 所以理論上需要給二極管配上最小70Ω的分壓電阻。在實(shí)際操作中,為了確保器件
81、安全,同時(shí)不影響效果,綜合測試選定電阻阻值為200Ω。</p><p> 二極管需要電流驅(qū)動(dòng),功率和電流成正比例關(guān)系。而三極管在此原件中的作用是為了提供高低電平(即,脈沖信號)。所以給它配上阻值較大的電阻,綜合測試選定阻值為5.1KΩ的電阻。</p><p> 3.4 數(shù)碼顯示模塊</p><p> 本設(shè)計(jì)中使用2塊4位八段共陰極數(shù)碼管作為顯示載體,通過8路并
82、口傳輸,共使用了16個(gè)I/O口,具體連接如表3-6所示。</p><p> 表3-6 LED數(shù)碼管連接</p><p> 顯示時(shí)采用循環(huán)移位法,即八位數(shù)碼管依次循環(huán)點(diǎn)亮,利用人眼睛的視覺暫留效果達(dá)到連續(xù)顯示,主程序每運(yùn)行一遍便調(diào)用一次顯示子程序,將數(shù)據(jù)顯示出來。</p><p> 本設(shè)計(jì)中用STC89C51RC芯片的P0管腳作為數(shù)碼管的段選,用STC89C5
83、1RC芯片的P2管腳作為數(shù)碼管的位選。 </p><p> 電路連接圖如3-11所示。</p><p> 圖3-11 LED顯示管連接圖</p><p> 3.5 下載(串行通信)模塊</p><p> 本設(shè)計(jì)采用MAX232芯片進(jìn)行下載程序。它是由德州儀器公司(TI)推出的一款兼容RS232標(biāo)準(zhǔn)的芯片。</p><
84、;p> 它包含2驅(qū)動(dòng)器2接收器和一個(gè)電壓發(fā)生器電路提供TIA/EIA-232-F電平。每一個(gè)接收器將TIA/EIA-232-F電平轉(zhuǎn)換成5-V TTL/CMOS電平。每一個(gè)發(fā)送器將TTL/CMOS電平轉(zhuǎn)換成TIA/EIA-232-F電平。</p><p> MAX232有單向,半雙向和全雙向三種通信方式。單向通信是一種最簡單的通信方式,MAX232接口僅有二根導(dǎo)線組成。一根信號線以精確的時(shí)間間隔傳輸一連
85、串串行數(shù)據(jù)位,一次傳送1位數(shù)據(jù)“0“或“1”。另一根線是信號地線。這種僅在一個(gè)方向傳送數(shù)據(jù)的通信方式稱為單向通信,其二線接口稱為單向接口。</p><p> 全雙向MAX232通信需要三根導(dǎo)線,一根信號線向一個(gè)方向傳送數(shù)據(jù),一根信號線向相反方向傳送數(shù)據(jù),另一根導(dǎo)線是信號地線。兩端設(shè)備可同時(shí)傳送數(shù)據(jù),于是避免了信號交換代碼或額外的信號交換導(dǎo)線。這是一種最常用的通信接口方式。 </p><p&g
86、t; 在非同步通信協(xié)議中,最重要的參數(shù)是波特率,用每秒比特?cái)?shù)(bps)表示。非同步通信方式在多數(shù)時(shí)間通信是空閑的,并等待發(fā)送的數(shù)據(jù),這就涉及到需要知道數(shù)據(jù)何時(shí)由發(fā)送端發(fā)出的問題。</p><p> 非同步通信協(xié)議還有一個(gè)參數(shù)需設(shè)置,即奇偶校驗(yàn)位(奇數(shù)、偶數(shù)或沒有)該位決定是否需將一個(gè)比特加到每組數(shù)據(jù)位上,以使數(shù)據(jù)位正確有效。奇偶校驗(yàn)位由發(fā)送端生成,并在接收端對發(fā)送的每個(gè)字節(jié)進(jìn)行校驗(yàn)。</p>&
87、lt;p> MAX232與單片機(jī)連接圖如圖3-12所示。</p><p> 圖3-12 MAX232與單片機(jī)連接圖</p><p> 第4章 系統(tǒng)軟件部分的設(shè)計(jì)</p><p><b> 4.1 軟件流程圖</b></p><p> 圖4-1 軟件流程圖</p><p><b
88、> 4.2 主要程序</b></p><p> 本設(shè)計(jì)軟件采取模塊化編程,下面給出各模塊功能。</p><p> 4.2.1 主程序模塊</p><p> 主程序模塊主要包括:定義某些參量,為某些中間變量設(shè)置初值,初始化DS18B20,初始化中斷,控制定時(shí)器定時(shí)時(shí)間,計(jì)算計(jì)數(shù)器輸出數(shù)據(jù),對數(shù)據(jù)經(jīng)行某些處理,控制顯示模塊對顯示。</p&
89、gt;<p> 其中定時(shí)器與計(jì)數(shù)器的工作流程圖為圖4-2所示。</p><p> 4-2 主程序流程圖</p><p> 4.2.2 測溫模塊</p><p> DS18B20能對溫度進(jìn)行自動(dòng)獲取,不需要程序的驅(qū)動(dòng),但是讀取是需要程序來控制。依靠寫一位數(shù)據(jù)與讀一位數(shù)據(jù)達(dá)到寫一個(gè)字節(jié)與讀一個(gè)字節(jié)最后實(shí)現(xiàn)溫度的輸出。其具體的程序流程如圖4-3所示。
90、</p><p> 圖4-3 測溫模塊程序流程圖</p><p> 4.2.3 顯示模塊</p><p> 用2個(gè)4位的8段數(shù)碼管來顯示數(shù)據(jù),一塊用來顯示溫度,一塊用來顯示速度。8段數(shù)碼管使用方式:先定義十進(jìn)制數(shù)0-9對應(yīng)的顯示輸出代碼,主芯片通過計(jì)算后得出數(shù)碼管上每一位要是輸出的數(shù)字,然后先片選之后再段選,最后顯示數(shù)據(jù)。其程序流程圖如圖4-4所示。</
91、p><p> 圖4-4 LED數(shù)碼管顯示程序流程</p><p> 4.2.4 主程序源代碼</p><p> #include "head.h"</p><p> #include "delay.h"</p><p> #include "ds18b20.h&q
92、uot;</p><p> #include "display.h"</p><p> uchar TMPH,TMPL;//定義兩個(gè)參量用來存放DS18B20輸出數(shù)據(jù)的高8位于低八位</p><p> volatile uchar n1,n2,n3,n4,m1,m2,m3,m4;//定義8個(gè)參量,作為顯示器最后要處理的參量。</p&g
93、t;<p> uchar i = 0;//定義中間變量i等于0</p><p> int count = 0;//定義計(jì)數(shù)器變量初值為0</p><p> uint a[8] = {0,0,0,0,0,0,0,0};//為一個(gè)8位數(shù)組賦初值</p><p> int speed = 0;//定義速度參量初值為0</p><p
94、> uchar second = 0;//定義定時(shí)器時(shí)間參量second初值為0</p><p> void init_interrupt(void);//中斷初始化</p><p> void main()</p><p><b> {</b></p><p> float temp_float;//定
95、義一個(gè)浮點(diǎn)型參量用來存放溫度十進(jìn)制數(shù)值</p><p> int temp;//定義一個(gè)中間變量</p><p> init_interrupt();//中斷初始化</p><p> while(1)//單片機(jī)進(jìn)入死循環(huán)</p><p><b> {</b></p><p> Reset
96、();//初始化DS18B20</p><p> write_byte(jump_ROM);//寫入一個(gè)字節(jié)</p><p> write_byte(start);//寫開始字節(jié)</p><p> Reset();//DS18B20重新復(fù)位</p><p> write_byte(jump_ROM);//寫一個(gè)字節(jié)</p>
97、<p> write_byte(read_EEROM);//寫讀取字節(jié)</p><p> TMPL = read_byte();//讀取2進(jìn)制溫度數(shù)據(jù)的低8位并賦值給TMPL</p><p> TMPH = read_byte();//讀取2進(jìn)制溫度數(shù)據(jù)的高8位并賦值給TMPH</p><p> temp = TMPH;//將TMPH的值賦給中
98、間變量temp</p><p> temp <<= 8;//temp左移8位</p><p> temp = temp | TMPL;//temp與TMPL進(jìn)行邏輯或并將其結(jié)果賦值給temp,形成最終的溫度2進(jìn)制數(shù)據(jù)</p><p> temp_float = (float)(temp)/16;//將2進(jìn)制換算成10進(jìn)制</p>&l
99、t;p> temp_float = temp_float*100;//將浮點(diǎn)型temp進(jìn)行放大</p><p> n1 = temp_float/1000;//計(jì)算要顯示的溫度數(shù)據(jù)千位</p><p> n2 = ((int)(temp_float)/100)%10;//計(jì)算要顯示的溫度數(shù)據(jù)百位</p><p> n3 = (int)(temp_f
100、loat)/10%10; //計(jì)算要顯示的溫度數(shù)據(jù)千十位</p><p> n4 = (int)(temp_float)%10; //計(jì)算要顯示的溫度數(shù)據(jù)個(gè)位</p><p> m1 = speed/1000; //計(jì)算要顯示的速度數(shù)據(jù)千位</p><p> m2 = speed%1000/100; //計(jì)算要顯示的溫度數(shù)據(jù)百位</p>&l
101、t;p> m3 = speed%100/10; //計(jì)算要顯示的溫度數(shù)據(jù)十位</p><p> m4 = speed%10; //計(jì)算要顯示的溫度數(shù)據(jù)個(gè)位</p><p> display(n1,n2,n3,n4,m1,m2,m3,m4);//顯示數(shù)據(jù)</p><p> sm_dp = 0xfb;//定義小數(shù)點(diǎn)的顯示位</p><
102、p> sm_data = 0x20;</p><p><b> }</b></p><p><b> }</b></p><p> void init_interrupt(void)//中斷初始化程序</p><p> { //定時(shí)器程序</p><p&g
103、t; TMOD=0x61;//選定T0作為定時(shí)器,工作方式1(2的16次方)</p><p> TH0=0x3c; //初始化TH0,12MHZ情況下,定時(shí)為50ms</p><p><b> TL0=0xb0;</b></p><p> ET0=1;//打開T0端口硬件開關(guān)</p><p> TR0=1;//
104、打開T0端口軟件開關(guān)</p><p> TH1=256-1; //T1計(jì)數(shù)1次,請求中斷</p><p><b> TL1=TH1;</b></p><p> ET1=1;//打開T1硬件開關(guān)</p><p> TR1=1;//打開T1軟件開關(guān)</p><p> EA=1;//打開中斷總
105、開關(guān)</p><p><b> }</b></p><p> void time0( ) interrupt 1//進(jìn)入中斷</p><p><b> {</b></p><p> TH0=0x3c; //定時(shí)器T0重置初始值</p><p><b> T
106、L0=0xb0;</b></p><p><b> second++;</b></p><p> if(second==20)//計(jì)時(shí)1秒</p><p><b> {</b></p><p> a[i] = count;//將計(jì)數(shù)器1s內(nèi)計(jì)的數(shù)賦值給數(shù)組</p>
107、;<p><b> i++;</b></p><p><b> if(i==8)</b></p><p><b> i = 7;</b></p><p> count = 0;</p><p> speed = (a[4]+a[5]+a[6]+a[7]
108、)/4; //每次取一個(gè)新數(shù)據(jù)加入平滑,取4個(gè)值平均,取數(shù)過多顯示延時(shí)越久</p><p> a[4] = a[5];</p><p> a[5] = a[6];</p><p> a[6] = a[7];</p><p> second = 0;//重新賦值second位0</p><p><b&g
109、t; }</b></p><p><b> }</b></p><p> void time1( ) interrupt 3</p><p><b> {</b></p><p> count += 1;</p><p><b> }<
110、/b></p><p><b> 第5章 硬件實(shí)現(xiàn)</b></p><p> ?。?)本設(shè)計(jì)整體電路連接圖如圖5-1所示。</p><p> 圖5-1 總體電路連接圖</p><p> ?。?)布局是本著結(jié)構(gòu)最清晰、走線最簡單、模塊間相互電磁干擾影響最少的原則進(jìn)行排版布局。電路已焊接成功并調(diào)出了設(shè)計(jì)所要求實(shí)現(xiàn)的
111、結(jié)果。如圖5-2所示。</p><p> (3)運(yùn)行狀況。準(zhǔn)備使用共陽極數(shù)碼管,因?yàn)橘徺I原件出現(xiàn)差錯(cuò),最后使用共陰極數(shù)碼管。因?yàn)閱纹瑱C(jī)的性能問題,雖然加上兩個(gè)并聯(lián)的10K排阻作為上拉電阻,亮度依然不高。圖5-3是在較暗環(huán)境中拍攝的照片。可以看到運(yùn)行狀況非常良好。</p><p> 圖5-2 實(shí)物連接圖</p><p><b> 圖5-3 運(yùn)行狀況&l
112、t;/b></p><p> (4)本次設(shè)計(jì)所使用的原件清單如圖5-1所示,不包含電線,插針,烙鐵等必備工具。</p><p><b> 表5-1 原件清單</b></p><p><b> 參考文獻(xiàn)</b></p><p> [1]張偉.單片機(jī)原理及應(yīng)用[M].北京:機(jī)械工業(yè)出版社,
113、2002:88-103</p><p> [2]韓志軍,沈晉源,王振波.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京:機(jī)械工業(yè)出版社 2005:130-142</p><p> [3]衛(wèi)小強(qiáng).新型噴油泵實(shí)驗(yàn)臺的研究與開發(fā)[D].萬方數(shù)據(jù):河南科技大學(xué),2004</p><p> [4]張鑫.單片機(jī)原理及應(yīng)用[M].北京:電子工業(yè)出版社,2005</p><
114、;p> [5]趙亮.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)與產(chǎn)品開發(fā)[M].北京:人民郵電出版社,2002.</p><p> [6]劉全林.柴油機(jī)燃油噴射技術(shù)[M].北京:中國鐵道出版社,1994</p><p> [7]STC89C51RC說明手冊.宏晶科技科技有限公司[M],2012:全部</p><p> [8]DS18B20說明手冊. DALLAS[M],201
115、2:全部</p><p> [9]WYH2010說明手冊. 深圳源生電子有限公司[M],2012:全部</p><p> [6]邵顯濤,陳明,李俊.基于霍爾傳感器電機(jī)轉(zhuǎn)速的單片機(jī)測量[J].電子測試.2008(12)</p><p><b> 致 謝</b></p><p> 本次畢業(yè)設(shè)計(jì)歷經(jīng)數(shù)月的緊張和忙碌,
116、終于走近尾聲。由于經(jīng)驗(yàn)缺乏、學(xué)術(shù)水平亟待提高,難免掛一漏萬。幸運(yùn)地是,在本次論文的撰寫過程中得到XX老師的悉心指導(dǎo),他以深厚的學(xué)識,溫和敦厚的人格給予了我極大的幫助和關(guān)懷。</p><p> 在這里首先要感謝我的指導(dǎo)老師XX老師,X老師工作繁忙,但在我做畢業(yè)設(shè)計(jì)的每個(gè)階段,從選題、總體思路、細(xì)節(jié)指導(dǎo)、初稿形成、以及中后期的論文細(xì)化,他都耐心細(xì)致地指導(dǎo)、敦促我一步一步做到更好。使我的設(shè)計(jì)由盲目無措變成順暢運(yùn)行的實(shí)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)遙控系統(tǒng)畢業(yè)設(shè)計(jì)(含外文翻譯)
- 單片機(jī)畢業(yè)設(shè)計(jì)外文翻譯
- 單片機(jī)畢業(yè)設(shè)計(jì)外文翻譯7
- 單片機(jī)畢業(yè)設(shè)計(jì)--基于單片機(jī)的智能恒溫箱設(shè)計(jì)(含外文翻譯)
- 單片機(jī)外文翻譯--轉(zhuǎn)速表與單片機(jī)
- 單片機(jī)畢業(yè)設(shè)計(jì)外文翻譯9
- 單片機(jī)基礎(chǔ)畢業(yè)設(shè)計(jì)外文翻譯
- 單片機(jī)畢業(yè)設(shè)計(jì)外文翻譯1
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)的油溫溫控系統(tǒng)設(shè)計(jì)
- 單片機(jī)畢業(yè)設(shè)計(jì)----基于單片機(jī)的多功能電子時(shí)鐘設(shè)計(jì)(含外文翻譯)
- 單片機(jī)畢業(yè)設(shè)計(jì)外文翻譯-- pic系列單片機(jī)的特點(diǎn)
- 單片機(jī)畢業(yè)設(shè)計(jì)外文翻譯單片機(jī)at89c51
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)的數(shù)字鐘設(shè)計(jì)(含外文翻譯)
- 單片機(jī)畢業(yè)設(shè)計(jì)外文文獻(xiàn)翻譯
- 單片機(jī)控制地下停車場畢業(yè)設(shè)計(jì)(含外文翻譯)
- 畢業(yè)設(shè)計(jì)--基于單片機(jī)溫度控制系統(tǒng)設(shè)計(jì)(含外文翻譯)
- 轉(zhuǎn)速表與單片機(jī)外文翻譯
- 畢業(yè)設(shè)計(jì)--單片機(jī)畢業(yè)設(shè)計(jì)溫度控制(外文翻譯)
- 畢業(yè)設(shè)計(jì)--基于avr單片機(jī)的數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)(含外文翻譯)
- 單片機(jī)畢業(yè)外文翻譯
評論
0/150
提交評論