版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、<p><b> 摘要2</b></p><p> Abstract3</p><p><b> 第一章 引言4</b></p><p> 第二章 設計要求和工作原理5</p><p><b> 2.1設計要求5</b></p>&
2、lt;p> 第三章 方案設計7</p><p> 3.1 溫度測量部分方案7</p><p> 3.2 主控制部分方案7</p><p> 第四章 各單元的設計14</p><p> 4.1鍵盤單元14</p><p> 4.2溫度控制及超溫和超溫警報單元16</p>&
3、lt;p> 4.3溫度測試單元16</p><p> 4.4 溫度控制器件電路16</p><p> 4.5七段數(shù)碼管顯示單元17</p><p> 4.7電源輸入部分20</p><p> 第五章 程序設計22</p><p> 5.1 程序結(jié)構(gòu)分析22</p><p
4、><b> 5.2主程序22</b></p><p> 5.3 程序代碼(詳見附錄 程序清單)23</p><p><b> 結(jié) 論24</b></p><p> 參 考 文 獻25</p><p><b> 致 謝26</b></p>
5、<p> 附錄1:使用說明27</p><p> 附錄2:程序清單28</p><p><b> 摘要</b></p><p> 本設計以AT89S51單片機為核心的溫度控制系統(tǒng)的工作原理和設計方法。溫度信號由溫度芯片DS18B20采集,并以數(shù)字信號的方式傳送給單片機。文中介紹了該控制系統(tǒng)的硬件部分,包括:溫度檢測電路
6、、溫度控制電路、PC機與單片機串口通訊電路和一些接口電路 。單片機通過對信號進行相應處理,從而實現(xiàn)溫度控制的目的。文中還著重介紹了軟件設計部分,在這里采用模塊化結(jié)構(gòu),主要模塊有:數(shù)碼管顯示程序、鍵盤掃描及按鍵處理程序、溫度信號處理程序、繼電器控制程序、超溫報警程序。</p><p> 關鍵詞:AT89S51單片機 DS18B20溫度芯片 溫度控制 串口通訊</p><p><b&g
7、t; Abstract</b></p><p> This design take at89S51 monolithic integrated circuit as core temperature control system's principle of work and design method. The temperature signal by the temperature
8、chip DS18B20 gathering, and transmits by digital signal's way for the monolithic integrated circuit. In the article introduced this control system's hardware part, including: Temperature examination electric circ
9、uit, temperature-control circuit, PC machine and monolithic integrated circuit serial port communication channel and </p><p> Keywords:AT89S51 Monolithic Integrated Circuit ;DS18B20 Temperature Chip;Tempera
10、ture Control;Serial Port Communication</p><p><b> 第一章 引言</b></p><p> 溫度控制系統(tǒng)廣泛應用于社會生活的各個領域 ,如家電、汽車、材料、電力電子等 ,常用的控制電路根據(jù)應用場合和所要求的性能指標有所不同 , 在工業(yè)企業(yè)中,如何提高溫度控制對象的運行性能一直以來都是控制人員和現(xiàn)場技術人員努力解
11、決的問題。這類控制對象慣性大,滯后現(xiàn)象嚴重,存在很多不確定的因素,難以建立精確的數(shù)學模型,從而導致控制系統(tǒng)性能不佳,甚至出現(xiàn)控制不穩(wěn)定、失控現(xiàn)象。傳統(tǒng)的繼電器調(diào)溫電路簡單實用 ,但由于繼電器動作頻繁 ,可能會因觸點不良而影響正常工作??刂祁I域還大量采用傳統(tǒng)的PID控制方式,但PID控制對象的模型難以建立,并且當擾動因素不明確時,參數(shù)調(diào)整不便仍是普遍存在的問題。而采用數(shù)字溫度傳感器DS18B20,因其內(nèi)部集成了A/D轉(zhuǎn)換器,使得電路結(jié)構(gòu)更
12、加簡單,而且減少了溫度測量轉(zhuǎn)換時的精度損失,使得測量溫度更加精確。數(shù)字溫度傳感器DS18B20只用一個引腳即可與單片機進行通信,大大減少了接線的麻煩,使得單片機更加具有擴展性。由于DS18B20芯片的小型化,更加可以通過單跳數(shù)據(jù)線就可以和主電路連接,故可以把數(shù)字溫度傳感器DS18B20做成探頭,探入到狹小的地方,增加了實用性。更能串接多個</p><p> 第二章 設計要求和工作原理</p>&l
13、t;p><b> 2.1設計要求</b></p><p> 設計基于單片計算機的溫度控制器,用于控制溫度。具體要求如下: </p><p> 1. 溫度連續(xù)可調(diào),范圍為0℃-40℃ </p><p> 2. 超調(diào)量σ%≤20% </p><p> 3. 溫度誤差≤±0.5℃ </p>
14、<p> 4. 人-機對話方便 </p><p><b> 2.2工作原理</b></p><p> 溫度傳感器 DS18B20 從設備環(huán)境的不同位置采集溫度,單片機 AT89S51 獲取采集的溫度值,經(jīng)處理后得到當前環(huán)境中一個比較穩(wěn)定的溫度值,再根據(jù)當前設定的溫度上下限值,通過加熱和降溫對當前溫度進行調(diào)整。當采集的溫度經(jīng)處理后超過設定溫度的上限時
15、,單片機通過三極管驅(qū)動繼電器開啟降溫設備 (壓縮制冷器) ,當采集的溫度經(jīng)處理后低于設定溫度的下時 , 單片機通過三極管驅(qū)動繼電器開啟升溫設備 (加熱器) 。 </p><p> 當由于環(huán)境溫度變化太劇烈或由于加熱或降溫設備出現(xiàn)故障,或者溫度傳感頭出現(xiàn)故障導致在一段時間內(nèi)不能將環(huán)境溫度調(diào)整到規(guī)定的溫度限內(nèi)的時候,單片機通過三極管驅(qū)動揚聲器發(fā)出警笛聲。 </p><p> 系統(tǒng)中將通過串
16、口通訊連接PC機存儲溫度變化時的歷史數(shù)據(jù),以便觀察整個溫度的控制過程及監(jiān)控溫度的變化全過程。</p><p><b> 2-1工作原理圖</b></p><p><b> 第三章 方案設計</b></p><p> 3.1 溫度測量部分方案</p><p> DS18B20是DALLAS
17、公司生產(chǎn)的一線式數(shù)字溫度傳感器,它具有微型化、低功耗、高性能抗干擾能力、強易配處理器等優(yōu)點,特別適合用于構(gòu)成多點溫度測控系統(tǒng),可直接將溫度轉(zhuǎn)化成串行數(shù)字信號(按9位二進制數(shù)字)給單片機處理,且在同一總線上可以掛接多個傳感器芯片,它具有三引腳TO-92小體積封裝形式,溫度測量范圍-55~+125℃,可編程為9~12位A/D轉(zhuǎn)換精度,測溫分辨率可達0.0625℃,被測溫度用符號擴展的16位數(shù)字量方式串行輸出,其工作電源既可在遠端引入,業(yè)可采
18、用寄生電源方式產(chǎn)生,多個DS18B20可以并聯(lián)到三根或者兩根線上,CPU只需一根端口線就能與多個DS18B20通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路。從而可以看出DS18B20可以非常方便的被用于遠距離多點溫度檢測系統(tǒng)。</p><p> 綜上,在本系統(tǒng)中我采用溫度芯片DS18B20測量溫度。該芯片的物理化學性很穩(wěn)定,它能用做工業(yè)測溫元件,且此元件線形較好。在0—100攝氏度時,最大線形偏差小
19、于1攝氏度。該芯片直接向單片機傳輸數(shù)字信號,便于單片機處理及控制。</p><p> 圖4-1溫度芯片DS18B20</p><p> 3.2 主控制部分方案</p><p> AT89S51 是一個低功耗,高性能CMOS 8位單片機,片內(nèi)含8k Bytes ISP(In-system programmable)的可反復擦寫1000次的Flash只讀程序存儲
20、器,器件采用ATMEL公司的高密度、非易失性存儲技術制造,兼容標準MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲單元,功能強大的微型計算機的AT89S51可為許多嵌入式控制應用系統(tǒng)提供高性價比的解決方案。AT89S51具有如下特點:40個引腳,4k Bytes Flash片內(nèi)程序存儲器,128 bytes的隨機存取數(shù)據(jù)存儲器(RAM),32個外部雙向輸入/輸出(I/O)口,5個中斷優(yōu)先級
21、2層中斷嵌套中斷,2個16位可編程定時計數(shù)器,2個全雙工串行通信口,看門狗(WDT)電路,片內(nèi)時鐘振蕩器。</p><p> 此外,AT89S51設計和配置了振蕩頻率可為0Hz并可通過軟件設置省電模式??臻e模式下,CPU暫停工作,而RAM定時計數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復位。同時該芯片還具有PDIP、TQFP和PLCC等三種封裝
22、形式,以適應不同產(chǎn)品的需求。</p><p> 由于系統(tǒng)控制方案簡單 ,數(shù)據(jù)量也不大 ,考慮到電路的簡單和成本等因素 ,因此在本設計中選用 A TMEL 公司的 A T89S51單片機作為主控芯片。主控模塊采用單片機最小系統(tǒng)是由于 A T89S51芯片內(nèi)含有4 kB的 E2PROM ,無需外擴存儲器 ,電路簡單可靠 ,其時鐘頻率為 0~24 MHz ,并且價格低廉 ,批量價在 10元以內(nèi)。</p>
23、<p><b> 其主要功能特性:</b></p><p> 兼容MCS-51指令系統(tǒng) 4k可反復擦寫(>1000次)ISP Flash ROM</p><p> 32個雙向I/O口 4.5-5.5V工作電壓</p><p> 2個16位可編程定時/計數(shù)器
24、 時鐘頻率0-33MHz</p><p> 全雙工UART串行中斷口線 128x8 bit內(nèi)部RAM</p><p> 2個外部中斷源 低功耗空閑和省電模式</p><p> 中斷喚醒省電模式 3級加密位</p><p> 看門狗(WDT
25、)電路 軟件設置空閑和省電功能</p><p> 靈活的ISP字節(jié)和分頁編程 雙數(shù)據(jù)寄存器指針 </p><p> 可以看出AT89S51提供以下標準功能:4K字節(jié)Flash閃速存儲器,128字節(jié)內(nèi)部RAM,32個I/O口線,看門狗(WDT),兩個數(shù)據(jù)指針,兩個16位定時器/計數(shù)器,一個5向量兩級中斷結(jié)構(gòu),一個全雙工串行通信口,片內(nèi)振蕩器
26、及時鐘。同時, AT89S51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時/計數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式何在RAM中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直接到一個硬件復位。</p><p> AT89S51引角功能說明</p><p><b> Vcc:電源電壓</b><
27、;/p><p><b> GND:地</b></p><p> P0口:P0口是一組8位漏極開路型雙向I/O口,也即地址/數(shù)據(jù)總線復用口,作為輸出口用時,每位能驅(qū)動8個TTL邏輯門電路,對端口寫“1”可作為高阻抗輸入端口。在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復用,在訪問期間激活內(nèi)部上拉電阻。在Flash編程時,P0口接收指令字節(jié)
28、,而在程序校驗時,輸出指令字節(jié),校驗時,要求外接上拉電阻。</p><p> P1口:P1是一個帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號校驗期間,P1接收低8位地址。表3-1為P1口第二功能。</p><p>
29、 表3-1 P1口第二功能</p><p> P2口:P2是一個帶有內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級可驅(qū)動4個TTL邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流I。在訪問8位地址的外部數(shù)據(jù)存儲器(如執(zhí)行:MOVX @Ri 指令)時,P2口線上的內(nèi)(也即特殊功能寄存器,在整個訪問期間
30、不改變。Flash 編程或校驗時,P2也接收高位地址和其它控制信號。)</p><p> P3口:P3口是一組帶有內(nèi)部上拉電阻的8位雙向I/O口。P3口輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對P3口寫入“1”時,它們被內(nèi)部上拉電阻拉高并可作為輸入端口。作輸入端口時,被外部拉低的P3口將用上拉電阻輸出電流I。P3口除了作為一般的I/O口線外,更重要的用途是它的第二功能,P3口的第二功能如下表3-
31、2。 </p><p> 表3-2 P3口的第二功能</p><p> RST:復位輸入。當振蕩工作時,RST引腳出現(xiàn)兩個機器周期上高電平將使單片機復位。WDT益出將使該引腳輸出高電平,設置SFR AUXR 的 DISRTO 位(地址8EH)可打開或關閉該功能。DISRTO 位缺省為RESET輸出高電平打開狀態(tài)。</p><p> ALE/PROG:
32、當訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。即使不訪問外部存儲器,ALE仍以時鐘振蕩頻率的1/6輸出的正脈沖信號,因此它可對外輸出時鐘或用于定時目地,要注意的是:第當訪問外部數(shù)據(jù)存儲器時將跳過一個ALE脈沖。如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位禁位后,只有一條MOVX 和MOVC指令ALE才會被激活。此外,該引腳伎被微弱拉高,單片機
33、執(zhí)行外部程序時,應設置ALE無效。</p><p> PSEN:程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當AT89S51由外部程序存儲器取指令(或數(shù)據(jù))時,每個機器周期兩次PSEN有效,即輸出兩個脈沖。當訪問外部數(shù)據(jù)存儲器,高有兩次有效的PSEN信號。</p><p> EA/VPP:外部訪問允許。欲使CPU公訪問外部程序存儲器(地址0000H-FFFFH),EA端必
34、須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復位時內(nèi)部會鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲器中的指令。Flash存儲器編程時,該引腳加上+12V的編程電壓Vpp。</p><p> XTAL1:振蕩器反相放大器及內(nèi)部時鐘發(fā)生器的輸入端。</p><p> XTAL2:振蕩器反相放大器的輸出端。</p><p>
35、 AT89S51單片機內(nèi)部構(gòu)造及功能:</p><p> 特殊功能寄存器:特殊功能寄存器的片內(nèi)空間分存如下圖3-2所示。這些地址并沒有全部占用,沒有占用的地址不可使用,讀這些地址將得到一個隨意的數(shù)值。而寫這些地址單元將不能得到預期的結(jié)果。</p><p> 中斷寄存器:各中斷允許控制位于IE寄存器,5個中斷源的中斷優(yōu)先級控制位于IP寄存器。圖3-2為AUXR輔助寄存器。</p&
36、gt;<p> 圖3-2 AUXR輔助寄存器</p><p> 雙時鐘指針寄存器:為方便地訪問內(nèi)部和外部數(shù)據(jù)存儲器,提供了兩個16位數(shù)據(jù)指針寄存儲器:PD0位于SFR區(qū)塊中的地址82H、83H和DP1位于地址84H、85H,當SFR中的位DPS=0時選擇DP0,而DPS=1時選擇DP1。在使用前初始化DPS。</p><p> 圖3-3 雙時鐘指針寄存器</p&
37、gt;<p> 電源空閑標志:電源空閑標志(POF)在特殊功能寄存儲器SFR中PCON的第4位(PCON.4),電源打開時POF置“1”,它可由軟件設置睡眠狀態(tài)并不為復位所影響。</p><p> 存儲器結(jié)構(gòu):MCS-51單片機內(nèi)核采用程序存儲器和數(shù)據(jù)存儲器空間分開的結(jié)構(gòu),均具有64KB外部程序和數(shù)據(jù)的尋址空間。</p><p> 程序存儲器:如果EA引腳接地(GND)
38、,全部程序均執(zhí)行外部存儲器。在AT89S51,假如接至Vcc(電源+),程序首先執(zhí)行從地址0000H-0FFFH(4KB)內(nèi)部程序存儲器,再執(zhí)行地址為1000H-FFFFH(60KB)的外部程序存儲器。</p><p> 數(shù)據(jù)存儲器:在AT89S51的具有128字節(jié)的內(nèi)部RAM,這128字節(jié)可利用直接或間接尋址方式訪問,堆棧操作可利用間接尋址方式進行,128字節(jié)均可設置為堆棧區(qū)空間。</p>&l
39、t;p> 看門狗定時器(WDT):WDT是為了解決CPU程序運行時可能進入混亂或死循環(huán)而設置,它由一個14bit計數(shù)器和看狗復位SFR(WDTRST)構(gòu)成。外部復位時,WDT默認為關閉狀態(tài),要打開WDT,必按順序?qū)?1H和0E1H寫到WDTRST寄存器,當啟動了WDT,它會隨晶體振蕩器在每個機器周期計數(shù),除硬件復位或WDT溢出復位外沒有其它方法關閉WDT,當WDT溢出,將使RST引腳輸出高電平的復位脈沖。引腳圖詳見圖3-4<
40、;/p><p> 圖3-4 AT89S51單片機引腳圖 </p><p> 第四章 各單元的設計 </p><p><b> 4.1鍵盤單元</b></p><p> 單片機應用系統(tǒng)中除了復位按鍵有專門的復位電路,以及專一的復位功能外,其它的按鍵或鍵盤都是以開關狀態(tài)來設置控制功能或輸入數(shù)據(jù)。 </p>
41、<p> 鍵開關狀態(tài)的可靠輸入 :為了去抖動我采用軟件方法,它是在檢測到有鍵按下時,執(zhí)行一個10ms的延時程序后,再確認該鍵電平是否仍保持閉合狀態(tài)電平,如保持閉合狀態(tài)電平則確認為真正鍵按下狀態(tài),從而消除了抖動影響</p><p> 在這種行列式矩陣鍵盤非編碼鍵盤的單片機系統(tǒng)中,鍵盤處理程序首先執(zhí)行等待按鍵并確認有無按鍵按下的程序段。當確認有按鍵按下后,下一步就要識別哪一個按鍵按下。對鍵的識別通常有兩
42、種方法:一種是常用的逐行掃描查詢法;另一種是速度較快的線反轉(zhuǎn)法。</p><p> 對照圖示的4*4鍵盤,說明線反轉(zhuǎn)法工作原理。首先辨別鍵盤中有無鍵按下,有單片機I/O口向鍵盤送全掃描字,然后讀入行線狀態(tài)來判斷。方法是:向行線輸出全掃描字00H,把全部列線置為低電平,然后將列線的電平狀態(tài)讀入累加器A中。如果有按鍵按下,總會有一根行線電平被拉至低電平從而使行線不全為1。判斷鍵盤中哪一個鍵被按下是通過將列線逐列置低
43、電平后,檢查行輸入狀態(tài)來實現(xiàn)的。方法是:依次給列線送低電平,然后查所有行線狀態(tài),如果全為1,則所按下的鍵不在此列;如果不全為1,則所按下的鍵必在此列,而且是在與零電平行線相交的交點上的那個鍵。</p><p> 鍵盤共有16個按鍵,用于方便設定溫度。</p><p> … , 數(shù)字按鍵,輸入數(shù)字0----9;</p><p> , 設置
44、的確認,修改設置溫度時進行確認;</p><p> 設置的清除,修改設置溫度時進行刪除;</p><p><b> 開啟電源</b></p><p><b> 關閉電源</b></p><p> 顯示及設置轉(zhuǎn)換到溫度點1,按此按鍵后,顯示預設置溫度的數(shù)碼管</p><p&
45、gt;<b> 閃爍;</b></p><p> 顯示及設置轉(zhuǎn)換到溫度點2,按此按鍵后,顯示預設置溫度的數(shù)碼管</p><p><b> 閃爍;</b></p><p> 表5-1鍵盤的按鍵分布</p><p> 4.2溫度控制及超溫和超溫警報單元</p><p>
46、 當采集的溫度經(jīng)處理后超過規(guī)定溫度上限時,單片機通過 P1.4 輸出控制信號驅(qū)動三極管 D1 ,使繼電器 K1 開啟降溫設備 ( 壓縮制冷設備 ) :當采集的溫度經(jīng)處理后低于設定溫度下限時,單片機通過 P1.5 輸出控制信號驅(qū)動三極管 D2 ,使繼電器 K2 開啟升溫設備 ( 加熱器1) 。當由于環(huán)境溫度變化太劇烈或由于加熱或降溫設備出現(xiàn)故障,或者溫度傳感頭出現(xiàn)故障導致在一段時間內(nèi)不能將環(huán)境溫度調(diào)整到規(guī)定的溫度限內(nèi)的時候,單片機通過三
47、極管驅(qū)動揚聲器發(fā)出警笛聲。具體電路連接如圖 4-1 所示。</p><p> 圖4-1具體電路連接圖</p><p><b> 4.3溫度測試單元</b></p><p> 采用溫度芯片DS18B20。使用集成芯片,能夠有效的減小外界的干擾,提高測量的精度,簡化電路的結(jié)構(gòu)。</p><p> 4.4 溫度控制器件
48、電路</p><p> 單片機通過三極管控制繼電器的通斷,最后達到控制電熱器的目的。</p><p> 當溫度未達到要求時,單片機發(fā)送高電平信號使三極管飽和導通,繼電器使電源與電熱器接通,電熱器加熱。溫度慢慢升高。</p><p> 當溫度上升到預定溫度時,單片機發(fā)送低電平信號三極管進入截止狀態(tài),繼電器的彈片打到另一側(cè),使電熱器與電源斷開,電熱器停止加熱。&l
49、t;/p><p> 繼電器電路中有一個三極管8050的保護電路,即將一個二極管反向接到三機管的兩端。連接方法如圖4-2所示。</p><p> 圖4-2 單片機控制信號</p><p> 其原理是:當繼電器突然斷電時,繼電器產(chǎn)生很大的反向電流。二極管的作用是將反向電流分流,使流過三級管8050的電流比較小,達到保護三極管8050的作用。</p>&l
50、t;p> 4.5七段數(shù)碼管顯示單元 </p><p> 本部分電路主要使用七段數(shù)碼管和移位寄存器芯片74LS164。單片機通過I2C總線將要顯示的數(shù)據(jù)信號傳送到移位寄存器芯片74LS164寄存,再由移位寄存器控制數(shù)碼管的顯示,從而實現(xiàn)移位寄存點亮數(shù)碼管顯示。由于單片機的時鐘頻率達到12M,移位寄存器的移位速度相當快,所以我們根本看不到數(shù)據(jù)是一位一位傳輸?shù)?。從人類視覺的角度上看,就仿佛是全部數(shù)碼管同時顯示
51、的一樣。具體見實際連線圖如圖4-3。</p><p> 當清除端(CLEAR)為低電平時,輸出端(QA-QH)均為低電平。 串行數(shù)據(jù)輸入端(A,B)可控制數(shù)據(jù)。當 A、B 任意一個為低電平,則禁止新數(shù)據(jù)輸入,在時鐘端(CLOCK)脈沖上升沿作用下 Q0 為低電平。當 A、B 有一個為高電平,則另一個就允許輸入數(shù)據(jù),并在 CLOCK 上升沿作用下決定 Q0 的狀態(tài),邏輯封裝圖如圖4-3:</p>&
52、lt;p><b> 圖4-3邏輯封裝圖</b></p><p> 引出端符號:CLOCK 時鐘輸入端;CLEAR 同步清除輸入端(低電平有效);A,B 串行數(shù)據(jù)輸入端;QA-QH 輸出端。真值表:表4-2</p><p><b> 表4-2 真值表</b></p><p> 圖4-4 實際連線圖</p&
53、gt;<p> 4.6接口通訊單元 </p><p> max232資料簡介:</p><p> 該產(chǎn)品是由德州儀器公司(TI)推出的一款兼容RS232標準的芯片。由于電腦串口rs232電平是-10v +10v,而一般的單片機應用系統(tǒng)的信號電壓是ttl電平0 +5v,max232就是用來進行電平轉(zhuǎn)換的,該器件包含2驅(qū)動器、2接收器和一個電壓發(fā)生器電路提供TIA/EI
54、A-232-F電平。</p><p> 該器件符合TIA/EIA-232-F標準,每一個接收器將TIA/EIA-232-F電平轉(zhuǎn)換成5-V TTL/CMOS電平。每一個發(fā)送器將TTL/CMOS電平轉(zhuǎn)換成TIA/EIA-232-F電平。</p><p> 主要特點 :1、單5V電源工作</p><p> 2、 LinBiCMOSTM工藝技術</p>
55、<p> 3、 兩個驅(qū)動器及兩個接收器</p><p> 4、 ±30V輸入電平</p><p> 5、低電源電流:典型值是8mA</p><p> 6、符合甚至優(yōu)于ANSI標準 EIA/TIA-232-E及ITU推薦標準V.28</p><p> 7、ESD保護大于MIL-STD-883(方 法3015)標
56、準的2000V</p><p> 5 1單片機有一個全雙工的串行通訊口,所以單片機和電腦之間可以方便地進行串口通訊。進行串行通訊時要滿足一定的條件,比如電腦的串口是RS232電平的,而單片機的串口是TTL電平的,兩者之間必須有一個電平轉(zhuǎn)換電路,我采用了專用芯片MAX232進行轉(zhuǎn)換,雖然也可以用幾個三極管進行模擬轉(zhuǎn)換,但是還是用專用芯片更簡單可靠。</p><p> 在本設計中采用了三線
57、制連接串口,也就是說和電腦的9針串口只連接其中的3根線:第5腳的GND、第2腳的RXD、第3腳的TXD。這是最簡單的連接方法,但是對我來說已經(jīng)足夠使用了,電路如下圖所示,MAX232的第10腳和單片機的11腳連接,第9腳和單片機的10腳連接,第15腳和單片機的20腳連接,串口通訊具體如圖4-5</p><p> 圖4-5 通訊接口連線圖</p><p><b> 4.7電源輸
58、入部分</b></p><p> 控制系統(tǒng)主控制部分電源需要用5V直流電源供電,其電路如圖6-1所示,把頻率為50Hz、有效值為220V的單相交流電壓轉(zhuǎn)換為幅值穩(wěn)定的5V直流電壓。其主要原理是把單相交流電經(jīng) 過電源變壓器、整流電路、濾波電路、穩(wěn)壓電路轉(zhuǎn)換成穩(wěn)定的直流電壓。
59、
60、 </p><p> 由于輸入電壓為電網(wǎng)電壓,一般情況下所需直流電壓的數(shù)值和電網(wǎng)電壓的有效值相差較大,因而電源變壓器的作用顯現(xiàn)出來起到降壓作用。降壓后還是交流電壓,所以需要整流電路把交流電壓轉(zhuǎn)換成直流電壓。由于經(jīng)整流電路整流
61、后的電壓含有較大的交流分量,會影響到負載電路的正常工作。需通過低通濾波電路濾波,使輸出電壓平滑。穩(wěn)壓電路的功能是使輸出直流電壓基本不受電網(wǎng)電壓波動和負載電阻變化的影響,從而獲得穩(wěn)定性足夠高的直流電壓。本電路使用集成穩(wěn)壓芯片7805解決了電源穩(wěn)壓問題。</p><p> 圖4-6電源部分連線圖</p><p><b> 第五章 程序設計</b></p>
62、<p> 5.1 程序結(jié)構(gòu)分析</p><p> 主程序調(diào)用了5個子程序,分別是數(shù)碼管顯示程序、鍵盤掃描及按鍵處理程序、溫度信號處理程序、繼電器控制程序、單片機與PC機串口通訊程序。</p><p> 鍵盤掃描電路及按鍵處理程序:實現(xiàn)鍵盤的輸入按鍵的識別及進入相應的程序。</p><p> 溫度信號處理程序:對溫度芯片送過來的數(shù)據(jù)進行處理,進行判
63、斷和顯示。</p><p> 數(shù)碼管顯示程序:向數(shù)碼的顯示送數(shù),控制系統(tǒng)的顯示部分。</p><p> 繼電器控制程序:控制繼電器動作</p><p> 串口通訊程序:實現(xiàn)PC機與單片機通訊,將溫度數(shù)據(jù)傳送給PC機。</p><p><b> 圖5-1程序結(jié)構(gòu)圖</b></p><p>&
64、lt;b> 5.2主程序</b></p><p> 程序開始的時候先設置初始化,然后就控制數(shù)碼管顯示當前溫度。接著就判斷F1、F2按鍵是否被按下。按下F1進入溫度控制點1的程序、按下F2進入溫度控制點2的程序。程序控制設置溫度的兩個數(shù)碼管閃爍的,此時鍵盤輸入有效。有按鍵按下的時候進入按鍵處理程序。按下“確定”按鍵后,程序進入判斷程序和繼電器控制程序。繼電器動作后,程序回到顯示當前程序,并開始
65、循環(huán)。</p><p> 5.3 程序代碼(詳見附錄 程序清單)</p><p><b> 結(jié) 論</b></p><p> 在工業(yè)生產(chǎn)和日常生活中,對溫度控制系統(tǒng)的要求,主要是保證溫度在一定溫度范圍內(nèi)變化,穩(wěn)定性好,不振蕩,對系統(tǒng)的快速性要求不高。在論文中簡單分析了單片機溫度控制系統(tǒng)設計過程及實現(xiàn)方法。本系統(tǒng)的測溫范圍為-10℃~40
66、℃,溫度檢測系統(tǒng)根據(jù)用戶設定的溫度范圍完成一定范圍的溫度控制。</p><p> 89S51的時鐘最高可達12M,I/O口可達32個,高的時鐘頻率和豐富的I/O,都為我們實現(xiàn)電路功能提供了非常有利的條件。同時也因為開發(fā)環(huán)境友好,易用,方便,大大加快本系統(tǒng)設計開發(fā)。</p><p> 本制作的設計中使用了繼電器控制的只是插座電路,因此,該系統(tǒng)的可擴展性很強。隨著插入插座的電器的不同,可以
67、實現(xiàn)許多其它功能的電路。</p><p><b> 參 考 文 獻</b></p><p> 1曹巧媛主編. 單片機原理及應用(第二版). 北京:電子工業(yè)出版社,2002</p><p> 2全國大學生電子設計競賽組委會編.第五屆全國大學生電子設計競賽獲獎作品選編(2001), 北京:北京理工大學出版社,2003</p>
68、<p> 3何力民編. 單片機高級教程. 北京:北京航空大學出版社,2000</p><p> 4金發(fā)慶等編. 傳感器技術與應用.北京機械工業(yè)出版社,2002</p><p> 5王錦標,方崇智.過程計算機控制.北京:清華大學出版社,1997;36~40</p><p> 6邵惠鶴.工業(yè)過程高級控制.上海:上海交通大學出版社,1997;58—62
69、,78—101</p><p> 7胡壽松.自動控制原理.北京:國防工業(yè)出版社,2000;103—124</p><p> 8劉伯春.智能PID調(diào)節(jié)器的設計及應用.電子自動化,1995;(3):20~25</p><p> 9 Katsuhiko Ogata.Moden Control Engineering.Publishing house of elect
70、ronics industry,2000:1 96—202</p><p> 10 周潤景,張麗娜.基于PROTEUS 的電路及單片機系統(tǒng)設計與仿真[M].北京:航空航天</p><p> 大學出版社 ,2006.P321~P326</p><p> 11王忠飛,胥芳.MCS-51 單片機原理及嵌入式系統(tǒng)應用[M].西安:西安電子科技大學出</p>
71、<p> 版社,2007.P268-273</p><p> 12 劉國鈞,陳紹業(yè),王鳳翥.圖書館目錄.第1版.北京:高等教育出版社,1957</p><p> 13 傅承義,陳運泰,祁貴中.地球物理學基礎.北京:科學出版社,1985,447</p><p> 14 華羅庚,王元.論一致分布與近似分析.中國科學,1973(4):339~357
72、</p><p> 15 張筑生.微分半動力系統(tǒng)的不變集研究:[學位論文],北京:數(shù)學系統(tǒng)學研究所,1983</p><p><b> 致 謝</b></p><p> 三年的讀書生活在這個季節(jié)即將劃上一個句號,而于我的人生卻只是一個逗號,我將面對又一次征程的開始。在這三年的求學生涯中師長、親友給與了我大力支持,在這個翠綠的季節(jié)我將邁
73、開腳步走向遠方,懷念,思索,長長的問號一個個在求學的路途中被知識的舉手擊碎,而人生的思考才剛剛開始。感謝我教書育人的老師,我不是你們最出色的學生,而你們卻是我最尊敬的老師。大學時代的老師治學嚴謹,學識淵博,思想深邃,視野雄闊,為我營造了一種良好的精神氛圍。授人以魚不如授人以漁,置身其間,耳濡目染,潛移默化,使我不僅接受了全新的思想觀念,樹立了宏偉的學術目標,領會了對待知識,走向社會的思考方式。在這里尤其要感謝xx老師,從論文題目的選定到
74、論文寫作的指導,經(jīng)由您悉心的點撥,再經(jīng)思考后的領悟,常常讓我有“山重水復疑無路,柳暗花明又一村”。 </p><p> 感謝父母,焉得諼草,言樹之背,養(yǎng)育之恩,無以回報;感謝同學在我遇到困境時向我伸出援助之手,同窗之誼我們社會再續(xù);感謝這段時間對我?guī)椭o與關懷的叔叔,阿姨,是你們讓我看到了人間真情暖人心,激勵我時時刻刻努力,奮發(fā)向上,排除萬難勇往直前。在論文即將完成之際,我的心情無法平靜,從開始進入課題到論文的
75、順利完成,有多少可敬的師長、同學、朋友給了我無言的幫助,在這里請接受我誠摯謝意! </p><p> 同時也感謝學院為我提供良好的做畢業(yè)設計的環(huán)境。 </p><p> 最后再一次感謝所有在畢業(yè)設計中曾經(jīng)幫助過我的良師益友和同學,以及在設計中被我引用或參考的論著的作者。</p><p><b> 附錄1:使用說明</b></p>
76、;<p> 1、將溫度控制箱上的開關全部打到“關”的位置</p><p> 2、將溫度芯片插到溫度控制箱的指定位置</p><p> 3、用串口線將溫度控制箱與計算機相連,打開相應的應用程序</p><p> 4、將用電器的插頭插到溫度控制箱的插座</p><p> 5、接上溫度控制箱的電源、并打開開關。在溫度控制箱上
77、的數(shù)碼管顯示出當前溫度</p><p> 6、按F1鍵,進入溫度點1的設置。通過鍵盤設置所需要的溫度,然后按“確定”鍵。系統(tǒng)會將設置值與當前值進行比較,通過溫度芯片的反饋,單片機控制加熱或冷卻水的溫度,使水的溫度穩(wěn)定在設置的溫度上。從而達到控制溫度的作用。</p><p> 按F2鍵則相應進入溫度點2 的設置。與F1鍵的使用方法相同。</p><p> 當要關
78、閉系統(tǒng)時,先關掉開關,然后再拔掉電源。</p><p><b> 框圖表示:</b></p><p><b> 附錄2:程序清單</b></p><p><b> 主程序:</b></p><p> ORG 0000H ;DS18B20.ASM DS18SL EQU
79、41H ;用于保存讀出溫度的低8位 DS18SH EQU 40H ;用于保存讀出溫度的高8位DS18FIG EQU 8H ;是否檢測到DS18B20標志位A_BIT1 EQU 31H ;數(shù)碼管個位數(shù)存放內(nèi)存位置B_BIT1 EQU 32H ;數(shù)碼管十位數(shù)存放內(nèi)存位置D_BIT1 EQU 35H ;數(shù)碼管百位數(shù)存放內(nèi)存位置DS18CD1 EQU 42H ;DS18CD1-DS18CD8暫存64位ROMDS18CD2
80、 EQU 43H ;從低到高DS18CD3 EQU 44HDS18CD4 EQU 45HDS18CD5 EQU 46HDS18CD6 EQU 47HDS18CD7 EQU 48HDS18CD8 EQU 49HDS1864B EQU 4AHDS18ADS EQU 4BHDS18DQ EQU P1.0 ;30H,31H,32H,33H: </p><p> X 個位 十位 XMOD7: MOV
81、SP,#60HLCALL GET_TEMPER ;調(diào)用讀溫度子程序LCALL READCODEAJMP MOD7</p><p> INIT_1820: ;DS18B20初始化SETB DS18DQCLR DS18DQ ;延時,500US低MCMOV R7,#250DJNZ R7,$MOV R7,#150DJNZ R7,$SETB DS18DQ&
82、#160; ;釋放總線LCALL DELAY60US ;15-60US的等待時間MOV R6,#4SETDSDQ:LCALL DELAY60USJNB DS18DQ,SETDSDQFH ;60-240US內(nèi)是否有返回信號,為0跳DJNZ R6,SETDSDQMOV R7,#250DJNZ R7,$CLR DS18FIGRETSETDSDQFH:SETB DS18FIGMOV
83、R7,#250 DJNZ R7,$MOV R7,#100DJNZ R7,$RET;</p><p><b> 數(shù)據(jù)處理程序:</b></p><p> TEMP0: INC AAJMP TEMP1TEMPCOV: MOV A,DS18SL ;數(shù)據(jù)處理子程序</p><p> TEMPCOVMOV B,#
84、16DIV ABJB B.3,TEMP0TEMP1: MOV 34H,A ;將DS18SL的高四位右移四位,存入</p><p> 34H中(溫度值)MOV A,B ;將DS18SL的低四位X10/16得小數(shù)后</p><p> 一位數(shù).MOV B,#10MUL ABMOV B,#16DIV ABMOV 30H,A ;將小數(shù)后一位數(shù).存入30H中MOV A,DS18
85、SH ;DS18SH中存放高8位數(shù),權(quán)</p><p> 重16MOV B,#16MUL ABADD A,34H ;34H中存入溫度值的整數(shù)部分MOV B,#10DIV ABMOV 31H,B ;個位存入31H中MOV B,#10 ;DIV AB ;MOV 32H,B ;十位存入32H中MOV B,#10 ;DIV AB ;MOV 35H,B ;百位存入33H中MOV A,DS18SH
86、MOV 33H,#10H ;JB ACC.7,EXIT7MOV 33H,#00HEXIT7: RET</p><p> GET_TEMPER: ;讀出轉(zhuǎn)換后的溫度值,并顯示SETB DS18DQLCALL INIT_1820 ;先復位DS18B20JB DS18FIG,TSS2RET ;判斷DS1820是否存在?若DS18B20不存在則返TSS2: MOV DS18ADS,#0DS18JX
87、:LCALL DS18CODPMOV A,DS18ADSADD A,#9MOV DS18ADS,ACJNE A,#63,DS18JXRETDS18CODP:LCALL MRCOVT ;轉(zhuǎn)換指定的DS18B20的溫度LCALL MRRDTEDP ;顯示溫度RETTEMP:LCALL INIT_1820JB DS18FIG,NEXT4RETNEXT4:MOV DS18ADS,#9MOV A,#0CCH ;S
88、KIP ROMLCALL WRITE_1820MOV A,#44H ;溫度轉(zhuǎn)換命令LCALL WRITE_1820LCALL DELAY1SLCALL MRRDTEDPRET;寫DS18B20的子程序(有具體的時序要求)WRITE_1820: ;寫DS</p><p> 據(jù)READ_18200: MOV R4,#2
89、0; ;讀兩次數(shù) MOV R1,#DS18SL ;低位地址存在R1DS18JXRD1:MOV R5,#8 ;8位數(shù)據(jù)DS18JXRD:SETB DS18DQ CLR DS18DQ ;前兩句完成初始化NOPNOP ;延時至少1USSETB DS18DQ
90、60; ;上升沿,并在,15US內(nèi)讀數(shù)MOV R7,#5DJNZ R7,$MOV C,DS18DQRRC ALCALL DELAY60US ;讀時序,最少60USDJNZ R5,DS18JXRDMOV @R1,ADEC R1DJNZ R4,DS18JXRD1SETB DS18DQRETREAD_1820_1: ;讀取1位SETB DS18D
91、Q CLR DS18DQCLR DS18DQCLR DS18DQSETB DS18DQMOV R7,#5DJNZ R7,$JB DS18DQ,WEFHLCALL DELAY10MSWEFH:LCALL DELAY60USRETREADCOD</p><p><b> 鍵盤子程序:&l
92、t;/b></p><p> START:NOP ;程序開始</p><p> LCALL CH_KEY ;檢查鍵盤</p><p> AJMP START ;返回</p><p> CH_KEY:LCALL KS ;檢查有沒有按鍵按下</p>
93、<p><b> JNZ LK1</b></p><p> AJMP CH_KEY</p><p> LK1:LCALL T12MS</p><p><b> ACALL KS</b></p><p><b> JNZ LK2</b></p
94、><p><b> RET</b></p><p><b> LK2:NOP</b></p><p> LCALL SBIE ;按鍵識別子程序</p><p> MOV BUFF, A ;送緩沖區(qū)以識別是數(shù)字鍵還是功能鍵?</p><p> LCALL
95、CH_KF ;判斷按鍵功能。</p><p> JB FLAG1 ,KEY_FUN ;標志為1,則為功能鍵 超溫報警程序:DIV: MOV R2,#08H;1kz持續(xù)時間 DIV1:MOV R3,#0FAH DIV2:CPL P3.3;輸出1khz方波
96、LCALL D5ms;調(diào)用延時程序1 DJNZR3,DLV2;持續(xù)1秒 DJNZ R2,DIV1 MOV R2,#10H;2khz持續(xù)時間 DIV3:MOV R3,#0FAH DI4:CPL
97、60;P3.3;輸出2khz方波 LCALL D25ms;調(diào)用延時程序2 DJNZ R3,DIV4 DJNZ R2,DIV3 SIMP DIV;反復循環(huán) D5MS:MOV R7,#0FF
98、H;延時子程序1 LOOP:NOP NOP DJNZ R7,LOOP RET D25MS:MOVR6,#0FFH;延時子程序2 LIN:DJNZ R6,LIN RET繼電器控制程序:STA
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于單片機實現(xiàn)的溫度控制器課程設計
- 單片機課程設計--溫度控制器的設計
- 單片機課程設計---基于單片機控制的時鐘控制器
- 單片機課程設計---基于單片機的定時控制器設計
- 單片機課程設計——基于單片機的步進電機控制器設計
- 單片機課程設計---單片機節(jié)日彩燈控制器
- 單片機課程設計——基于單片機的步進電機控制器設計
- 單片機課程設計----空調(diào)溫度控制器的設計
- 單片機數(shù)字傳感器課程設計-- 溫度控制器
- 單片機課程設計-時間控制器
- 計算機控制技術課程設計---基于單片機的糧倉溫度控制系設計
- 單片機課程設計報告--基于單片機的步進電機控制器的設計
- 單片機溫度控制課程設計
- 基于單片機的計算器設計-單片機課程設計
- 單片機溫度控制器
- 單片機課程設計--基于51單片機溫度傳感器設計
- 單片機課程設計---基于單片機的溫度控制智能電風扇
- 單片機課程設計:彩燈控制器設計
- 基于51單片機的脈沖控制器-課程設計
- 單片機課程設計--基于51單片機的溫度控制系統(tǒng)設計
評論
0/150
提交評論