版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、基于單片機的恒溫箱控制系統(tǒng)設(shè)計電子信息工程 王鋒摘要 恒溫控制在工業(yè)生產(chǎn)過程中舉足輕重,溫度的控制直接影響著工業(yè)生產(chǎn)的產(chǎn)量和質(zhì)量。本設(shè)計是基于AT89C51單片機的恒溫箱控制系統(tǒng),系統(tǒng)分為硬件和軟件兩部分,其中硬件包括:溫度傳感器、顯示、控制和報警的設(shè)計;軟件包括:鍵盤管理程序設(shè)計、顯示程序設(shè)計、控制程序設(shè)計和溫度報警程序設(shè)計。編寫程序結(jié)合硬件進行調(diào)試,能夠?qū)崿F(xiàn)設(shè)置和調(diào)節(jié)初始溫度值,進行數(shù)碼管顯示,當(dāng)加熱到設(shè)定值后立刻報警。另外,本系統(tǒng)通過軟件實現(xiàn)對按鍵誤差、加熱過沖的調(diào)整,以提高系統(tǒng)的安全性、可靠性和穩(wěn)定性。本設(shè)計從實際應(yīng)用出發(fā)選取了體積小、精度相對高的數(shù)字式溫度傳感元件DS18B20作為溫
2、度采集器,單片機AT89C51作為主控芯片,數(shù)碼管作為顯示輸出,實現(xiàn)了對溫度的實時測量與恒定控制。關(guān)鍵詞 單片機;溫度傳感器;恒溫;控制;報警The Design of Refrigerator Door Shell Shaping Control System Based on Siemens WINCCElectronicInformationEngineeringWANGFengAbstract: The system makes use of the single chip AT89C51 as the temperature controlling center, uses nume
3、ral thermometer DS18B20 which transmits as 1-wire way as the temperature sensor, through the pressed key, the numerical code demonstrated composite of the man-machine interactive connection ,to realize set and adjust the initial temperature value. After the system works, the digital tube will demons
4、trate the temperature value, when temperature arriving to the setting value, the buzzer will be work immediately. In addition, the system through the software adjusting to the pressed key error, and the excessively hutting. All of these are in order to enhance the systems security, reliability and s
5、tability.Keywords: DS18B20;MCU;Constant temperature control; 1-wire transmission目錄1引言12系統(tǒng)概述12.1簡述13設(shè)計思路分析24方案論證24.1溫度傳感器24.2顯示部分24.3輸出控制35硬件設(shè)計及工作原理35.1系統(tǒng)功能及工作流程介紹35.2功能模塊55.3系統(tǒng)硬件設(shè)計5DS18B20測溫電路5DS18B20的特點介紹6單線(1-wire)技術(shù)6DS18B20的引腳及功能介紹7輸出控制電路9溫度越線報警電路106系統(tǒng)的應(yīng)用軟件設(shè)計106.1軟件描述10鍵盤管理模塊10顯示模塊11控制模塊11溫度報警模塊1
6、2主程序和中斷服務(wù)程序流程127系統(tǒng)調(diào)試與仿真147.1 硬件調(diào)試14脫機檢查14仿真調(diào)試14檢查CPU的時鐘電路14對擴展的RAM、ROM進行檢查調(diào)試157.2 軟件調(diào)試15交叉匯編15用匯編語言15手工匯編157.3 系統(tǒng)仿真158抗干擾技術(shù)188.1硬件抗干擾技術(shù)188.2軟件抗干擾技術(shù)189系統(tǒng)制作與測試19結(jié)束語21參 考 文 獻22致謝231引言溫度控制是工業(yè)生產(chǎn)過程中經(jīng)常遇到的過程控制,特別是在冶金、化工、建材、食品、機械、石油等工業(yè)中,具有舉足重輕的作用,其溫度的控制效果直接影響著產(chǎn)品的質(zhì)量,因而設(shè)計一種較為理想的溫度控制系統(tǒng)是非常有價值的。對于不同場所、不同工藝、所需溫度高低
7、范圍不同、精度不同,則采用的測溫元件、測溫方法以及對溫度的控制方法也將不同;產(chǎn)品工藝不同、控制溫度的精度不同、時效不同,則對數(shù)據(jù)采集的精度和采用的控制算法也不同。因而,對溫度的測控方法多種多樣。隨著電子技術(shù)和微型計算機的迅速發(fā)展,微機測量和控制技術(shù)也得到了迅速的發(fā)展和廣泛的應(yīng)用。利用微機對溫度進行測控的技術(shù),也便隨之而生,并得到日益發(fā)展和完善,越來越顯示出其優(yōu)越性。然而現(xiàn)有的溫度傳感元件大多為模擬器件(熱電耦)體積大、應(yīng)用復(fù)雜、而且不容易實現(xiàn)數(shù)字化等缺點,阻礙了應(yīng)用領(lǐng)域的擴展。本設(shè)計從實際應(yīng)用出發(fā)選取了體積小、精度相對高的數(shù)字式溫度傳感元件DS18B20作為溫度采集器,單片機AT89C51作為
8、主控芯片,數(shù)碼管作為顯示輸出,實現(xiàn)了對溫度的實時測量與恒定控制。2系統(tǒng)概述2.1簡述單片機已經(jīng)在測控中獲得了廣泛的應(yīng)用,它除了可以測量電信號以外,還可以用于溫度、濕度等非電信號的測量,能獨立工作的單片機溫度檢測、溫度控制系統(tǒng)已經(jīng)廣泛應(yīng)用到很多領(lǐng)域。單片機的接口信號是數(shù)字電信號,要想用單片機獲取溫度這類非電信號的信息,毫無疑問,必須使用溫度傳感器。溫度傳感器的作用是將溫度信息轉(zhuǎn)換為電流或電壓輸出,如果轉(zhuǎn)換后的電流或電壓輸出是模擬信號,那么還必須進行A/D轉(zhuǎn)換,以滿足單片機接口的需要。傳統(tǒng)的溫度檢測大多以熱敏電阻為溫度傳感器,但熱敏電阻的可靠性差、測量溫度準(zhǔn)確率低,而且必須經(jīng)過專門的接口電路轉(zhuǎn)換成
9、數(shù)字信號后才能由單片機進行處理。隨著微電子技術(shù)的發(fā)展,單片微處理器功能日益增強,價格低廉,在各方面得到廣泛應(yīng)用。在溫度控制器中應(yīng)用單片機,具有設(shè)計簡單、可靠性高、控制精度高,功能易擴展,有較強的通用性等優(yōu)點。溫度控制器主要實現(xiàn)對恒溫箱溫度的控制,并滿足不同用戶的個性需求。因此一個較完善的控制器應(yīng)具有以下功能: 溫度的測量與顯示;用戶設(shè)定功能(如溫度設(shè)定,定時設(shè)定等); 對電加熱管的控制功能; 一些功能鍵(如定時自動加熱,恒溫控制,手動加熱等); 安全措施(漏電檢測,安全失效保護,限溫保護等)。本文將采用一種數(shù)字溫度傳感器來實現(xiàn)基于51單片機的恒溫箱控制系統(tǒng)設(shè)計。整個控制系統(tǒng)分為硬件電路設(shè)計和軟
10、件程序設(shè)計兩部分。3設(shè)計思路分析設(shè)計51單片機的恒溫箱控制系統(tǒng)設(shè)計時,需要考慮下面3個方面的內(nèi)容: 選擇合適的溫度傳感器芯片。顯然,本文中的核心器件是單片機和溫度傳感器,單片機采用常用的51單片機即可,而溫度傳感器的選擇則需慎重。 單片機和溫度傳感器的接口電路設(shè)計。 控制溫度傳感器實現(xiàn)溫度信息采集以及數(shù)據(jù)傳輸?shù)能浖O(shè)計。4方案論證4.1溫度傳感器方案一:采用熱敏電阻,可滿足4090的測量范圍,但熱敏電阻精度、重復(fù)性、可靠性都比較差,其測量溫度范圍相對較小,穩(wěn)定性較差,不能滿足本系統(tǒng)溫度控制的范圍要求。方案二:采用溫度傳感器鉑電阻 Pt1000。鉑熱電阻的物理化學(xué)性能在高溫和氧化性介質(zhì)中很穩(wěn)定,
11、它能用作工業(yè)測溫元件,且此元件線性較好。在 0100 攝氏度時,最大非線性偏差小于 0.5 攝氏度。鉑熱電阻與溫度關(guān)系是,Rt = R0(1+At+Bt*t) ;其中 Rt 是溫度為 t 攝氏度時的電阻;R0 是溫度為 0 攝氏度時的電阻;t 為任意溫度值,A,B 為溫度系數(shù)。方案三:采用模擬溫度傳感器AD590K,AD590K具有較高精度和重復(fù)性(重復(fù)性優(yōu)于0.1),其良好的非線性可以保證優(yōu)于±0.1的測量精度。但其測量的值需要經(jīng)過運算放大、模數(shù)轉(zhuǎn)換再傳給單片機,硬件電路較復(fù)雜,調(diào)試也會相對困難,所以本系統(tǒng)不宜采用此法。方案四:采用數(shù)字溫度傳感器DS18B20,DS18B20提供九
12、位溫度讀數(shù),測量范圍-55125,采用獨特1-WIRE 總線協(xié)議,只需一根口線即實現(xiàn)與MCU 的雙向通訊,具有連接簡單,高精度,高可靠性等特點。并且,DS18B20支持一主多從,若想實現(xiàn)多點測溫,可方便擴展。綜合以上四種方案,本設(shè)計采用第四種方案,利用數(shù)字溫度計DS18B20作為溫度傳感器。4.2顯示部分方案一:采用I/O口直接驅(qū)動,需要占用大量可貴的I/O口資源,且系統(tǒng)運行后,更換元件不易,不符合系統(tǒng)設(shè)計的可靠性、易擴展性原則。方案二:采用串行口驅(qū)動、靜態(tài)顯示,利用單片機的串行口輸出數(shù)據(jù),顯示多位數(shù)碼,可節(jié)省大量的I/O口,但每個數(shù)碼管必須有一個驅(qū)動芯片,且每位段碼須接一個限流電阻,所須元件
13、多,硬件電路比較復(fù)雜。方案三:采用串行口驅(qū)動、動態(tài)掃描顯示,利用單片機的串行口輸出數(shù)據(jù),顯示多位數(shù)碼,多個數(shù)碼管可共用驅(qū)動芯片和限流電阻。這樣既可以簡化硬件電路,又可以節(jié)省大量的I/O口線,為功能擴展留下空間。綜合以上三種方案,本設(shè)計采用方案三:串行口驅(qū)動、動態(tài)顯示。根據(jù)系統(tǒng)具體指標(biāo)要求,可以對每一個具體部分進行分析設(shè)計。4.3輸出控制方案一:采用繼電器,易于控制,且實行比較簡單,但強電和弱電不能很好的隔離,抗干擾能力極差。方案二:采用光電藕合器,控制信號與輸出信號可以很好的隔離,增強了系統(tǒng)的安全性和抗干擾能力。綜合以上兩種方案,本設(shè)計采用光電藕合器控制負(fù)載工作。5硬件設(shè)計及工作原理5.1系統(tǒng)
14、功能及工作流程介紹根據(jù)恒溫箱控制器的功能要求,并結(jié)合對51系列單片機的資源分析,即單片機軟件編程自由度大,可用編程實現(xiàn)各種控制算法和邏輯控制。所以采用AT89C51作為電路系統(tǒng)的控制核心。恒溫箱控制器的總體布局如圖1所示。按鍵將設(shè)置好的溫度值傳給單片機,通過溫度顯示模塊顯示出來。初始溫度設(shè)置好后,單片機開啟輸出控制模塊,使電熱器開始加熱,同時將從數(shù)字溫度傳感器DS18B20測量到的溫度值實時的顯示出來,當(dāng)加熱到設(shè)定溫度值時,單片機控制聲光報警模塊,發(fā)出聲光報警,同時關(guān)閉加熱器。當(dāng)自然冷卻到設(shè)定溫度3攝氏度以下時,單片機再次啟動加熱器,如此循環(huán)反復(fù),以達到恒溫控制的目的。系統(tǒng)結(jié)構(gòu)框圖如圖1所示,
15、系統(tǒng)基本硬件電路圖如圖2所示,在本系統(tǒng)中,DP1DP3用于七段數(shù)碼顯示;P1.0用于接收DS18B20采集到的數(shù)字溫度信號;FUZA1控制光電開關(guān),決定電加熱器是否工作;K1K3用于按鍵控制;BELL和P1.4、P1.5用于控制揚聲器和發(fā)光二極管,進行聲光報警;串行口用于輸出顯示段碼;P2.0、P2.1用于對數(shù)碼管進行動態(tài)掃描。圖1 系統(tǒng)結(jié)構(gòu)框圖圖2 基本硬件電路圖5.2功能模塊根據(jù)上面對工作流程的分析,系統(tǒng)軟件可以分為以下幾個功能模塊:(1) 鍵盤管理:監(jiān)測鍵盤輸入,接收溫度預(yù)置,啟動系統(tǒng)工作。(2) 顯示:顯示設(shè)置溫度及當(dāng)前溫度。(3) 溫度檢測及溫度值變換:完成A/D轉(zhuǎn)換及數(shù)字濾波。(4
16、) 溫度控制:根據(jù)檢測到的溫度控制電爐工作。(5) 報警:當(dāng)預(yù)置溫度或當(dāng)前爐溫越限時報警。5.3系統(tǒng)硬件設(shè)計DS18B20測溫電路DS18B20數(shù)字溫度計是Dallas公司生產(chǎn)的1Wire器件,即單總線器件。與傳統(tǒng)的熱敏電阻有所不同,DS18B20可直接將被測溫度轉(zhuǎn)化成串行數(shù)字信號,以供單片機處理,具有連線簡單、微型化、低功耗、高性能、抗干擾能力強、精度高等特點。因此用它來組成一個測溫系統(tǒng),具有電路簡單,在一根通信線上可以掛很多這樣的數(shù)字溫度計,十分方便。目前已被眾多行業(yè)進行廣泛的運用(鍋爐、溫控表糧庫、冷庫、工業(yè)現(xiàn)場溫度監(jiān)控、儀器儀表溫度監(jiān)控、農(nóng)業(yè)大棚溫度監(jiān)控等)。通過編程,DS18B20可
17、以實現(xiàn)912位的溫度讀數(shù)。信息經(jīng)過單線接口送入DS18B20或從DS18B20送出,因此從微處理器到DS18B20僅需連接一條信號線和地線。讀、寫和執(zhí)行溫度變換所需的電源可以由數(shù)據(jù)線本身提供,而不需要外部電源。每片DS18B20在出廠時都設(shè)有唯一的產(chǎn)品序列號,因此多個DS18B20可以掛接于同一條單線總線上,這允許在許多不同的地方放置溫度傳感器,特別適合于構(gòu)成多點溫度測控系統(tǒng)。DS18B20的特點介紹(1)獨特的單線接口方式,與單片機通信只需一個引腳,DS18B20與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與DS18B20的雙向通訊。 (2)在使用中不需要任何外圍元件。 (3)可用數(shù)據(jù)線供
18、電,電壓范圍:+3.0+5.5 V。 (4)測溫范圍為-55 +125 。在-10+85范圍內(nèi)誤差為0.5 。 (5)通過編程可實現(xiàn)912位的數(shù)字讀數(shù)方式。 (6)用戶可自設(shè)定非易失性的報警上下限值。 (7)支持多點組網(wǎng)功能,通過識別芯片各自唯一的產(chǎn)品序列號從而實現(xiàn)單線多掛接,多個DS18B20可以并聯(lián)在唯一的線上,簡化了分布式溫度檢測的應(yīng)用,實現(xiàn)多點測溫。 (8)負(fù)壓特性,電源極性接反時,溫度計不會因發(fā)熱而燒毀,但不能正常工作。(9)告警尋找命令可以識別和尋址那些溫度超出預(yù)設(shè)告警界限的器件。單線(1-wire)技術(shù) 目前常用的微機和外設(shè)之間數(shù)據(jù)傳輸?shù)拇锌偩€有I2C總線、SPI總線等,其中,
19、I2C總線采用同步串行兩線(一根時鐘線、一根數(shù)據(jù)線)方式,而SPI總線采用同步串行三線(一根時鐘線、一根輸入線和一根數(shù)據(jù)出線)方式。這兩種總線需要至少兩根或兩根以上的信號線。美國達拉斯半導(dǎo)體公司推出了一項特有的單線(1-wire)技術(shù)。該技術(shù)與上述總線不同,它采用單根信號線,即可傳輸時鐘,又能傳輸數(shù)據(jù),而且數(shù)據(jù)傳輸是雙向的,因而這種單線技術(shù)具有線路簡單、硬件開銷少、成本低廉、便于擴展的優(yōu)點。單線技術(shù)適用于單主機系統(tǒng),單主機能夠控制一個或多個從機設(shè)備。主機可以是微控制器,從機可以是單線器件,它們之間的數(shù)據(jù)交換、控制都由這根線完成。主機或從機通過一個漏極開路或三態(tài)端口連至數(shù)據(jù)線,以允許設(shè)備在不發(fā)送
20、數(shù)據(jù)時能夠釋放該線,而讓其他設(shè)備使用。單線通常要外接一個約5K的上拉電阻,這樣,當(dāng)該線閑置時,其狀態(tài)為高電平。主機和從機之間的通信主要分3個步驟:初始化單線器件、識別單線器件和單線數(shù)據(jù)傳輸。由于只有一根線通信,所以它們必須是嚴(yán)格的主從結(jié)構(gòu),只有主機呼叫從機時,從機才能應(yīng)答,主機訪問每個單線器件必須嚴(yán)格遵循單線命令序列,即遵守上述3個步驟的順序。如果命令序列混亂,單線器件將不會響應(yīng)主機。所有的單線器件都要遵循嚴(yán)格的協(xié)議,以保證數(shù)據(jù)的完整性。1-wire協(xié)議由復(fù)位脈沖、應(yīng)答脈沖、寫0、寫1、讀0和讀1這幾種信號類型組成。這些信號中,除了應(yīng)答脈沖,其他均由主機發(fā)起,并且所有命令和數(shù)據(jù)都是字節(jié)的地位在
21、前。DS18B20的引腳及功能介紹DS18B20的外形及TO92封裝引腳排列見左圖,其引腳功能描述見表1,實測溫度和數(shù)字輸出的對應(yīng)關(guān)系見表2.表1 DS18B20詳細(xì)引腳功能描述序號名稱引腳功能描述1GND地信號2DQ數(shù)據(jù)輸入/輸出引腳。開漏單總線接口引腳。當(dāng)被用著在寄生電源下,也可以向器件提供電源。3VDD可選擇的VDD引腳。當(dāng)工作于寄生電源時,此引腳必須接地。表2 溫度值分辨率配置表溫度數(shù)字輸出(二進制)數(shù)字輸出(十六進制)+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H+25.06250000 0001 1001 000101
22、91H+10.1250000 0000 1010 001000A2h+0.50000 0000 0000 10000008H00000 0000 0000 0000000H-0.51111 1111 1111 0000FFF8H-10.1251111 1111 0101 1110FF5EH-25.06251111 1110 0110 1111FF6FH-551111 1100 1001 0000FC90H DS18B20的使用方法 由于DS18B20采用的是1Wire總線協(xié)議方式,即在一根數(shù)據(jù)線實現(xiàn)數(shù)據(jù)的雙向傳輸,而對AT89S51單片機來說,硬件上并不支持單總線協(xié)議,因此,我們必須采用軟件的
23、方法來模擬單總線的協(xié)議時序來完成對DS18B20芯片的訪問。 由于DS18B20是在一根I/O線上讀寫數(shù)據(jù),因此,對讀寫的數(shù)據(jù)位有著嚴(yán)格的時序要求。DS18B20有嚴(yán)格的通信協(xié)議來保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。該協(xié)議定義了幾種信號的時序:初始化時序、讀時序、寫時序。所有時序都是將主機作為主設(shè)備,單總線器件作為從設(shè)備。而每一次命令和數(shù)據(jù)的傳輸都是從主機主動啟動寫時序開始,如果要求單總線器件回送數(shù)據(jù),在進行寫命令后,主機需啟動讀時序完成數(shù)據(jù)接收。數(shù)據(jù)和命令的傳輸都是低位在先。(1) DS18B20的復(fù)位時序,見圖3圖3 DS18B20的復(fù)位時序圖置總線為低電平并保持至少480us,然后拉高電平
24、,等待從端重新拉低電平作為響應(yīng),則總線復(fù)位完成。(2) DS18B20的讀時序,見圖4。圖4 DS18B20的讀時序圖對于DS18B20的讀時序分為讀0時序和讀1時序兩個過程。對于DS18B20的讀時隙是從主機把單總線拉低之后,在15秒之內(nèi)就得釋放單總線,以讓DS18B20把數(shù)據(jù)傳輸?shù)絾慰偩€上。DS18B20在完成一個讀時序過程,至少需要60us才能完成。 (3) DS18B20的寫時序 ,見圖5。圖5 DS18B20的寫時序圖對于DS18B20的寫時序仍然分為寫0時序和寫1時序兩個過程。對于DS18B20寫0時序和寫1時序的要求不同,當(dāng)要寫0時序時,單總線要被拉低至少60us,保證DS18B
25、20能夠在15us到45us之間能夠正確地采樣IO總線上的“0”電平,當(dāng)要寫1時序時,單總線被拉低之后,在15us之內(nèi)就得釋放單總線。 (4) DS18B20在電路中的連接,見圖6。1- wire總線支持一主多從式結(jié)構(gòu),硬件上需外接上拉電阻。當(dāng)一方完成數(shù)據(jù)通信需要釋放總線時,只需將總線置高點平即可;若需要獲得總線進行通信時則要監(jiān)視總線是否空閑,若空閑,則置低電平獲得總線控制權(quán)。圖6 DS18B20測溫電路輸出控制電路MOC3041內(nèi)部帶有過零控制電路,MOC3041輸出端額定電壓為400V。加熱電路中采用MOC3041的目的有兩個:其一是實現(xiàn)強電與弱電的隔離;其二是實現(xiàn)雙向可控硅的過零觸發(fā),從
26、而使流過雙向可控硅的電流波形為正弦波,減少諧波。電路連接如圖6所示,其在電路中的工作原理是單片機根據(jù)傳感器和設(shè)定開關(guān)輸入的控制指令,控制電器的電源通斷。Q2為MAC97A6型小型塑封雙向晶閘管,其最大通態(tài)電流為1A。當(dāng)電源控制電路的輸出管腳送出的開關(guān)控制指令為高電平,MOC3041截止,Q2截止,電器被關(guān)閉;當(dāng)電源控制電路送出的開關(guān)控制指令為低電平,MOC3041導(dǎo)通,Q2導(dǎo)通,電器被打開。通過MOC3041內(nèi)部的過零觸發(fā)電路,保證Q2在電壓過零時導(dǎo)通和截止,對供電系統(tǒng)干擾極小。R8和C6是Q2的保護電路。圖7 光耦控制輸出溫度越線報警電路報警電路如圖8所示,該電路采用一個小功率三極管Q1驅(qū)動
27、蜂鳴器BELL,當(dāng)單片機接收到超額溫度信號或危險信號時,輸出腳BELL輸出高點平,Q1導(dǎo)通,致使蜂鳴器BELL得電工作,發(fā)出報警聲。同時,電路中的發(fā)光二極管指示出電路的工作狀態(tài)。圖8 報警電路6系統(tǒng)的應(yīng)用軟件設(shè)計6.1軟件描述在軟件設(shè)計時,必須先弄清恒溫控制系統(tǒng)的操作過程和工作過程。加熱器開始時處于停止?fàn)顟B(tài),首先設(shè)定溫度,顯示器顯示溫度,溫度設(shè)定后則可以啟動加熱。溫度檢測系統(tǒng)不斷檢測并顯示系統(tǒng)中的實時溫度,當(dāng)達到設(shè)定值后停止加熱,當(dāng)溫度下降到下限(小于設(shè)定值3)時再自動啟動加熱,這樣不斷的循環(huán),使溫度保持在設(shè)定范圍之內(nèi)。啟動加熱以后就不能再設(shè)定溫度,因為溫度的設(shè)定可以根據(jù)實驗要求改變。若要改變
28、設(shè)定的溫度,可以先按復(fù)位停止鍵再重復(fù)上述過程。根據(jù)以上對操作和工作過程的分析,程序應(yīng)分為兩個階段:一是通電或復(fù)位后到啟動加熱,程序主要是按鍵設(shè)定、顯示器顯示設(shè)定溫度;二是檢測并顯示系統(tǒng)的實時溫度,并根據(jù)檢測的結(jié)果控制電熱器,這時系統(tǒng)不接收鍵盤的輸入。因此,程序可以分為以下幾個功能模塊:溫度設(shè)定和啟動;顯示;溫度檢測;溫度控制以及報警。鍵盤管理模塊鍵盤管理子程序流程如圖9所示。圖9 鍵盤處理程序流程當(dāng)通電或復(fù)位以后,系統(tǒng)進入鍵盤管理狀態(tài),單片機只接收設(shè)定溫度和啟動。當(dāng)檢測到有鍵閉合時先去除抖動,這里采用軟件延時的方法,延時一段時間后,再確定是否有鍵閉合,然后將設(shè)定好的值送入預(yù)置溫度數(shù)據(jù)區(qū),并調(diào)用
29、溫度合法檢測報警程序,當(dāng)設(shè)定溫度超過最大值如90時就會報警,最后當(dāng)啟動鍵閉合時啟動加熱。鍵盤設(shè)定:用于溫度設(shè)定。共三個按鍵。 KEY1(P1.1): 狀態(tài)切換;溫度設(shè)置確認(rèn);溫度重新設(shè)置。KEY2(P1.2): 設(shè)置溫度“+”。KEY3(P1.3): 設(shè)置溫度“-”。 系統(tǒng)上電后,數(shù)碼管全部顯示為零,根據(jù)按 KEY1 次數(shù),決定顯示的狀態(tài),根據(jù)相應(yīng)的狀態(tài),利用KEY2、KEY3進行加減,當(dāng)溫度設(shè)定好之后,再按KEY1確定,系統(tǒng)開始測溫,開啟加熱器。顯示模塊顯示子程序的功能是將緩沖區(qū)的二進制數(shù)據(jù)先轉(zhuǎn)換成3個BCD碼,再將其分別存入百位、十位、個位3個顯示緩沖區(qū),送往串行口,利用單片機的P2口進行
30、掃描,讓數(shù)據(jù)動態(tài)的顯示出來,可顯示設(shè)置溫度和測量溫度??刂颇K溫度控制子程序流程如圖10所示,將當(dāng)前溫度與設(shè)定好的溫度比較,當(dāng)當(dāng)前溫度小于設(shè)定溫度時,開啟電熱器;當(dāng)當(dāng)前溫度大于設(shè)定溫度時,關(guān)閉電熱器;當(dāng)二者相等時,電熱器保持這一狀態(tài)。圖10 控制模塊程序流程溫度報警模塊報警子程序流程如圖11所示。根據(jù)設(shè)計要求,當(dāng)檢測到當(dāng)前溫度值高于設(shè)定溫度值3時報警,報警的同時關(guān)閉電熱器。為了防止誤報,設(shè)置了報警允許標(biāo)志,只有在允許報警的情況下,溫度值高于設(shè)定溫度值時才報警。圖11 報警子程序流程主程序和中斷服務(wù)程序流程主程序采用中斷嵌套方式設(shè)計,各功能模塊可直接調(diào)用。主程序完成系統(tǒng)的初始化,溫度預(yù)置及其合法
31、性檢測,預(yù)置溫度的顯示及定時器0設(shè)置。定時器0中斷服務(wù)子程序是溫度控制體系的主體,用于溫度檢測、控制和報警(包括啟動溫度轉(zhuǎn)換、讀入采樣數(shù)據(jù)、數(shù)字濾波、越限溫度報警和越限處理、輸出控制脈沖等)。中斷由定時器0產(chǎn)生,根據(jù)需要每隔15 s中斷一次,即每15 s采樣控制一次。但系統(tǒng)采用6 MHz晶振,最大定時為130 ms,為實現(xiàn)15 s定時,這里另行設(shè)了一個軟件計數(shù)器。圖12 主程序流程圖圖13 中斷服務(wù)程序流程圖7系統(tǒng)調(diào)試與仿真7.1 硬件調(diào)試根據(jù)設(shè)計的原理電路做好實驗樣機,便進入硬件調(diào)試階段。調(diào)試工作的主要任務(wù)是排除樣機故障,其中包括設(shè)計錯誤和工藝性故障。脫機檢查用萬能表或邏輯測試筆逐步按照邏輯
32、圖檢查機中各器件的電源及各引腳的連接是否正確,檢查數(shù)據(jù)總線、地址總線和控制總線是否有短路等故障。有時為保護芯片,先對各管座的電位(或電源)進行檢查,確定其無誤后再插入芯片檢查。 仿真調(diào)試暫時排除目標(biāo)板的CPU和EPROM,將樣機接上仿真機的40芯仿真插頭進行調(diào)試,調(diào)試各部分接口電路是否滿足設(shè)計要求。這部分工作是一種經(jīng)驗性很強的工作,一般來說,設(shè)計制作的樣機不可能一次性完好,總是需要調(diào)試的。通常的方法是,先編調(diào)試軟件,逐一檢查調(diào)試硬件電路系統(tǒng)設(shè)計的準(zhǔn)確性。檢查CPU的時鐘電路通過測試ALE信號,如沒有ALE信號,則判斷是晶體或CPU故障,這稱之為“心臟”檢查。 檢查ABUS/DBUS的分時復(fù)用功
33、能的地址鎖存是否正常。 檢查I/O地址分配器。一般是由部分譯碼或全譯碼電路構(gòu)成,如是部分譯碼設(shè)計,則排除地址重疊故障。對擴展的RAM、ROM進行檢查調(diào)試一般先后寫入55H、AAH,再讀出比較,以此判斷是否正常。因為這樣RAM、ROM的各位均寫入過0、1代碼。7.2 軟件調(diào)試軟件調(diào)試 軟件調(diào)試根據(jù)開發(fā)的設(shè)備情況可以有以下方法:交叉匯編用IBM PC/XT機對MCS51系列單片機程序進行交叉匯編時,可借助IBM PC/XT機的行編輯和屏幕編輯功能,將源程序按規(guī)定的格式輸入到PC機,生成MCS51 HEX目標(biāo)代碼和LIST文件。 用匯編語言現(xiàn)在有些單片STD工業(yè)控制機或者開發(fā)系統(tǒng),可直接使用匯編語言
34、,借助CRT進行匯編語言調(diào)試。 手工匯編這種方法是最原始,但又是一種最簡捷的調(diào)試方法,且不必增加調(diào)試設(shè)備。這種方法的實質(zhì)就是對照MCS51指令編碼表,將源程序指令逐條地譯成機器碼,然后輸入到RAM重新進行調(diào)試。在進行手工匯編時,要特別注意轉(zhuǎn)移指令、調(diào)用指令、查表指令。必須準(zhǔn)確無誤地計算出操作碼、轉(zhuǎn)移地址和相對偏移量,以免出錯。 以上3種方法調(diào)試完成以后,即可通過EPROM寫入器,將目標(biāo)代碼寫入EPROM中,并將其插至機器的相應(yīng)插座上,系統(tǒng)便可投入運行。7.3 系統(tǒng)仿真因本系統(tǒng)是利用單片機進行系統(tǒng)控制,所以需采用單片機仿真工具Proteus進行仿真。Proteus軟件是來自英國Labcenter
35、 electronics公司的EDA工具軟件,Proteus軟件有十多年的歷史,在全球廣泛使用,除了其具有和其它EDA工具一樣的原理布圖、PCB自動或人工布線及電路仿真的功能外,其革命性的功能是,他的電路仿真是互動的,針對微處理器的應(yīng)用,還可以直接在基于原理圖的虛擬原型上編程,并實現(xiàn)軟件源碼級的實時調(diào)試,如有顯示及輸出,還能看到運行后輸入輸出的效果,配合系統(tǒng)配置的虛擬儀器如示波器、邏輯分析儀等,Proteus為使用者建立了完備的電子設(shè)計開發(fā)環(huán)境! Proteus產(chǎn)品系列也包含了革命性的VSM技術(shù)8,用戶可以對基于微控制器的設(shè)計連同所有的周圍電子器件一起仿真,是一款非常優(yōu)秀的單片機仿真軟件??梢?/p>
36、使用Keil c51和 Proteus進行聯(lián)調(diào),使調(diào)試、仿真更為方便。由于Proteus軟件庫內(nèi)沒有本系統(tǒng)所用到的DS18B20測溫元件,所以在仿真時,系統(tǒng)電路作了一些調(diào)整。首先畫好仿真圖,將程序的二進制文件調(diào)入單片機對話框的Program File欄內(nèi),如圖14 所示。圖14 二進制文件的調(diào)入 仿真開始時,仿真圖如圖15所示,數(shù)碼管都顯示為零,只有紅色“未加熱狀態(tài)燈”D1亮。圖15 剛啟動的仿真圖 在設(shè)置好溫度值如100攝氏度并按SET鍵確定后,數(shù)碼管顯示實時溫度值26攝氏度,系統(tǒng)開始進入加熱狀態(tài),如圖16所示。綠色“加熱狀態(tài)燈”D2亮,黃色“輸出控制狀態(tài)燈”D3亮,系統(tǒng)控制加熱器對水進行加
37、熱。圖16 系統(tǒng)啟動加熱仿真圖 系統(tǒng)啟動加熱一段時間后,達到設(shè)定的溫度值,系統(tǒng)停止加熱,狀態(tài)燈D1重新點亮,如圖17所示。圖17 系統(tǒng)進入保溫狀態(tài)仿真圖8抗干擾技術(shù)8.1硬件抗干擾技術(shù)光電隔離: 在輸入和輸出通道上采用光電隔離器來進行信息傳輸是很有好處的,它將微機系統(tǒng)與各種傳感器、開關(guān)、執(zhí)行機構(gòu)從電氣上隔離開來,很大一部分干擾將被阻擋。抗干擾電源: 微機系統(tǒng)供電線路是干擾的主要來源,電源采用隔離變壓器接入電網(wǎng),可以防止電網(wǎng)的干擾侵入微機系統(tǒng)。配置去耦電容: 原則上每個集成電路芯片都應(yīng)安置一個0.01mF的陶瓷電容器,可以消除大部分高頻干擾。良好接地: 在既有模擬電路又有數(shù)字電路中,數(shù)字地與模擬地要分開,最后只在一點相連,如果兩者不分,則會互相干擾。8.2軟件抗干擾技術(shù)人工復(fù)位: 對于失控的CPU,最簡單的方法是使其復(fù)位,程序自動從0000H開始執(zhí)行。
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年式通勤車租賃合同
- 《動態(tài)獎懲機制下裝配式建筑質(zhì)量鏈參與主體演化博弈研究》
- 《旋后肌綜合征“三線定位法”診斷意義及臨床應(yīng)用研究》
- 《漸進式膈肌鍛煉對肺癌圍手術(shù)期患者肺康復(fù)效果的影響》
- 《miR-219a-5p在人骨髓間充質(zhì)干細(xì)胞成骨分化中的作用及機制研究》
- 2024年那曲公交車從業(yè)資格證考試題庫
- 2024年阿壩小型客運從業(yè)資格證考試題答案
- 2024年貴港道路旅客運輸駕駛員繼續(xù)教育試題
- 2024年度物流運輸合同:物流公司與托運人就貨物運輸、保險等事項
- 2024年齊齊哈爾道路運輸從業(yè)資格證考試
- 腦卒中基本知識課件
- 高效溝通與管理技能提升課件
- 消防維保方案 (詳細(xì)完整版)
- 四年級上冊英語課件- M3U1 In the school (Period 3 ) 上海牛津版試用版(共15張PPT)
- 檔案館建設(shè)標(biāo)準(zhǔn)
- 高邊坡支護專家論證方案(附有大量的圖件)
- 蘇教版五年級上冊數(shù)學(xué)試題-第一、二單元 測試卷【含答案】
- 人員定位礦用井口唯一性檢測系統(tǒng)
- 電力系統(tǒng)數(shù)據(jù)標(biāo)記語言E語言格式規(guī)范CIME
- 歷史紀(jì)年與歷史年代的計算方法
- 快遞物流運輸公司 國際文件樣本 形式發(fā)票樣本
評論
0/150
提交評論