![智能儀器課程設(shè)計_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/10/572d2d21-2028-4698-b09b-52d140c8e2aa/572d2d21-2028-4698-b09b-52d140c8e2aa1.gif)
![智能儀器課程設(shè)計_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/10/572d2d21-2028-4698-b09b-52d140c8e2aa/572d2d21-2028-4698-b09b-52d140c8e2aa2.gif)
![智能儀器課程設(shè)計_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/10/572d2d21-2028-4698-b09b-52d140c8e2aa/572d2d21-2028-4698-b09b-52d140c8e2aa3.gif)
![智能儀器課程設(shè)計_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/10/572d2d21-2028-4698-b09b-52d140c8e2aa/572d2d21-2028-4698-b09b-52d140c8e2aa4.gif)
![智能儀器課程設(shè)計_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/10/572d2d21-2028-4698-b09b-52d140c8e2aa/572d2d21-2028-4698-b09b-52d140c8e2aa5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、智能儀器工程設(shè)計課程設(shè)計報告智能儀器工程設(shè)計課程設(shè)計報告姓 名 學(xué) 號: 學(xué) 院: 系(專業(yè)): 題 目: 智能溫度測控儀 2012年05月10日- 30 -溫度控制系統(tǒng)的設(shè)計摘要: 本設(shè)計以AT89S51單片機為核心的溫度控制系統(tǒng)的工作原理和設(shè)計方法。溫度信號由溫度芯片DS18B20采集,并以數(shù)字信號的方式傳送給單片機。文中介紹了該控制系統(tǒng)的硬件部分,包括:溫度檢測電路、溫度控制電路、PC機與單片機串口通訊電路和一些接口電路 。單片機通過對信號進行相應(yīng)處理,從而實現(xiàn)溫度控制的目的。文中還著重介紹了軟件設(shè)計部分,在這里采用模塊化結(jié)構(gòu),主要模塊有:數(shù)碼管顯示程序、鍵盤掃描及按鍵處理程序、溫度信號
2、處理程序、繼電器控制程序、超溫報警程序。目 錄1 引言12 設(shè)計說明13 工作原理14 方案設(shè)計與論證24.1 主控制部分 34.2 測量部分 35 各單元的設(shè)計 85.1 鍵盤單元85.2 溫度控制及超溫和超溫警報單元 105.3 溫度控制器件電路115.4 溫度測試單元 115.5七段數(shù)碼管顯示單元115.6 接口通訊單元 136 電源輸入單元147 程序設(shè)計157.1 概 述157.2 程序結(jié)構(gòu)分析 167.3 主程序 178. 測試分析 17結(jié)論 18附錄A使用說明 19附錄B程序清單 191 引言溫度控制系統(tǒng)廣泛應(yīng)用于社會生活的各個領(lǐng)域 ,如家電、汽車、材料、電力電子等 ,常用的控制
3、電路根據(jù)應(yīng)用場合和所要求的性能指標有所不同 , 在工業(yè)企業(yè)中,如何提高溫度控制對象的運行性能一直以來都是控制人員和現(xiàn)場技術(shù)人員努力解決的問題。這類控制對象慣性大,滯后現(xiàn)象嚴重,存在很多不確定的因素,難以建立精確的數(shù)學(xué)模型,從而導(dǎo)致控制系統(tǒng)性能不佳,甚至出現(xiàn)控制不穩(wěn)定、失控現(xiàn)象。傳統(tǒng)的繼電器調(diào)溫電路簡單實用 ,但由于繼電器動作頻繁 ,可能會因觸點不良而影響正常工作。控制領(lǐng)域還大量采用傳統(tǒng)的PID控制方式,但PID控制對象的模型難以建立,并且當擾動因素不明確時,參數(shù)調(diào)整不便仍是普遍存在的問題。而采用數(shù)字溫度傳感器DS18B20,因其內(nèi)部集成了A/D轉(zhuǎn)換器,使得電路結(jié)構(gòu)更加簡單,而且減少了溫度測量轉(zhuǎn)
4、換時的精度損失,使得測量溫度更加精確。數(shù)字溫度傳感器DS18B20只用一個引腳即可與單片機進行通信,大大減少了接線的麻煩,使得單片機更加具有擴展性。由于DS18B20芯片的小型化,更加可以通過單跳數(shù)據(jù)線就可以和主電路連接,故可以把數(shù)字溫度傳感器DS18B20做成探頭,探入到狹小的地方,增加了實用性。更能串接多個數(shù)字溫度傳感器DS18B20進行范圍的溫度檢測。2 設(shè)計說明 設(shè)計基于單片計算機的溫度控制器,用于控制溫度。具體如下: 1. 溫度連續(xù)可調(diào),范圍為0-40 2. 超調(diào)量%20% 3. 溫度誤差±0.5 4. 人-機對話方便 3 工作原理溫度傳感器 DS18B20 從設(shè)備環(huán)境的不
5、同位置采集溫度,單片機 AT89S51 獲取采集的溫度值,經(jīng)處理后得到當前環(huán)境中一個比較穩(wěn)定的溫度值,再根據(jù)當前設(shè)定的溫度上下限值,通過加熱和降溫對當前溫度進行調(diào)整。當采集的溫度經(jīng)處理后超過設(shè)定溫度的上限時,單片機通過三極管驅(qū)動繼電器開啟降溫設(shè)備 (壓縮制冷器) ,當采集的溫度經(jīng)處理后低于設(shè)定溫度的下時 , 單片機通過三極管驅(qū)動繼電器開啟升溫設(shè)備 (加熱器) 。 當由于環(huán)境溫度變化太劇烈或由于加熱或降溫設(shè)備出現(xiàn)故障,或者溫度傳感頭出現(xiàn)故障導(dǎo)致在一段時間內(nèi)不能將環(huán)境溫度調(diào)整到規(guī)定的溫度限內(nèi)的時候,單片機通過三極管驅(qū)動揚聲器發(fā)出警笛聲。 系統(tǒng)中將通過串口通訊連接PC機存儲溫度變化時的歷史數(shù)據(jù),以便
6、觀察整個溫度的控制過程及監(jiān)控溫度的變化全過程。PC機加熱器繼電器2DS18B20 溫度芯片數(shù)據(jù)傳輸鍵盤電路MAX232電平轉(zhuǎn)換芯片 片AT89S518BIT CPU數(shù)據(jù)顯示超溫報警輸入電源壓縮制冷器繼電器1 N3-1工作原理圖4 方案設(shè)計4.1 溫度測量部分方案DS18B20是DALLAS公司生產(chǎn)的一線式數(shù)字溫度傳感器,它具有微型化、低功耗、高性能抗干擾能力、強易配處理器等優(yōu)點,特別適合用于構(gòu)成多點溫度測控系統(tǒng),可直接將溫度轉(zhuǎn)化成串行數(shù)字信號(按9位二進制數(shù)字)給單片機處理,且在同一總線上可以掛接多個傳感器芯片,它具有三引腳TO-92小體積封裝形式,溫度測量范圍55125,可編程為912位A/
7、D轉(zhuǎn)換精度,測溫分辨率可達0.0625,被測溫度用符號擴展的16位數(shù)字量方式串行輸出,其工作電源既可在遠端引入,業(yè)可采用寄生電源方式產(chǎn)生,多個DS18B20可以并聯(lián)到三根或者兩根線上,CPU只需一根端口線就能與多個DS18B20通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路。從而可以看出DS18B20可以非常方便的被用于遠距離多點溫度檢測系統(tǒng)。綜上,在本系統(tǒng)中我采用溫度芯片DS18B20測量溫度。該芯片的物理化學(xué)性很穩(wěn)定,它能用做工業(yè)測溫元件,且此元件線形較好。在0100攝氏度時,最大線形偏差小于1攝氏度。該芯片直接向單片機傳輸數(shù)字信號,便于單片機處理及控制。圖4-1溫度芯片DS18
8、B204.2 主控制部分方案AT89S51 是一個低功耗,高性能CMOS 8位單片機,片內(nèi)含8k Bytes ISP(In-system programmable)的可反復(fù)擦寫1000次的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)制造,兼容標準MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲單元,功能強大的微型計算機的AT89S51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價比的解決方案。AT89S51具有如下特點:40個引腳,4k Bytes Flash片內(nèi)程序存儲器,128 bytes的隨機存取數(shù)據(jù)存儲器(RAM),3
9、2個外部雙向輸入/輸出(I/O)口,5個中斷優(yōu)先級2層中斷嵌套中斷,2個16位可編程定時計數(shù)器,2個全雙工串行通信口,看門狗(WDT)電路,片內(nèi)時鐘振蕩器。此外,AT89S51設(shè)計和配置了振蕩頻率可為0Hz并可通過軟件設(shè)置省電模式。空閑模式下,CPU暫停工作,而RAM定時計數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。同時該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。由于系統(tǒng)控制方案簡單 ,數(shù)據(jù)量也不大 ,考慮到電路的簡單和成本等因素 ,因此在本設(shè)計中選用 A TMEL 公司的 A T89S5
10、1單片機作為主控芯片。主控模塊采用單片機最小系統(tǒng)是由于 A T89S51芯片內(nèi)含有4 kB的 E2PROM ,無需外擴存儲器 ,電路簡單可靠 ,其時鐘頻率為 024 MHz ,并且價格低廉 ,批量價在 10元以內(nèi)。其主要功能特性: 兼容MCS-51指令系統(tǒng) 4k可反復(fù)擦寫(>1000次)ISP Flash ROM 32個雙向I/O口 4.5-5.5V工作電壓 2個16位可編程定時/計數(shù)器 時鐘頻率0-33MHz 全雙工UART串行中斷口線 128x8 bit內(nèi)部RAM 2個外部中斷源 低功耗空閑和省電模式 中斷喚醒省電模式 3級加密位 看門狗(WDT)電路 軟件設(shè)置空閑和省電功能 靈活的
11、ISP字節(jié)和分頁編程 雙數(shù)據(jù)寄存器指針 可以看出AT89S51提供以下標準功能:4K字節(jié)Flash閃速存儲器,128字節(jié)內(nèi)部RAM,32個I/O口線,看門狗(WDT),兩個數(shù)據(jù)指針,兩個16位定時器/計數(shù)器,一個5向量兩級中斷結(jié)構(gòu),一個全雙工串行通信口,片內(nèi)振蕩器及時鐘。同時, AT89S51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時/計數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式何在RAM中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直接到一個硬件復(fù)位。AT89S51引角功能說明Vcc:電源電壓GND:地P0口:P0口是一組8
12、位漏極開路型雙向I/O口,也即地址/數(shù)據(jù)總線復(fù)用口,作為輸出口用時,每位能驅(qū)動8個TTL邏輯門電路,對端口寫“1”可作為高阻抗輸入端口。在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。在Flash編程時,P0口接收指令字節(jié),而在程序校驗時,輸出指令字節(jié),校驗時,要求外接上拉電阻。P1口:P1是一個帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號校驗期間,P1接收低
13、8位地址。表4-1為P1口第二功能。表4-1 P1口第二功能端口引腳第二功能P1.5MOSI(用于ISP編程)P1.6MISO(用于ISP編程)P1.7SCK(用于ISP編程)P2口:P2是一個帶有內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級可驅(qū)動4個TTL邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流I。在訪問位地址的外部數(shù)據(jù)存儲器(如執(zhí)行:MOVX Ri 指令)時,P2口線上的內(nèi)(也即特殊功能寄存器,在整個訪問期間不改變。Flash 編程或校驗時,P2也接收高位地址和其它控制信
14、號。)P3口:P3口是一組帶有內(nèi)部上拉電阻的8位雙向I/O口。P3口輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對P3口寫入“1”時,它們被內(nèi)部上拉電阻拉高并可作為輸入端口。作輸入端口時,被外部拉低的P3口將用上拉電阻輸出電流I。P3口除了作為一般的I/O口線外,更重要的用途是它的第二功能,P3口的第二功能如下表4-2。 表4-2 P3口的第二功能 端口功能第二功能端口引腳第二功能RXD(P3.0)串行輸入口T0(P3.4)定時/計數(shù)器0外部輸入TXD(P3.1)串行輸出口T1(P3.5)定時/計數(shù)器1外部輸入INT0(P3.2)外中斷0WR(P3.6)外部數(shù)據(jù)存儲器寫選通INT1
15、(P3.3)外中斷1RD(P3.7)外部數(shù)據(jù)存儲器讀選通RST:復(fù)位輸入。當振蕩工作時,RST引腳出現(xiàn)兩個機器周期上高電平將使單片機復(fù)位。WDT益出將使該引腳輸出高電平,設(shè)置SFR AUXR 的 DISRTO 位(地址8EH)可打開或關(guān)閉該功能。DISRTO 位缺省為RESET輸出高電平打開狀態(tài)。ALE/PROG:當訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。即使不訪問外部存儲器,ALE仍以時鐘振蕩頻率的1/6輸出的正脈沖信號,因此它可對外輸出時鐘或用于定時目地,要注意的是:第當訪問外部數(shù)據(jù)存儲器時將跳過一個ALE脈沖。如有必要,可通過對特殊功能寄
16、存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位禁位后,只有一條MOVX 和MOVC指令A(yù)LE才會被激活。此外,該引腳伎被微弱拉高,單片機執(zhí)行外部程序時,應(yīng)設(shè)置ALE無效。PSEN:程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當AT89S51由外部程序存儲器取指令(或數(shù)據(jù))時,每個機器周期兩次PSEN有效,即輸出兩個脈沖。當訪問外部數(shù)據(jù)存儲器,高有兩次有效的PSEN信號。EA/VPP:外部訪問允許。欲使CPU公訪問外部程序存儲器(地址0000HFFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時內(nèi)部會鎖存EA端狀態(tài)。如EA端為高
17、電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲器中的指令。Flash存儲器編程時,該引腳加上12V的編程電壓Vpp。XTAL1:振蕩器反相放大器及內(nèi)部時鐘發(fā)生器的輸入端。XTAL2:振蕩器反相放大器的輸出端。AT89S51單片機內(nèi)部構(gòu)造及功能:特殊功能寄存器:特殊功能寄存器的片內(nèi)空間分存如下圖3-2所示。這些地址并沒有全部占用,沒有占用的地址不可使用,讀這些地址將得到一個隨意的數(shù)值。而寫這些地址單元將不能得到預(yù)期的結(jié)果。中斷寄存器:各中斷允許控制位于IE寄存器,5個中斷源的中斷優(yōu)先級控制位于IP寄存器。圖4-2為AUXR輔助寄存器。圖4-2 AUXR輔助寄存器雙時鐘指針寄存器:為方便地訪問內(nèi)部和
18、外部數(shù)據(jù)存儲器,提供了兩個16位數(shù)據(jù)指針寄存儲器:PD0位于SFR區(qū)塊中的地址82H、83H和DP1位于地址84H、85H,當SFR中的位DPS=0時選擇DP0,而DPS=1時選擇DP1。在使用前初始化DPS。圖4-3 雙時鐘指針寄存器電源空閑標志:電源空閑標志(POF)在特殊功能寄存儲器SFR中PCON的第4位(PCON.4),電源打開時POF置“1”,它可由軟件設(shè)置睡眠狀態(tài)并不為復(fù)位所影響。存儲器結(jié)構(gòu):MCS-51單片機內(nèi)核采用程序存儲器和數(shù)據(jù)存儲器空間分開的結(jié)構(gòu),均具有64KB外部程序和數(shù)據(jù)的尋址空間。程序存儲器:如果EA引腳接地(GND),全部程序均執(zhí)行外部存儲器。在AT89S51,假
19、如接至Vcc(電源),程序首先執(zhí)行從地址0000H0FFFH(4KB)內(nèi)部程序存儲器,再執(zhí)行地址為1000HFFFFH(60KB)的外部程序存儲器。數(shù)據(jù)存儲器:在AT89S51的具有128字節(jié)的內(nèi)部RAM,這128字節(jié)可利用直接或間接尋址方式訪問,堆棧操作可利用間接尋址方式進行,128字節(jié)均可設(shè)置為堆棧區(qū)空間??撮T狗定時器(WDT):WDT是為了解決CPU程序運行時可能進入混亂或死循環(huán)而設(shè)置,它由一個14bit計數(shù)器和看狗復(fù)位SFR(WDTRST)構(gòu)成。外部復(fù)位時,WDT默認為關(guān)閉狀態(tài),要打開WDT,必按順序?qū)?1H和0E1H寫到WDTRST寄存器,當啟動了WDT,它會隨晶體振蕩器在每個機器周
20、期計數(shù),除硬件復(fù)位或WDT溢出復(fù)位外沒有其它方法關(guān)閉WDT,當WDT溢出,將使RST引腳輸出高電平的復(fù)位脈沖。引腳圖詳見圖4-4 圖4-4 AT89S51單片機引腳圖 5 各單元的設(shè)計 5.1鍵盤單元單片機應(yīng)用系統(tǒng)中除了復(fù)位按鍵有專門的復(fù)位電路,以及專一的復(fù)位功能外,其它的按鍵或鍵盤都是以開關(guān)狀態(tài)來設(shè)置控制功能或輸入數(shù)據(jù)。 鍵開關(guān)狀態(tài)的可靠輸入 :為了去抖動我采用軟件方法,它是在檢測到有鍵按下時,執(zhí)行一個10ms的延時程序后,再確認該鍵電平是否仍保持閉合狀態(tài)電平,如保持閉合狀態(tài)電平則確認為真正鍵按下狀態(tài),從而消除了抖動影響在這種行列式矩陣鍵盤非編碼鍵盤的單片機系統(tǒng)中,鍵盤處理程序首先執(zhí)行等待按
21、鍵并確認有無按鍵按下的程序段。當確認有按鍵按下后,下一步就要識別哪一個按鍵按下。對鍵的識別通常有兩種方法:一種是常用的逐行掃描查詢法;另一種是速度較快的線反轉(zhuǎn)法。對照圖示的4*4鍵盤,說明線反轉(zhuǎn)法工作原理。首先辨別鍵盤中有無鍵按下,有單片機I/O口向鍵盤送全掃描字,然后讀入行線狀態(tài)來判斷。方法是:向行線輸出全掃描字00H,把全部列線置為低電平,然后將列線的電平狀態(tài)讀入累加器A中。如果有按鍵按下,總會有一根行線電平被拉至低電平從而使行線不全為1。判斷鍵盤中哪一個鍵被按下是通過將列線逐列置低電平后,檢查行輸入狀態(tài)來實現(xiàn)的。方法是:依次給列線送低電平,然后查所有行線狀態(tài),如果全為1,則所按下的鍵不在
22、此列;如果不全為1,則所按下的鍵必在此列,而且是在與零電平行線相交的交點上的那個鍵。鍵盤共有16個按鍵,用于方便設(shè)定溫度。90 , 數(shù)字按鍵,輸入數(shù)字0-9;確認 , 設(shè)置的確認,修改設(shè)置溫度時進行確認;清除 設(shè)置的清除,修改設(shè)置溫度時進行刪除;開啟 開啟電源關(guān)閉 關(guān)閉電源F1 顯示及設(shè)置轉(zhuǎn)換到溫度點1,按此按鍵后,顯示預(yù)設(shè)置溫度的數(shù)碼管閃爍;F2顯示及設(shè)置轉(zhuǎn)換到溫度點2,按此按鍵后,顯示預(yù)設(shè)置溫度的數(shù)碼管閃爍;表5-1鍵盤的按鍵分布P2.00123P2.14567P2.289F1F2P2.3清除開啟關(guān)閉確定P2.4P2.5P2.6P2.75.2溫度控制及超溫和超溫警報單元當采集的溫度經(jīng)處理后
23、超過規(guī)定溫度上限時,單片機通過 P1.4 輸出控制信號驅(qū)動三極管 D1 ,使繼電器 K1 開啟降溫設(shè)備 ( 壓縮制冷設(shè)備 ) :當采集的溫度經(jīng)處理后低于設(shè)定溫度下限時,單片機通過 P1.5 輸出控制信號驅(qū)動三極管 D2 ,使繼電器 K2 開啟升溫設(shè)備 ( 加熱器1) 。當由于環(huán)境溫度變化太劇烈或由于加熱或降溫設(shè)備出現(xiàn)故障,或者溫度傳感頭出現(xiàn)故障導(dǎo)致在一段時間內(nèi)不能將環(huán)境溫度調(diào)整到規(guī)定的溫度限內(nèi)的時候,單片機通過三極管驅(qū)動揚聲器發(fā)出警笛聲。具體電路連接如圖 5-1 所示。 圖5-1具體電路連接圖5.3溫度測試單元采用溫度芯片DS18B20。使用集成芯片,能夠有效的減小外界的干擾,提高測量的精度,
24、簡化電路的結(jié)構(gòu)。5.4 溫度控制器件電路單片機通過三極管控制繼電器的通斷,最后達到控制電熱器的目的。當溫度未達到要求時,單片機發(fā)送高電平信號使三極管飽和導(dǎo)通,繼電器使電源與電熱器接通,電熱器加熱。溫度慢慢升高。當溫度上升到預(yù)定溫度時,單片機發(fā)送低電平信號三極管進入截止狀態(tài),繼電器的彈片打到另一側(cè),使電熱器與電源斷開,電熱器停止加熱。繼電器電路中有一個三極管8050的保護電路,即將一個二極管反向接到三機管的兩端。連接方法如圖5-2所示。圖5-2 單片機控制信號其原理是:當繼電器突然斷電時,繼電器產(chǎn)生很大的反向電流。二極管的作用是將反向電流分流,使流過三級管8050的電流比較小,達到保護三極管80
25、50的作用。5.5七段數(shù)碼管顯示單元 本部分電路主要使用七段數(shù)碼管和移位寄存器芯片74LS164。單片機通過I2C總線將要顯示的數(shù)據(jù)信號傳送到移位寄存器芯片74LS164寄存,再由移位寄存器控制數(shù)碼管的顯示,從而實現(xiàn)移位寄存點亮數(shù)碼管顯示。由于單片機的時鐘頻率達到12M,移位寄存器的移位速度相當快,所以我們根本看不到數(shù)據(jù)是一位一位傳輸?shù)?。從人類視覺的角度上看,就仿佛是全部數(shù)碼管同時顯示的一樣。具體見實際連線圖如圖5-3。當清除端(CLEAR)為低電平時,輸出端(QAQH)均為低電平。 串行數(shù)據(jù)輸入端(A,B)可控制數(shù)據(jù)。當 A、B 任意一個為低電平,則禁止新數(shù)據(jù)輸入,在時鐘端(CLOCK)脈沖
26、上升沿作用下 Q0 為低電平。當 A、B 有一個為高電平,則另一個就允許輸入數(shù)據(jù),并在 CLOCK 上升沿作用下決定 Q0 的狀態(tài),邏輯封裝圖如圖5-3:圖5-3邏輯封裝圖引出端符號:CLOCK 時鐘輸入端;CLEAR 同步清除輸入端(低電平有效);A,B 串行數(shù)據(jù)輸入端;QAQH 輸出端。真值表:表5-2表5-2 真值表圖5-4 實際連線圖5.6接口通訊單元 max232資料簡介:該產(chǎn)品是由德州儀器公司(TI)推出的一款兼容RS232標準的芯片。由于電腦串口rs232電平是-10v +10v,而一般的單片機應(yīng)用系統(tǒng)的信號電壓是ttl電平0 +5v,max232就是用來進行電平轉(zhuǎn)換的,該器件包
27、含2驅(qū)動器、2接收器和一個電壓發(fā)生器電路提供TIA/EIA-232-F電平。該器件符合TIA/EIA-232-F標準,每一個接收器將TIA/EIA-232-F電平轉(zhuǎn)換成5-V TTL/CMOS電平。每一個發(fā)送器將TTL/CMOS電平轉(zhuǎn)換成TIA/EIA-232-F電平。主要特點 :1、單5V電源工作2、 LinBiCMOSTM工藝技術(shù)3、 兩個驅(qū)動器及兩個接收器4、 ±30V輸入電平5、低電源電流:典型值是8mA6、符合甚至優(yōu)于ANSI標準 EIA/TIA-232-E及ITU推薦標準V.287、ESD保護大于MIL-STD-883(方 法3015)標準的2000V5 1單片機有一個全
28、雙工的串行通訊口,所以單片機和電腦之間可以方便地進行串口通訊。進行串行通訊時要滿足一定的條件,比如電腦的串口是RS232電平的,而單片機的串口是TTL電平的,兩者之間必須有一個電平轉(zhuǎn)換電路,我采用了專用芯片MAX232進行轉(zhuǎn)換,雖然也可以用幾個三極管進行模擬轉(zhuǎn)換,但是還是用專用芯片更簡單可靠。在本設(shè)計中采用了三線制連接串口,也就是說和電腦的9針串口只連接其中的3根線:第5腳的GND、第2腳的RXD、第3腳的TXD。這是最簡單的連接方法,但是對我來說已經(jīng)足夠使用了,電路如下圖所示,MAX232的第10腳和單片機的11腳連接,第9腳和單片機的10腳連接,第15腳和單片機的20腳連接,串口通訊具體如
29、圖5-5圖5-5 通訊接口連線圖6 電源輸入部分 控制系統(tǒng)主控制部分電源需要用5V直流電源供電,其電路如圖6-1所示,把頻率為50Hz、有效值為220V的單相交流電壓轉(zhuǎn)換為幅值穩(wěn)定的5V直流電壓。其主要原理是把單相交流電經(jīng) 過電源變壓器、整流電路、濾波電路、穩(wěn)壓電路轉(zhuǎn)換成穩(wěn)定的直流電壓。 由于輸入電壓為電網(wǎng)電壓,一般情況下所需直流電壓的數(shù)值和電網(wǎng)電壓的有效值相差較大,因而電源變壓器的作用顯現(xiàn)出來起到降壓作用。降壓后還是交流電壓,所以需要整流電路把交流電壓轉(zhuǎn)換成直流電壓。由于經(jīng)整流電路整流后的電壓含有較大的交流分量,會影響到負載電路的正常工作。需通過低通濾波電路濾波,使輸出電壓平滑。穩(wěn)壓電路的功
30、能是使輸出直流電壓基本不受電網(wǎng)電壓波動和負載電阻變化的影響,從而獲得穩(wěn)定性足夠高的直流電壓。本電路使用集成穩(wěn)壓芯片7805解決了電源穩(wěn)壓問題。圖6-1電源部分連線圖7 程序設(shè)計7.1 程序結(jié)構(gòu)分析主程序調(diào)用了5個子程序,分別是數(shù)碼管顯示程序、鍵盤掃描及按鍵處理程序、溫度信號處理程序、繼電器控制程序、單片機與PC機串口通訊程序。鍵盤掃描電路及按鍵處理程序:實現(xiàn)鍵盤的輸入按鍵的識別及進入相應(yīng)的程序。溫度信號處理程序:對溫度芯片送過來的數(shù)據(jù)進行處理,進行判斷和顯示。數(shù)碼管顯示程序:向數(shù)碼的顯示送數(shù),控制系統(tǒng)的顯示部分。繼電器控制程序:控制繼電器動作串口通訊程序:實現(xiàn)PC機與單片機通訊,將溫度數(shù)據(jù)傳送
31、給PC機。圖7-1程序結(jié)構(gòu)圖7.2主程序程序開始的時候先設(shè)置初始化,然后就控制數(shù)碼管顯示當前溫度。接著就判斷F1、F2按鍵是否被按下。按下F1進入溫度控制點1的程序、按下F2進入溫度控制點2的程序。程序控制設(shè)置溫度的兩個數(shù)碼管閃爍的,此時鍵盤輸入有效。有按鍵按下的時候進入按鍵處理程序。按下“確定”按鍵后,程序進入判斷程序和繼電器控制程序。繼電器動作后,程序回到顯示當前程序,并開始循環(huán)。7.3 程序代碼(詳見附錄 程序清單)8. 測試分析1、測試環(huán)境環(huán)境溫度28攝氏度,室內(nèi)面積20平方米測試儀器:數(shù)字萬用表,溫度計0-100攝氏度2、測試方法使系統(tǒng)運行,采用溫度計同時測量室內(nèi)度變化情況,得出系統(tǒng)
32、測量的溫度。3、測試結(jié)果設(shè)定溫度由0攝氏度到40攝氏度標定溫差<=1攝氏度 調(diào)節(jié)時間 15s(具體視現(xiàn)場情況)靜態(tài)誤差<=0.5攝氏度 最大超調(diào)量1攝氏度4、通過測試分析,對于實際室內(nèi)的溫度控制,可以再提出以下 2 點方法 :增加傳感器個數(shù),對各個溫度傳感器采集的數(shù)據(jù)進行求算術(shù)平均,可得到較為準確的溫度值。 對實際室內(nèi)的溫度控制,可采用功率較大的電爐,并且通過風(fēng)扇對箱內(nèi)溫度進行充分攪和,降溫設(shè)備可采用空氣壓縮機等制冷設(shè)備。 5、通過實驗測試和分析,發(fā)現(xiàn)雖然傳感器的溫度采集精度最高可得到 0.06 ,但測試得到的數(shù)據(jù)最小間隔為 0.03 。通過分析,當對浮點數(shù)求平均處理時,遇到同一時
33、刻兩個傳感頭采集的溫度相差不大,使 0.06 時求出平均溫度變?yōu)?0.03 為了解該數(shù)據(jù)是否真實,可采用一個高精度的數(shù)字溫度計測試,發(fā)現(xiàn)讀出的值與其基本一致,由此推斷如果在同一時間增加采集溫度的個數(shù),則可以進一步提高溫度的精度。 結(jié) 論 在工業(yè)生產(chǎn)和日常生活中,對溫度控制系統(tǒng)的要求,主要是保證溫度在一定溫度范圍內(nèi)變化,穩(wěn)定性好,不振蕩,對系統(tǒng)的快速性要求不高。在論文中簡單分析了單片機溫度控制系統(tǒng)設(shè)計過程及實現(xiàn)方法。本系統(tǒng)的測溫范圍為-1040,溫度檢測系統(tǒng)根據(jù)用戶設(shè)定的溫度范圍完成一定范圍的溫度控制。89S51的時鐘最高可達12M,I/O口可達32個,高的時鐘頻率和豐富的
34、I/O,都為我們實現(xiàn)電路功能提供了非常有利的條件。同時也因為開發(fā)環(huán)境友好,易用,方便,大大加快本系統(tǒng)設(shè)計開發(fā)。本制作的設(shè)計中使用了繼電器控制的只是插座電路,因此,該系統(tǒng)的可擴展性很強。隨著插入插座的電器的不同,可以實現(xiàn)許多其它功能的電路。附錄A:使用說明1、將溫度控制箱上的開關(guān)全部打到“關(guān)”的位置2、將溫度芯片插到溫度控制箱的指定位置3、用串口線將溫度控制箱與計算機相連,打開相應(yīng)的應(yīng)用程序4、將用電器的插頭插到溫度控制箱的插座5、接上溫度控制箱的電源、并打開開關(guān)。在溫度控制箱上的數(shù)碼管顯示出當前溫度6、按F1鍵,進入溫度點1的設(shè)置。通過鍵盤設(shè)置所需要的溫度,然后按“確定”鍵。系統(tǒng)會將設(shè)置值與當
35、前值進行比較,通過溫度芯片的反饋,單片機控制加熱或冷卻水的溫度,使水的溫度穩(wěn)定在設(shè)置的溫度上。從而達到控制溫度的作用。7、 按F2鍵則相應(yīng)進入溫度點2 的設(shè)置。與F1鍵的使用方法相同。8、 當要關(guān)閉系統(tǒng)時,先關(guān)掉開關(guān),然后再拔掉電源??驁D表示:系統(tǒng)開始工作,直至工作結(jié)束,關(guān)閉電源按F1或F2進行溫度點1或溫度點2的設(shè)定確認溫度控制箱上的開關(guān)全部打到關(guān)的狀態(tài)接上溫度芯片,連接好電路,接上電源,打開開關(guān) 附錄B:程序清單主程序:ORG 0000H ;DS18B20.ASM DS18SL EQU 41H ;用于保存讀出溫度的低8位 DS18SH EQU 40H ;用于保存讀出溫度的高8位DS18FI
36、G 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 EQU 43H ;從低到高DS18CD3 EQU 44HDS18CD4 EQU 45HDS18CD5 EQU 46HDS18CD6 EQU 47HDS18CD7 EQU 48HDS18CD8 EQU 49HDS1864B EQU 4AHDS18ADS EQU 4BHDS18DQ
37、 EQU P1.0 ;30H,31H,32H,33H: X 個位 十位 XMOD7: MOV SP,#60HLCALL GET_TEMPER ;調(diào)用讀溫度子程序LCALL READCODEAJMP MOD7INIT_1820: ;DS18B20初始化SETB DS18DQCLR DS18DQ 延時,500US低MCMOV R7,#250DJNZ R7,$MOV R7,#150DJNZ R7,$SETB DS18DQ ;釋放總線LCALL DELAY60US ;15-60US的等待時間MOV R6,#4
38、SETDSDQ:LCALL DELAY60USJNB DS18DQ,SETDSDQFH ;60-240US內(nèi)是否有返回信號,為0跳DJNZ R6,SETDSDQMOV R7,#250DJNZ R7,$CLR DS18FIGRETSETDSDQFH:SETB DS18FIGMOV R7,#250 DJNZ R7,$MOV R7,#100DJNZ R7,$RET;數(shù)據(jù)處理程序:TEMP0: INC AAJMP TEMP1TEMPCOV: MOV A,DS18SL ;數(shù)據(jù)處理子程序TEMPCOVMOV B,#16DIV ABJB B.3,TEMP0TEMP1: MOV 34H,
39、A ;將DS18SL的高四位右移四位,存入34H中(溫度值)MOV A,B ;將DS18SL的低四位X10/16得小數(shù)后一位數(shù).MOV B,#10MUL ABMOV B,#16DIV ABMOV 30H,A ;將小數(shù)后一位數(shù).存入30H中MOV A,DS18SH ;DS18SH中存放高8位數(shù),權(quán)重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
40、中MOV A,DS18SHMOV 33H,#10H ;JB ACC.7,EXIT7MOV 33H,#00HEXIT7: RETGET_TEMPER: ;讀出轉(zhuǎn)換后的溫度值,并顯示SETB DS18DQLCALL INIT_1820 ;先復(fù)位DS18B20JB DS18FIG,TSS2RET ;判斷DS1820是否存在?若DS18B20不存在則返TSS2: MOV DS18ADS,#0DS18JX:LCALL DS18CODPMOV A,DS18ADSADD A,#9MOV DS18ADS,ACJNE A,#63,DS18JXRETDS18CODP:LCALL MRCOVT ;轉(zhuǎn)換指定的DS18
41、B20的溫度LCALL MRRDTEDP ;顯示溫度RETTEMP:LCALL INIT_1820JB DS18FIG,NEXT4RETNEXT4:MOV DS18ADS,#9MOV A,#0CCH ;SKIP ROMLCALL WRITE_1820MOV A,#44H ;溫度轉(zhuǎn)換命令LCALL WRITE_1820LCALL DELAY1SLCALL MRRDTEDPRET;寫DS18B20的子程序(有具體的時序要求)WRITE_1820: ;寫DS18B20MOV R5,#8DS18JXWE:SETB DS18DQ ;
42、初始化CLR DS18DQCLR DS18DQMOV R7,#5DJNZ R7,$ ;拉低15US內(nèi),寫入數(shù)據(jù)CLR CRRC AMOV DS18DQ,CLCALL DELAY60US ;持續(xù)60USSETB DS18DQ ;寫完一個位DJNZ R5,DS18JXWERETREAD_1820_CODE: ;讀取CODE 64位 MOV R4,#8 ;讀8次數(shù) MOV R1,#DS18CD1 ;低位地址存在R1DS18JXRD3:MOV R5,#8
43、60; ;8位數(shù)據(jù)DS18JXRD2:SETB DS18DQ CLR DS18DQ ;前兩句完成初始化NOPNOP ;延時至少1USSETB DS18DQ ;上升沿,并在,15US內(nèi)讀數(shù)MOV R7,#5DJNZ R7,$MOV C,DS18DQRRC ALCALL DELAY60US ;讀時序,最少60USDJNZ R5,DS18JXRD2MOV R1,AINC R1DJNZ R4,DS18JXRD3SETB DS18DQRET;讀DS18B20的程序
44、,從DS18B20中讀出兩個字節(jié)的溫度數(shù)據(jù)READ_18200: MOV R4,#2 ;讀兩次數(shù) MOV R1,#DS18SL ;低位地址存在R1DS18JXRD1:MOV R5,#8 ;8位數(shù)據(jù)DS18JXRD:SETB DS18DQ CLR DS18DQ ;前兩句完成初始化NOPNOP ;延時至少1USSETB DS18DQ ;上升沿,并在,15US內(nèi)讀數(shù)MOV R7
45、,#5DJNZ R7,$MOV C,DS18DQRRC ALCALL DELAY60US ;讀時序,最少60USDJNZ R5,DS18JXRDMOV R1,ADEC R1DJNZ R4,DS18JXRD1SETB DS18DQRETREAD_1820_1: ;讀取1位SETB DS18DQ CLR DS18DQCLR DS18DQCLR DS18DQSETB DS18DQMOV R7,#5DJNZ R7,$JB DS18DQ,WEFHLC
46、ALL DELAY10MSWEFH:LCALL DELAY60USRETREADCODE: ;讀取64位ROM,并顯示出來SETB DS18DQLCALL INIT_1820JB DS18FIG,NEXTRETNEXT:MOV A,#33HLCALL WRITE_1820LCALL READ_1820_CODELCALL DISPLAYCDRETDS1864SEN: ;送出64個位的數(shù)據(jù)MOV R4,#8MOV DPTR,#DS18TABDS1864SEN1:MOV A,DS1864BMOVC A,A+DPTRLCALL
47、WRITE_1820INC DS1864BDJNZ R4,DS1864SEN1RETMATCHROM:LCALL INIT_1820MOV A,#55H ;MARCH ROMLCALL WRITE_1820MOV DS1864B,DS18ADSLCALL DS1864SENRETMRCOVT: ;匹配ROM并發(fā)出溫度轉(zhuǎn)換命令LCALL MATCHROMMOV A,#44H ;發(fā)出溫度轉(zhuǎn)換命令LCALL WRITE_1820LCALL DELAY1SRETMRRDTEDP: ;匹配ROM并顯示轉(zhuǎn)換溫度LCALL INIT_1820LCA
48、LL MATCHROMMOV A,#0BEH ;發(fā)出讀取命令 LCALL WRITE_1820LCALL READ_18200LCALL TEMPCOVLCALL DISPLAY ;調(diào)用數(shù)碼管顯示子程序RET 鍵盤子程序: START:NOP ;程序開始 LCALL CH_KEY ;檢查鍵盤 AJMP START ;返回 CH_KEY:LCALL KS ;檢查有沒有按鍵按下 JNZ LK1 AJMP CH_KEY LK1:LCALL T12MS ACALL KS JNZ LK2 RET LK2:NOP LCALL SBIE ;按鍵識別子程序 MOV BUFF, A ;送緩沖區(qū)以識別是數(shù)字鍵還是功能鍵? LCALL CH_KF ;判斷按鍵功能。 JB FLAG1 ,KEY_FUN ;標志為1,則為功能鍵 超溫報警程序:DIV: MOV R2,#08H;1kz持續(xù)時間 DIV1:MOV R3,#0FAH DIV2:
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 城市公交燃油供應(yīng)協(xié)議
- 機械設(shè)備搬遷居間協(xié)議
- 汽車產(chǎn)業(yè)股權(quán)合作居間合同
- 創(chuàng)意市集裝修裝飾合同樣本
- 地鐵站陽臺綠化合同
- 個人購買混泥土合同范例
- 門的施工方案
- 代理運營店鋪合同范例
- 水下砼施工方案
- 合同范例設(shè)置教程封面
- 全國住戶收支調(diào)查業(yè)務(wù)知識考試復(fù)習(xí)題庫(含答案)
- 高中英語新課標詞匯表(附詞組)
- 2023年心理咨詢師之心理咨詢師基礎(chǔ)知識考試題庫附完整答案【有一套】
- 證券公司信用風(fēng)險和操作風(fēng)險管理理論和實踐中金公司
- 一級建造師繼續(xù)教育最全題庫及答案(新)
- 2022年高考湖南卷生物試題(含答案解析)
- GB/T 20909-2007鋼門窗
- GB/T 17854-1999埋弧焊用不銹鋼焊絲和焊劑
- GB/T 15593-2020輸血(液)器具用聚氯乙烯塑料
- 直線加速器專項施工方案
- 儲能設(shè)備項目采購供應(yīng)質(zhì)量管理方案
評論
0/150
提交評論