




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、基于 AT8951 單片機的烘箱的溫度控制系統(tǒng)摘要摘要隨著電子技術(shù)的飛速發(fā)展,自動控制、智能儀器、智能家電的廣泛應用,給社會帶來了巨大改變。單片機技術(shù)的發(fā)展給智能儀器、智能家電注入了新的活力。單片微型計算機的功能不斷增強,許多高性能的新型機種不斷涌現(xiàn)出來。單片機以其功能強、體積小、可靠性高、造價低和開發(fā)周期短等優(yōu)點,稱為自動化和各個測控領(lǐng)域中廣泛應用的器件,在工業(yè)生產(chǎn)中稱為必不可少的器件,而溫度是工業(yè)對象中主要的控制參數(shù)之一?,F(xiàn)代工業(yè)設計、工程建設及日常生活中常常需要用到溫度控制,早期溫度控制主要應用于工廠中,例如鋼鐵的水溶溫度,不同等級的鋼鐵要通過不同溫度的鐵水來實現(xiàn),這樣就可能有效的利用溫
2、度控制來掌握所需要的產(chǎn)品了。 設計中介紹了以 AT8951 單片機為核心的烘箱的溫度控制系統(tǒng)的工作原理和軟件設計方法。設計中詳細介紹了軟件設計部分,在這里采用模塊化結(jié)構(gòu),主要模塊有:主程序、中斷服務程序、采樣程序、報警程序、鍵盤/顯示程序以及 PID 計算程序等。此外,設計中還介紹了該系統(tǒng)的所用到的主要芯片,如 AT8951 單片機,A/D 轉(zhuǎn)換芯片 ADC0809等等。由于設計具有很強的通用性,所以本設計也可用于其它的溫度控制系統(tǒng)。全文分四個部分:一、AT89C51 單片機主要功能以及它的概述;二、控制系統(tǒng)的硬件電路組成部分;三、系統(tǒng)的軟件控制程序,四、系統(tǒng)抗干擾相關(guān)措施。整個電路包括主機、
3、模擬輸入輸出通道、A/D 轉(zhuǎn)換電路、鍵盤和顯示電路。在溫度傳感器和 A/D 轉(zhuǎn)換器的選擇方面,分別采用了 MAX6675 傳感器和 ADC0809 轉(zhuǎn)換器。在硬件設計方面,此設計中從單點溫度控制引申到多點溫度開關(guān)控制進行了詳細的介紹,并最終利用 AT89C51 單片機實現(xiàn)了烘箱的溫度控制。關(guān)鍵字: 單片機;溫度;A/D 轉(zhuǎn)換;PID ;ADC0809 ;MAX66752目錄目錄第一章 引言 .51.1 技術(shù)指標.51.2 控制方案設計.5第二章 AT89C51 單片機主要功能及它的概述 .62.1 單片機的基本組成和內(nèi)部結(jié)構(gòu).62.2 AT89C51 單片機引腳圖及各引腳的功能.8單片機主控電
4、路的主要元件 AT 89C51 引腳圖.8單片機各引腳功能 .8第三章 控制系統(tǒng)的硬件電路組成部分.113.1 烘箱溫度控制系統(tǒng)的工作原理及它的組成部分.11烘箱溫度控制系統(tǒng)的工作原理 .11烘箱溫度控制系統(tǒng)的組成部分 .113.2 溫度控制電路.123.3 溫度檢測電路.13溫度檢測和變送器 .13接口電路的設計 .14第四章 系統(tǒng)的軟件控制程序.164.1軟件的總體設計.16程序設計原則 .16各個功能模塊的功能說明 .16參數(shù)傳遞 .164.2 溫度檢測電路的設計.164.3 主程序清單.204.4 中斷服務程序設計.234.5 顯示子程序設計.254.6 鍵盤掃描處理程序.264.7
5、定時中斷子程序.274.8 數(shù)據(jù)字節(jié)與位定義.28第五章 系統(tǒng)抗干擾相關(guān)措施.2935.1 單片機系統(tǒng)中硬件抗干擾設計.29抑制干擾源常用措施 .29切斷干擾傳播途徑措施 .29提高敏感器件的抗干擾性能 .305.2 單片機系統(tǒng)軟件的抗干擾.30模擬輸入信號抗干擾 .30“死機”現(xiàn)象的克服 .315.3 系統(tǒng)復位特征.32上電標志的設定方法 .32軟件復位與中斷激活標志 .32程序失控后恢復運行的方法 .325.4 眠抗干擾.33第六章 結(jié)語 .344第一章第一章 引言引言隨著集成電路技術(shù)的發(fā)展,在冶金、機械、食品加工、化工等工業(yè)生產(chǎn)過程中,廣泛使用的各種加熱爐、熱處理爐、反應爐等,都是要求對
6、溫度進行嚴格控制的。在日常的生活中,電烤箱、微波爐、電熱水器、烘箱等等電器也是需要進行溫度的控制和檢測的。采用 MC-51 單片機對溫度進行控制,不僅具有控制方便、簡單和靈活等優(yōu)點,而且可以大幅度的提高溫度控制的技術(shù)指標。本次以烘箱的溫度控制系統(tǒng)為研究課題,說明單片機溫度控制的技術(shù)原理和系統(tǒng)的設計方法。1.1 技術(shù)指標技術(shù)指標 設計一個單片機溫度控制系統(tǒng),自動控制一個烘箱的溫度,要求烘箱的溫度在室溫至 90 度內(nèi)可以設置。溫度的控制精度小于等于正負 2 度。當不能保證所要求的溫度時,發(fā)出聲光警報信號。完成系統(tǒng)的硬件和軟件設計。1.2 控制方案設計控制方案設計本系統(tǒng)是以 AT89C51 單片機為
7、核心,是一個典型的溫度閉環(huán)控制系統(tǒng),需要完成的功能是溫度的設定、溫度的采集與顯示以及溫度的自動控制、報警等等。從技術(shù)指標可以看出,系統(tǒng)對控制精度的要求不高,對升降溫過程的線性也沒有要求,因此,系統(tǒng)采用最簡單的開關(guān)通斷控制方式,即當烘箱溫度到達設置值時斷開加熱爐,當溫度低于某值時接通電爐開始加熱,從而保持恒溫控制。5第二章第二章 AT89C51 單片機主要功能及它的概述單片機主要功能及它的概述 AT89C51 是一個低電壓,高性能 CMOS 8 位單片機,片內(nèi)含 4k bytes 的可反復擦寫的只讀程序存儲器(PEROM)和 128 bytes 的隨機存取數(shù)據(jù)存儲器(RAM) ,器件采用ATME
8、L 公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標準 MCS-51 指令系統(tǒng),片內(nèi)置通用 8 位中央處理器和 Flash 存儲單元,內(nèi)置功能強大的微型計算機的 AT89C51 提供了高性價比的解決方案。AT89C51 是一個低功耗高性能單片機,40 個引腳,32 個外部雙向輸入/輸出(I/O)端口,同時內(nèi)含 2 個外中斷口,2 個 16 位可編程定時計數(shù)器,2 個全雙工串行通信口,AT89C51 可以按照常規(guī)方法進行編程,也可以在線編程。其將通用的微處理器和 Flash 存儲器結(jié)合在一起,特別是可反復擦寫的 Flash 存儲器可有效地降低開發(fā)成本。此外, AT89C51 設有穩(wěn)態(tài)邏輯 ,可以在低到
9、零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU 停止工作。但 RAM,定時器 ,計數(shù)器 ,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存 RAM 的內(nèi)容并且凍結(jié)振蕩器 ,禁止所用其他芯片功能 ,直到下一個硬件復位為止。2.1 單片機的基本組成和內(nèi)部結(jié)構(gòu)單片機的基本組成和內(nèi)部結(jié)構(gòu) (1) 一個 8 位的 CPU,負責運算與控制作用 .(2) 128 字節(jié)數(shù)據(jù)存儲器 RAM.(3) 4K 字節(jié) Flash 程序存儲器 ROM.(4) 4 個 8 位并行 I/O 口,分別為 P0、P1、P2、P3.(5) 3 個 16 位定時器 .(6) 6 個獨立中斷源、 4 個中斷優(yōu)先級和
10、中斷控制系統(tǒng).(7) 一個可編程全雙工通用異步接收發(fā)送器UART(串行口 ).(8) 片內(nèi)時鐘振蕩器電路 .(9) 可尋址外部 64KB RAM 和 ROM 的總線擴展結(jié)構(gòu) .6圖 21 AT89C51 系列單片機內(nèi)部結(jié)構(gòu)框圖 圖 22 AT89C51 系列單片機內(nèi)部結(jié)構(gòu)簡化框圖80C51 系列單片機內(nèi)部結(jié)構(gòu)及功能部件P3口驅(qū)動器P1口驅(qū)動器P2口驅(qū)動器P0口驅(qū)動器RAM地址寄存器ARRAM128 字節(jié)P0口鎖存器P2口鎖存器P1口鎖存器P3口鎖存器堆棧指針SPSCON SBUF PCONTCON TMOD TL0TL1TH0TH1IEIPROM4K字節(jié)暫存器2ACCBPSWALU暫存器1指令
11、寄存器IR指令譯碼器ID定時與控制DPHDPLPC增量器程序計數(shù)器PC地址寄存器AR緩沖器振蕩器RSTEAALE PSENXTAL1XTAL2VSSVCC時鐘電路總線控制CPUROM/EPROM/FLASH4K 字節(jié)RAM 128字節(jié)SFR 21個定時/計數(shù)器2個中斷系統(tǒng)5中斷源、2優(yōu)先級串行口全雙工 2個并行口4個RST EA ALE PSENXTAL2XTAL1P0P1P2P3VCCVSS72.2 AT89C51 單片機引腳圖及各引腳的功能單片機引腳圖及各引腳的功能單片機主控電路的主要元件單片機主控電路的主要元件 ATAT 89C51 引腳圖引腳圖 AT89C51 單片機引腳如圖 2-1
12、所示:圖 2-1 AT89C51引腳圖AT89C51 單片機各引腳功能單片機各引腳功能(1)I/O 引腳(4832):P0,P1,P2,P3。1、P0 口:P0 口為一個 8 位漏級開路雙向 I/O 口,每腳可吸收 8TTL 門流。當 P1口的管腳第一次寫 1 時,被定義為高阻輸入。P0 能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在 FIASH 編程時,P0 口作為原碼輸入口,當 FIASH進行校驗時,P0 輸出原碼,此時 P0 外部必須被拉高。 2、P1 口:P1 口是一個內(nèi)部提供上拉電阻的 8 位雙向 I/O 口,P1 口緩沖器能接收輸出 4TTL 門電流。P1 口管腳
13、寫入 1 后,被內(nèi)部上拉為高,可用作輸入,P1 口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在 FLASH 編程和校驗時,P1 口作為第八位地址接收。 3、P2 口:P2 口為一個內(nèi)部上拉電阻的 8 位雙向 I/O 口,P2 口緩沖器可接收,輸出 4 個 TTL 門電流,當 P2 口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。8并因此作為輸入時,P2 口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2 口當用于外部程序存儲器或 16 位地址外部數(shù)據(jù)存儲器進行存取時,P2 口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行
14、讀寫時,P2 口輸出其特殊功能寄存器的內(nèi)容。P2 口在 FLASH 編程和校驗時接收高八位地址信號和控制信號。 4、P3 口:P3 口管腳是 8 個帶內(nèi)部上拉電阻的雙向 I/O 口,可接收輸出 4 個 TTL門電流。當 P3 口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3 口將輸出電流(ILL)這是由于上拉的緣故。P3 口也可作為AT89C51 的一些特殊功能口,如下表 2-2 所示:表 2-2 P3 口的第二功能口管腳備選功能P3.0 RXD串行輸入口P3.1 TXD串行輸出口P3.2 /INT0外部中斷 0P3.3 /INT1外部中斷 1P3.4
15、T0記時器 0 外部輸入P3.5 T1記時器 1 外部輸入P3.6 /WR外部數(shù)據(jù)存儲器寫選通P3.7 /RD外部數(shù)據(jù)存儲器讀選通P3 口同時為閃爍編程和編程校驗接收一些控制信號。(2)控制引腳(4 個):1、ALE地址鎖存使能。當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在 FLASH 編程期間,此引腳用于輸入編程脈沖。在平時,ALE 端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的 1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個 ALE 脈沖。如想禁止 ALE 的輸出可在 SFR8EH 地址上置 0。此時
16、, ALE 只有在執(zhí)行MOVX,MOVC 指令是 ALE 才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài) ALE 禁止,置位無效。2、/PSEN外部程序存儲器 ROM 的選通信號。在由外部程序存儲器 ROM 取指期間,每個機器周期兩次/PSEN 有效。但在訪問外部數(shù)據(jù)存儲器 RAM 時,這兩次有效的/PSEN信號將不出現(xiàn)。3、/EA/VPP/EA 訪問外部程序存儲器控制信號。當/EA 保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH) ,不管是否有內(nèi)部程序存儲器。注意加密方式 1 時,/EA 將內(nèi)部鎖定為 RESET;當/EA 端保持高電平時,此間內(nèi)部程序存儲器。在
17、 FLASH 編程期間,此引腳也用于施加 12V 編程電源(VPP) 。4、RSE復位。當晶振在運行中,只要復位管腳出現(xiàn) 2 個機械周期高電平即可9復位。內(nèi)部有擴散電阻連接到 Vss,僅需要外接一個電容到 Vcc 即可實現(xiàn)上電復位。(3)時鐘晶體引腳(2):1、XTAL1反相振蕩放大器輸入和內(nèi)部時鐘發(fā)生電路輸入。2、XTAL2反相振蕩放大器輸出。要使用外部時鐘源驅(qū)動器件時,XTL2 可以不連接而由 XTL1 驅(qū)動。外部時鐘信號無占空比的要求,因為時鐘通過觸發(fā)器二分頻輸入到內(nèi)部時鐘電路。(4)電源引腳(2)1、Vss地。2、Vcc電源。提供掉電、空閑、正常工作電壓.。10第三章第三章 控制系統(tǒng)的
18、硬件電路組成部分控制系統(tǒng)的硬件電路組成部分3.1 烘箱烘箱溫度控制系統(tǒng)的工作原理及它的組成部分溫度控制系統(tǒng)的工作原理及它的組成部分溫度控制系統(tǒng)的工作原理溫度控制系統(tǒng)的工作原理 根據(jù)烘箱控制的設定溫度范圍為 15至 90,控制誤差為2 的這一要求,烘箱的溫度控制系統(tǒng)可采用開關(guān)控制方案,通過一個繼電器隔離輸出控制電熱絲的通斷。當烘箱內(nèi)的溫度低于設定溫度時,繼電器就會閉合,電熱絲接通,使烘箱開始加熱溫度升高;反之則繼電器斷開,烘箱停上加熱。本系統(tǒng)是以 AT89C51 單片機為核心,組成的一個集溫度的采集、處理、顯示、自動控制為一身的溫度閉環(huán)控制系統(tǒng),其原理框圖見圖 3-1。圖中硬件組成主要由以下幾部
19、分組成:單片機信息處理、溫度采集、信號轉(zhuǎn)換、顯示、報警、鍵聲及控制部分。 具體工作如下:利用集成溫度傳感器實現(xiàn)對溫度的采集,然后信號通過運算放大器、保持器和 AD 轉(zhuǎn)換器將模擬量變?yōu)閿?shù)字量送入單片機進行處理。我們預先從鍵盤輸入一個溫度范圍(上限報警值和下限報警值),通過溫度采集系統(tǒng)檢測出環(huán)境的溫度,由數(shù)字顯示電路顯示出當時的實際溫度,當溫度高于或低于報警的上下限值時,報警器發(fā)聲,提醒工作人員此時溫度太高或太低,以做出相應的措施。 其中: 1、為使整個系統(tǒng)的運行更加完善,本系統(tǒng)在設計時匹配了矩陣式鍵盤以及由四位LED 數(shù)碼管組成的顯示器以顯示實際的溫度值及預置溫度值。 2、為提高系統(tǒng)的抗干擾能力
20、,在原有硬件的基礎(chǔ)上設計了電源檢測、報警等電路以促進整個系統(tǒng)的功能更加完善。溫度傳感器及 A/D 轉(zhuǎn)換器的選擇。 本系統(tǒng)采用熱電偶作為溫度傳感器。烘箱內(nèi)的溫度通過 K 分度熱電偶和其專用的數(shù)字轉(zhuǎn)換器 MAX6675 測得,它是 Maxim 公司新近推出的一個集成了熱電偶放大器、冷端補償、A/D 轉(zhuǎn)換器及 SPI 串口的熱電偶放大器與數(shù)字轉(zhuǎn)換器。該芯片的使用可使硬件電路大為簡化,調(diào)試更加方便。微處理器:本系統(tǒng)選用 AT89C51 單片機和 12MHZ 的晶振,每個機器周期為 1uS. 顯示及報警電路。顯示電路用用六個數(shù)碼管來顯示當前的目標溫度和實際溫度。采用直接驅(qū)動法驅(qū)動六個數(shù)碼管,共需 68=
21、48 個 I/O 線。而采用解碼器驅(qū)動也要1146=24 個 I/O 線,很顯然,我們的單片機沒有這么多可用的 I/O 口資源,因此,在這里采用動態(tài)掃描顯示法以節(jié)省 I/O 線。報警電路通過1.4 驅(qū)動蜂嗚器來實現(xiàn)。 溫度設定通過三個按鍵來完成設定,一個作為功能鍵,另外兩個分別用來增加和減小設定溫度值,因此采用的獨立式的鍵盤接口。在按鍵較多,一般采用行列式鍵盤接口,以節(jié)省 I/O 線。 驅(qū)動電路。本系統(tǒng)由三極管驅(qū)動繼電器來控控制電熱絲的通斷。在單片應用系統(tǒng)中,為防止現(xiàn)場強電磁的干擾或工頻電壓通過輸出通道反串到測控系統(tǒng),一般采用通道隔離技術(shù)。輸出通道的隔離最常用的是光電耦合器,簡稱光耦,常用的開
22、關(guān)量輸出接口除斷電器輸出外,還有雙向可控硅輸出,固態(tài)斷電器輸出等。 烘箱內(nèi)溫度經(jīng)熱電偶檢測、測量放大、模數(shù)轉(zhuǎn)換后送至單片機, 由單片機調(diào)用顯示程序顯示當前溫度, 并與設計定值相比較來決定電熱絲的通斷。功率驅(qū)動、輸出繼電器、電熱絲構(gòu)成一個輸出通道, 它與溫度采集電路一起構(gòu)成一個閉合回路,以保證箱內(nèi)溫度恒定.在控制器檢測到箱內(nèi)溫度超過極限值時, 報警電路動作。單片機譯碼器顯示參 數(shù) 存 儲報 警控 制D/A 轉(zhuǎn)換器鍵 盤傳感器保持器A / D轉(zhuǎn)換器電源檢測復 位時 鐘圖 3-1 溫度控制系統(tǒng)原理框圖123.2 溫度控制電路溫度控制電路8031 對溫度的控制是通過可控硅的調(diào)功方式來實現(xiàn),雙向可控硅
23、SCR 和加熱絲串接在交流 220V、50HZ 市電回路中。在給定周期 T 內(nèi),8031 只要改變可控硅管的接通時間即可改變加熱絲的功率,以達到調(diào)節(jié)溫度的目的??煽毓杞油〞r間可以通過可控硅控制極上觸發(fā)脈沖控制。該觸發(fā)脈沖由 8031 用軟件在 P1.3 引腳上產(chǎn)生,在過零同步脈沖同步后經(jīng)光電耦合管和驅(qū)動器輸出送到可控硅的控制極上。3.3 溫度檢測電路溫度檢測電路溫度檢測電路就是由溫度檢測和變送器、接口電路等組成的。本系統(tǒng)的溫度檢測的設計是以熱電偶為檢測元件的,相應的單片機溫度控制系統(tǒng)電路原理圖如圖 3-2 所示。圖 3-2 單片機溫度控制系統(tǒng)電路原理圖3.3.1 溫度檢測和變送器溫度檢測和變送
24、器溫度檢測元件及變送器的類型選擇與被控溫度的范圍和精度等級有關(guān)。對于 0-1000的測量范圍,采用鎳鉻/鎳鋁熱電偶,分度號為 EU,其相應的輸出信號為 0mV-41.32mV。 變送器由毫伏變送器和電流/電壓變送器組成:毫伏變送器用于把熱電偶輸出的130mV-41.32mV 變換成 4mA-20mA 的電流;電流/電壓變送器用于把毫伏變送器輸出的4mA-20mA 電流變換成 0-5V 的電壓。 為了提高測量的精度,變送器可以進行零點遷移。例如:若溫度測量范圍為 500-1000,則熱電偶輸出為 20.6mV-41.32mV,使毫伏變送器零點遷移后輸出 4mA-20mA范圍電流后,送入 ADC0
25、809 進入轉(zhuǎn)換,由 8 位 A/D 轉(zhuǎn)換器轉(zhuǎn)換為相應的數(shù)字量送入單片機。采取這種方案,能夠使量化溫度誤差達到 1.96以內(nèi),能夠滿足精度要求。接口電路采用 MCS-51 系列單片機 8031,外圍擴展并行接口 8155,程序存儲器EPROM2764,模數(shù)轉(zhuǎn)換器 ADC0809 等芯片。 由圖 3-3 可見,在 P2.0=0 和 P2.7=0 時,8155 選中它內(nèi)部的 RAM 工作;在 P2.0=1和 P2.7=0 時,8155 選中它內(nèi)部的三個 I/O 端口工作。相應的地址分配為: 0000H - 00FFH 8155 內(nèi)部 RAM 0100H 命令/狀態(tài)口 0101H A 口 0102H
26、 B 口 0103H C 口 0104H 定時器低 8 位口 0105H 定時器高 8 位口 8155 用作鍵盤/LED 顯示器接口電路。圖 3 中鍵盤有 30 個按鍵,分成六行(L0-L5)五列(R0-R4),只要某鍵被按下,相應的行線和列線才會接通。圖中 30 個按鍵分三類:一是數(shù)字鍵 0-9,共 10 個;二是功能鍵 18 個;三是剩余兩個鍵,可定義或設置成復位鍵等。為了減少硬件開銷,提高系統(tǒng)可靠性和降低成本,采用動態(tài)掃描顯示。A口和所有 LED 的八段引線相連,各 LED 的控制端 G 和 8155C 口相連,故 A 口為字形口,C 口為字位口,8031 可以通過 C 口控制 LED
27、是否點亮,通過 A 口顯示字符。14 圖 3-3 8155 用作鍵盤/LED 顯示器接口電路15第四章第四章 系統(tǒng)的軟件控制程序系統(tǒng)的軟件控制程序系統(tǒng)的操作過程和工作過程在程序的設計過程中起著很重要的指導作用,因此在軟件設計之前應該首先分析烘箱的工作流程。4.1 軟件的總體設計軟件的總體設計 程序設計的總體原則是自上而下,采用模塊化的設計思路。溫度控制程序的設計應考慮如下:1)鍵盤掃描、鍵碼識別和溫度顯示;2)溫度采樣、數(shù)字濾波;3)數(shù)據(jù)處理;4)越限報警和處理;5)PID 計算、溫度標度轉(zhuǎn)換。根據(jù)對于工作流程的分析,系統(tǒng)軟件可以分為一下幾個功能模塊:(1)顯示程序,將設置溫度和當前的實際溫度
28、顯示出來;(2)鍵處理程序,掃描三個按鍵,改變設定溫度值;(3)定時采樣程序,由于溫度慣性大,采樣周期定為 1S 是合適的;(4)輸出控制程序,根據(jù)給定值和當前實際溫度值決定是否加熱。4 個模塊之間的參數(shù)傳遞較為簡單,鍵處理程序輸出給定值,給定值存放在內(nèi)存單元 TAIM 中。采樣程序輸出溫度實際值,存放在內(nèi)存單元 TAIM1 中。輸出控制模塊與溫度顯示模塊只需要使用 TAIM 與 TAIM1 的值。1S 定時由定時器完成,不涉及與其它模塊進行數(shù)據(jù)交換。4.2 溫度檢測電路的設計溫度檢測電路的設計 程序流程圖如下:16重置定時初值中斷入口保護現(xiàn)場動態(tài)掃描顯示時間計數(shù)器減 1置采樣標志位置 1S
29、定時記數(shù)初值開始1S 定時時間到?NO 4 個模塊的程序都得由單片機來執(zhí)行,通常采用定時中斷的方法來合理分配程序執(zhí)行的時機與時間。完成同樣的功能,可以采用的方法很多。下面的程序流程圖圖 4-1 是其中的一種方案。中斷程序完成動態(tài)掃描顯示以及 1S 的定時,鍵盤掃描、1S 時間到后的溫度采樣、輸出控制都放在主程序執(zhí)行。主程序與中斷程序利用一個標志位來傳遞1S 定時到信息。17分配數(shù)據(jù)存儲器地址主程序開始初始化采樣標志位為 1?輸出控制鍵盤掃描處理清標志位并采樣濾波YES圖 4-1 溫度采集子程序流程圖溫度采集采用了一塊熱電偶轉(zhuǎn)換和接口芯片 MAX6675。MAX6675 采用 8 引腳 SO 帖
30、片封裝。MAX6675 的主要特性如下:簡單的 SPI 串行口溫度值輸出;0+1024的測溫范圍;12 位 0.25的分辨率;片內(nèi)冷端補償;高阻抗差動輸入;熱電偶斷線檢測;低功耗特性;18工作溫度范圍-20+85;由于 AT89C51 不具備 SPI 總線接口,故這里采用模擬 SPI 總線的方法來實現(xiàn)與MAX6675 的接口,在此給出溫度采集子程序:;位定義SO BIT P1.2 CS BIT P1.1 SCK BIT P1.0;數(shù)據(jù)字節(jié)定義DATAH DATA 30H ;讀取數(shù)據(jù)高位DATAL DATA 31H ;讀取數(shù)據(jù)低位TDATAH DATA 32H ;溫度高位TDATAL DATA
31、33H ;溫度低位;讀溫度值子程序READY: CLR CS ;停止轉(zhuǎn)換并輸出數(shù)據(jù)CLR CLK ;時鐘變低MOV R2,#08HREADH: MOV C,SORLC A ;讀 D15D8 高 8 位數(shù)據(jù)SETB CLKNOPCLR CLKDJNZ R2, READHMOV DATAH,A;將讀取的高 8 位數(shù)據(jù)保存MOV R2, #08HREADL: MOV C,SO ;讀 D7D0 低 8 位數(shù)據(jù)RLC A19SETB CLKNOPCLR CLKDJNZ R2, READLMOV DATAL,A;將讀取的低 8 位數(shù)據(jù)保存SETB CS;啟動另一次轉(zhuǎn)換過程RET上面的程序讀取的兩個字節(jié)的數(shù)
32、據(jù)并不直接溫度值,我們將讀取的 16 位數(shù)據(jù)去掉無效位后轉(zhuǎn)換成 12 位的溫度值。4.3 主程序清單主程序清單;程序使用 TO 作為定時器SCLK BIT PL.3DIN BIT PL.4DOUT BIT PL.5DRDY BIT PL.6RESET BIT PL.7 ORG 0H LJMP MAIN ORG 0BG LJMP TIME0 ORG 30HMAIN: MOV SP,#60H ;程序初始化 CLR PSW.320 CLR PSW.4 MOV R0,#10H MOV R1,#60H CLR AMAIN1: MOV R0,A INC R0 DJNZ R1,MAIN1 MOV TMOD,
33、#01H ;定時初始化 MOV TL0,#78H ;晶振=12MHZ,定時=5ms MOV TH0,#0ECH SETB ET0 ;設置 TO 中斷 SETB TR0 SETB EAMAIN2: LCCALL GEI ;設定溫度 JB P1,2,MAIN2 ;有運行健 SETB 20H.0 ;運行健位 SJMP $;定時器 TO 中斷TIMET0: PUSH PSW ;保護現(xiàn)場 PUSH ACC SETB PSW.3 ;選工作寄存器組 121 CLR PSW.4 CLR TR0 重設定時時間常數(shù) MOV A,TL0 ADD A,#0E9H MOV TL0,A MOV A,TH0 ADDC A,
34、#0BIH MOV TH0.A SETB TR0 INC 25H ;計數(shù)器+1 MOV A,25H CJNE A,#50,TIME1 MOV 25H,#0 ;=250ms,改變顯示MOV 30H,#0C1HLCALL DISPLAY ;設定顯示TIME1: LJMP RETURNTIME2: LCALL SAMPLE MOV 30H,#0C1H ;正式測量顯示 LCALL DISPLAY ;顯示溫度 LCALL KONGZHI ;溫度控制22 LCALL BAOJING ;判溫度范圍RETURN: POP ACC ;恢復現(xiàn)場 POP PSW RETI END4.4 中斷服務程序設計中斷服務程序
35、設計中斷服務程序是溫度控制系統(tǒng)的主體程序,用于啟動數(shù)/模轉(zhuǎn)換器、讀入采樣數(shù)據(jù)、數(shù)字濾波、越限溫度報警和越限處理、PID 計算和輸出可控硅的觸發(fā)脈沖等。P1.3 引腳上輸出的該同步觸發(fā)脈沖寬度由 T1 計數(shù)器的溢出中斷控制,8031 利用等待 T1 溢出中斷的空閑時間(形成 P1.3 輸出脈沖頂寬)完成把本次采樣值轉(zhuǎn)換成顯示值而放入顯示單元緩沖區(qū)和調(diào)用溫度顯示程序。8031 從 T1 中斷服務程序返回后即可恢復現(xiàn)場和返回主程序。下圖 4-2 為中斷服務程序流程圖。23圖 4-2 中斷服務程序流程圖24關(guān)顯示器顯示入口取該位顯示數(shù)據(jù)轉(zhuǎn)換成段碼輸出取位控碼輸出指向下一位顯示數(shù)據(jù)顯示數(shù)據(jù)初始化NO6
36、位顯示完?返回對于一般線性儀表來說,標度轉(zhuǎn)換公式為:Tx=A0 + (Am-A0) 其中,A0 為一次測量儀表的下限; Am 為一次測量儀表的上限;Vx 為實際測量值(工程量);Vm 為儀表上限對應的數(shù)字量; V0 為儀表下限對應數(shù)字量。4.5 顯顯示子程序示子程序設計設計圖 4-3 顯示子程序流程圖為保證顯示的效果,該系統(tǒng)采用定時中斷來控制動態(tài)掃描顯示。顯示子程序框圖如圖 4-3 所示,定時器定時時間為 5mS,子程序每執(zhí)行一次刷新一位數(shù)碼管的顯示,因此掃描周期是 30 mS,完全滿足動態(tài)顯示的要求。25當 6 個數(shù)碼管全部刷新顯示一遍后,程序要進行顯示數(shù)據(jù)的初始化。初始化的內(nèi)容有 2 點:
37、(1)將 TAIM 和 TAIM1 中的溫度給定值、溫度實際值的各位(百、十、個位)拆開并存放到顯示緩沖區(qū);(2)將數(shù)據(jù)指針和位控碼指向第一位顯示數(shù)據(jù)。在主程序初始化時,也要進行一次顯示數(shù)據(jù)的初始化。4.6 鍵盤掃描處理程序鍵盤掃描處理程序 鍵盤掃描可以采用中斷方式或者查詢方式,因為這一系統(tǒng)的程序并不長,因此這里采用了查詢的方式,即在每個主程序的執(zhí)行周期里對鍵盤進行一次掃描。程序如下:SCANKEY:JNB P3.3 ,SETT;有功能鍵按下,則跳轉(zhuǎn)JNB P3.4 ,INCT;有增加鍵按下,則跳轉(zhuǎn)JNB P3.5 ,DECT;有減小鍵按下,則跳轉(zhuǎn)JMP SCANKRETSETT: CALL
38、DELAY;去抖動CPL SETMARK;取反功能鍵標志位(按一次進入 SET 狀態(tài),再按一次返回)JNB P3.3,$;檢測按鍵是否松開CALL DELAY ;去抖動JMP SCANKRETINCT: CALL DELAY;去抖動JNB SETMARK,INCTT;如果不在 SET 狀態(tài)則返回INC TAIMINCTT: JNB P3.4,$;檢測按鍵是否松開CALL DELAY ;去抖動JMP SCANKRETDECT: CALL DELAY;去抖動26JNB SETMARK,DECTT;如果不在 SET 狀態(tài)則返回DEC TAIMDECTT: JNB P3.5,$;檢測按鍵是否松開CAL
39、L DELAY ;去抖動SCANKRET:RET4.7 定時中斷子程序定時中斷子程序由于烘箱內(nèi)的溫度變化比較慢,本系統(tǒng)每過一秒對烘箱內(nèi)的溫度進行十次采樣并求平均值濾波,本電路采用硬件定時的方法.以節(jié)省 CPU 資源,我們知道 89C51 單片機內(nèi)部有 2 個 16 位定時/計數(shù)器,選用 12MHZ 晶振,那么也就是說最大時間約為 65ms.那么我們怎樣來實現(xiàn) 1 秒的定時呢?在這里因為顯示刷新的原因,我們設置每次定時中斷的時間為 5ms,也就是說每 5ms 刷新一個 LED 數(shù)碼管顯示器。用一個存儲單元累計定時器中斷的次數(shù),每到 200 次中斷就置采樣標志位并對該存儲器單元重置定時計數(shù)值以開始
40、下一次計數(shù)。其程序結(jié)構(gòu)如下所示:TIMER0: MOV TH0,#HIGH(65536-5000) ;重置 5MS 定時器初值MOV TL0,#LOW(65536-5000)PUSH ACC;保護現(xiàn)場PUSH PSWCALL SCANDISP;調(diào)用動態(tài)掃描顯示程序DJNZ TICOUNT,INTRETSETB COLLECTMARKMOV TICOUNT,#200;重置定時計數(shù)INTRET: RETI274.8 數(shù)據(jù)字節(jié)與位定義數(shù)據(jù)字節(jié)與位定義在前面以編子程序中部分使用的數(shù)據(jù)字節(jié)與位定義如下:;位定義SO BIT P1.2 CS BIT P1.1 SCK BIT P1.0;數(shù)據(jù)字節(jié)定義DATA
41、H EQU 30H ;讀取數(shù)據(jù)高位DATAL EQU 31H ;讀取數(shù)據(jù)低位TDATAH EQU 32H ;溫度高位TDATAL EQU 33H ;溫度低位TDATAH2 EQU 34H ;濾波后溫度高位TDATAL2 EQU 35H ;濾波后溫度低位DISPBUF EQU 40H;顯示緩沖區(qū)首地址(40H-45H 為顯示緩沖區(qū))ORG OO00HJMP MAIN;跳轉(zhuǎn)到主程序ORG 0BH; TIMER0 的中斷入口地址JMP TIMER0MAIN:系統(tǒng)初始化28第五章第五章 系統(tǒng)抗干擾相關(guān)措施系統(tǒng)抗干擾相關(guān)措施 在單片機的應用系統(tǒng)中,系統(tǒng)的抗干擾技術(shù)是系統(tǒng)可靠性的重要方面。一個系統(tǒng)的正確與
42、否,不僅取決于系統(tǒng)的設計思想和方法,同時還取決于系統(tǒng)的抗干擾措施,不然勢必會出現(xiàn)原理正確而系統(tǒng)穩(wěn)定性差,甚至不能實施,使得耗費了大量錢財和時間研制出來的控制系統(tǒng)成為一種擺設,電腦變成了“煩惱”。正因如此,抗干擾技術(shù)的研究越來越引起大家的高度重視。 以下為單片機控制系統(tǒng)設計和應用中拾取的一些抗干擾的措施。5.1 單片機系統(tǒng)中硬件抗干擾設計單片機系統(tǒng)中硬件抗干擾設計一個好的電路設計,應在設計過程中充分考慮抗干擾性的要求。分析系統(tǒng)中可能引起干擾的部件,采取必要的硬件抗干擾措施,抑制干擾源、切斷干擾傳播途徑。(1)給繼電器線圈增加續(xù)流二極管,消除斷電時產(chǎn)生的反電動勢。 (2)在繼電器接點兩端并接火花抑
43、制電路, (一般為 RC 串聯(lián)電路,電阻一般為幾幾十 k,電容為 001F)減小電火花影響。 (3)給電機加濾波電路,注意電容、電感連線要盡量靠近電機。 (4)電路板上每個 IC 要并接一個 00101F 高頻電容,減小 IC 對電源的影響。注意高頻電容的布線應靠近電源端,并盡量短,否則等于增大了電容的等效串聯(lián)電阻,會影響濾波效果。 (5)避免 90折線,減小高頻噪聲發(fā)射。 (6)在可控硅兩端并接 RC 抑制電路,減小可控硅噪聲。(1)充分考慮電源對單片機的影響。給單片機電源加濾波電路,減小電源噪聲對單片機的干擾。(2)若用單片機的 IO 口來控制電機等噪聲器件,在 IO 口與噪聲源之間應加形
44、濾波電路,或進行光電隔離。(3)注意晶振布線。晶振與單片機引腳盡量靠近,用地線把時鐘區(qū)隔離起來,晶振外殼接地并固定。29(4)電路板合理分區(qū),如數(shù)字信號、模擬信號盡可能使干擾源與敏感器件遠離。(5)用地線將數(shù)字區(qū)與模擬區(qū)隔離,數(shù)字地與模擬地分離,最后接在一點接于電源地。(6)單片機和大功率器件的地線要單獨接地,以減小相互之間的干擾。(7)在單片機 IO 口、電源線、電路板連線等關(guān)鍵地方使用抗干擾元件,如磁環(huán)、電源濾波器、屏蔽罩等。提高敏感器件的抗干擾性能是指從敏感器件考慮盡量減小對干擾噪聲的拾取,以及從不正常狀態(tài)盡快恢復的方法。常用措施:(1)布線時盡量減少回路面積,降低感應噪聲;(2)布線時
45、電源線與地線盡量粗。除減小壓降外,更重要的是降低耦合噪聲;(3)對單片機的閑置 IO,不能懸空,應接地或電源,其他 IC 的閑置口一樣;(4)加單片機硬件看門狗電路;(5)滿足要求的前提下,盡量降低單片機晶振和選用低速數(shù)字電路;(6)IC 器件盡量直接焊在電路板上,少用 IC 座。5.2 單片機系統(tǒng)軟件的抗干擾單片機系統(tǒng)軟件的抗干擾一般來講,竄入微機測控系統(tǒng)的干擾,其頻譜往往很寬,采用硬件抗干擾措施,只能抑制某個頻率段的干擾,仍有一些干擾會進入系統(tǒng)。因此,除了采取硬件抗干擾方法外,還要采取軟件抗干擾措施。疊加在系統(tǒng)模擬輸入信號上的噪聲干擾,會導致較大的測量誤差。但由于這些噪聲的隨機性,可以通過
46、數(shù)字濾波技術(shù)剔除虛假信號,求去真值。常用方法如下:(1)算術(shù)平均濾波法算術(shù)平均濾波法就是連續(xù)取 N 個值進行采樣,然后求其平均值。該方法適應于對一般具有隨機性干擾的信號進行濾波。這種濾波法的特點是:N 值較大時,信號的平滑度好,但靈敏度低;當 N 值較小時,平滑度低,但靈敏度高。(2)遞推平均濾波法。該方法是把 N 個測量數(shù)據(jù)看成一個隊列,隊列的長度為N,每進行一次新的測量,就把測量結(jié)果放入隊尾,而扔掉原來隊首的一次數(shù)據(jù)。計算N 個數(shù)據(jù)的平均值。對周期性的干擾,此方法有良好的抑制作用,平滑度高,靈敏度低。但對偶發(fā)脈沖的干擾抑制作用差。(3)防脈沖干擾平均值濾波法。在脈沖干擾比較嚴重的場合,如果
47、采用一般的平均濾波法,則干擾將會“平均”到結(jié)果中去,故平均值法不易消除由于脈沖干擾而引起30的誤差。為此,在 N 個采樣數(shù)據(jù)中,取掉最大值和最小值,然后計算 N2 個數(shù)據(jù)的算術(shù)平均值。為了加快測量速度,N 一般取值為 4?!八罊C死機”現(xiàn)象的克服現(xiàn)象的克服當干擾通過總線或其他口線作用到 CPU 時,就會造成程序計數(shù)器 PC 值的改變,引起程序混亂,使系統(tǒng)失控。因此,在設計單片機系統(tǒng)時,如何發(fā)現(xiàn) CPU 受到干擾,并盡可能無擾地使系統(tǒng)恢復到正常工作狀態(tài)是軟件設計應考慮的主要問題。無論何種控制系統(tǒng),一般講,死機現(xiàn)象都是不允許的??朔罊C現(xiàn)象最有效的辦法就是采用單片機工加了硬件看門狗電路后仍然有死機現(xiàn)
48、象,分析原因,可能有以下方面:(1)因為某種原因,程序混亂后,看門狗電路雖然發(fā)出了復位脈沖,但在程序剛剛正常還來不及發(fā)出一個脈沖信號,此時程序再次被干擾,而這時看門狗電路已處于穩(wěn)態(tài),不能再發(fā)出復位脈沖。(2)程序進入死循環(huán),在該死循環(huán)中,恰好又有看門狗監(jiān)視 IO 口上操作的指令。而該 IO 口仍有脈沖信號輸出,看門狗檢測不到這種異常情況。(3)在有嚴重干擾時,中斷方式控制字有時會受到破壞,導致中斷關(guān)閉??梢?,只用硬件看門狗電路是無法確保單片機正常工作的。因此,可采用以下方法作為補充。1)軟件“看門狗”的應用選用定時器 T0 作為看門狗,將 T0 的中斷定義為最高級中斷。看門狗啟動后,系統(tǒng)必須及
49、時刷新 T0 的時間常數(shù)。2)指令冗余技術(shù)NOP 的使用在 8031 單片機指令系統(tǒng)中所有指令都不超過 3 個字節(jié)。因此,在程序中連續(xù)插入3 條 NOP 指令,有助于降低程序計數(shù)器發(fā)生錯誤的概率。重要指令冗余對于程序流向起決定作用的指令(如 RET,RETI,ACALL,LJMP,JZ 等)和某些對系統(tǒng)工作狀態(tài)有重要作用的指令(如 SETBEA 等)的后面,可重復寫下這些指令,以確保這些指令的正確執(zhí)行。3)軟件陷阱法。單片機系統(tǒng)程序跑飛意味著 CPU 執(zhí)行不正確流程程序。而當亂飛程序進入非程序區(qū),采用冗余技術(shù)無法使程序納入正確軌道,此時可采用軟件陷阱法,攔截亂飛程序。軟件陷阱就是用引導指令(如 LJMP)將撲獲到的亂飛程序引向復位入口地址 0000H,在此對程序進行出錯處理,使其納入正軌。軟件陷阱格式NOP31NOPLJMP0000H軟件陷阱安排未使用的中斷區(qū);未使用的大片 ROM 空間;程序區(qū);中斷服務程序區(qū)。5.3 系
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 IEC 62148-11:2024 EN-FR Fibre optic active components and devices - Package and interface standards - Part 11: 14-pin modulator integrated laser diode modules and pump laser
- 【正版授權(quán)】 ISO 18935:2025 EN Imaging materials - Colour images - Determination of water resistance of printed colour images
- 2025年建筑安全員知識題庫及答案
- 2025-2030年中國采血器市場發(fā)展狀況及前景趨勢分析報告
- 2025-2030年中國薯片市場運行態(tài)勢與投資戰(zhàn)略研究報告
- 2025-2030年中國營養(yǎng)碘鹽市場發(fā)展狀況及營銷戰(zhàn)略研究報告
- 2025-2030年中國自動光學檢測儀(AOI)市場運營狀況及前景趨勢分析報告
- 2025-2030年中國絕熱隔音材料產(chǎn)業(yè)運行狀況與投資策略研究報告
- 2025-2030年中國電解金屬錳行業(yè)前景展望規(guī)劃研究報告
- 2025-2030年中國電站設備行業(yè)運行態(tài)勢及發(fā)展趨勢分析報告
- 《齊桓晉文之事》+課件+2023-2024學年統(tǒng)編版必修下冊+
- 《創(chuàng)傷失血性休克中國急診專家共識(2023)》解讀課件
- 八年級美術(shù)下冊第1課文明之光省公開課一等獎新名師課獲獎課件
- 2024年全國體育單招英語考卷和答案
- 食品安全管理制度可打印【7】
- 河北省邯鄲市磁縣2024屆中考數(shù)學模試卷含解析
- 2024年四川省南充市中考物理試卷真題(含官方答案)
- 2024年學位法學習解讀課件
- 2024年江蘇農(nóng)牧科技職業(yè)學院單招職業(yè)適應性測試題庫帶答案
- 【基于PLC的停車場車位控制系統(tǒng)設計11000字(論文)】
- GB/T 43947-2024低速線控底盤通用技術(shù)要求
評論
0/150
提交評論