版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 課程設(shè)計題目:冷庫單片機控制系統(tǒng)</p><p><b> 摘要</b></p><p> 隨著現(xiàn)代工業(yè)的逐步發(fā)展,在工業(yè)生產(chǎn)中,溫度、壓力、流量和液位是種最常見的過程變量。其中,溫度是一個非常重要的過程變量。例如:在冶金工業(yè)、化工工業(yè)、電力工業(yè)、機械工業(yè)和食品工業(yè)等許多領(lǐng)域,都需要對各種加熱爐、熱處理爐、反應(yīng)爐和鍋爐的溫度進行控制。然而,用
2、常規(guī)的控制方法,潛力是有限的,難以滿足較高的性能要求。利用單片機8031對中型冷庫進行自動化改造,使得控制系統(tǒng)自動化程度大大提高,溫度控制精確,節(jié)約了能源,提高了庫存產(chǎn)品質(zhì)量,降低了值班人員的工作強度。</p><p> 冷庫單片機控制系統(tǒng),是利用單片機8031作為系統(tǒng)的主控制器,測量電路中的溫度反饋信號經(jīng)A/D變換后,送入單片機中進行處理,經(jīng)過一定的算法和比較運算后,由單片機的輸出來控制繼電器的動作,從而控制
3、執(zhí)行元件以達到對電阻閥和壓縮機進行驅(qū)動控制,最終實現(xiàn)對冷庫溫度的控制。</p><p> 本冷庫單片機控制系統(tǒng)的技術(shù)指標是,對冷庫冷藏溫度控制范圍為5±0.50℃;冷凍間:-18±0.5℃;溫度顯示精度:±0.2℃,控制能力:8通道制冷控制,實際5路控制。控制方式:降溫,快速,恒溫,自然升溫。軟件設(shè)計須能進行人機對話和結(jié)果輪流顯示。</p><p> 關(guān)鍵
4、詞: 單片機、 冷庫、 自動化、 改造</p><p><b> Abstract</b></p><p> Along with the gradual modern industrial devejopment,in industrial production, temperature, pressure, flow and level four is the
5、 most common process variables. Within this total, the temperature is a very important process variables. For example: in the metallurgical industry, chemical industry, power industry, machinery processing, and food proc
6、essing and many other areas, the need for various furnace, heat treatment furnace, furnace and boiler temperature control. However, the use of the conve</p><p> Using singlechip-8031 to carry on automationa
7、l reform for the moderate model cold-storeroom, which improves the level of control-system’s automation, also the precision of temperatural control,save on the resouce, enhance the quantity of product in the storeroom,
8、boost the work-condition and decrease the labor strength of the watch.</p><p> The control system of cold-storeroom singlechip, which use singlechip by way of the principal controller in the system, to meas
9、ure the temperatural feedback signal, after which via A/D converser carry on tackle in singlechip, pass definite arithmetic and compare operation, make the result of singlechip’s export to control the act of the relay, t
10、hereby control the execute element to realize the drival control of the resistance valve and compressor, consequently realize the control of the cold-sto</p><p> The requirements of technique index of cold-
11、storeroom singlechip are:</p><p> The control range of the temperature: during cold store: 5±0.5℃; during cold freeze: -18±0.5℃; the display precision of temperature: ±0.2℃; control capabilit
12、y: eight accesses of refrigeration control, in fact five accesses control; control mode: drop in temperature, quick drop in temperature, constant temperature, spontaneous rise in temperature. The design of software must
13、could carry on person-computer dialog and turn to show the result.</p><p> Keywords: singlechip cold-storeroom automation reform</p><p> 冷庫單片機控制系統(tǒng)的設(shè)計</p><p><b> 系統(tǒng)總體設(shè)計&
14、lt;/b></p><p> 根據(jù)所要實現(xiàn)的功能特點,本系統(tǒng)選用了MCS—51系列8031單片機,擴展一片74LS373地址鎖存器,擴8kb的EEPROM2864A。溫度傳感器采用對—30~+40℃線性良好的半導(dǎo)體集成溫度傳感器,將溫度轉(zhuǎn)換為電流,長距離傳送到兩級運算放大器,8路模擬開關(guān)4051,經(jīng)12位模數(shù)轉(zhuǎn)換器ADC7153轉(zhuǎn)換成數(shù)字信號供單片機處理控制??刂葡到y(tǒng)采用4鍵鍵盤和6位LED數(shù)碼顯示器進
15、行輸入?yún)?shù)和顯示庫溫及狀態(tài),6路中間繼電器電器作為控制制冷電磁閥的執(zhí)行元件。</p><p> 冷庫冷藏及冷凍功率為100~350W,電源為交流220V,調(diào)溫范圍在—19~5℃,升溫速度1/min溫度控制精度為±0.2℃。</p><p> 本系統(tǒng)考慮到冷庫系統(tǒng)的工作環(huán)境對單片機的特殊要求,在此采用了MCS—51系列8031單片機。它具有抗干擾能力強,工作可靠穩(wěn)定,完全滿足高
16、性能的冷庫單片機系統(tǒng)的控制要求。</p><p> 冷庫單片機控制系統(tǒng)介紹</p><p> 冷庫單片機控制系統(tǒng)的組成及工作原理</p><p> 在工業(yè)生產(chǎn)中,對溫度控制系統(tǒng)的要求,主要是保證庫溫按一設(shè)定溫度變化,超調(diào)小或無超調(diào),穩(wěn)定性好,不振蕩,對系統(tǒng)的要求不是太高。以下淺析了冷庫單片機控制系統(tǒng)設(shè)計過程及實現(xiàn)方法。</p><p>
17、 系統(tǒng)由8031單片機最小系統(tǒng)、人機對話系統(tǒng)、溫度檢測控制系統(tǒng)、執(zhí)行單元組成。控制系統(tǒng)為閉環(huán)工作狀態(tài)。如圖所示。庫溫T經(jīng)傳感器變成電流,經(jīng)傳送轉(zhuǎn)化成電壓并放大、濾波,再經(jīng)A/D轉(zhuǎn)換、軟件濾波,得到與庫溫T相應(yīng)的溫度數(shù)字信號。該溫度一方面送LED顯示供值班人員觀察和送溫度記錄儀打印,另一方面與設(shè)定溫度值比較運算,CPU根據(jù)比較結(jié)果對相應(yīng)庫房發(fā)出制冷、強制冷、停電或通電,從而開啟或關(guān)閉電磁閥,進行制冷、強制冷、停止制冷等相關(guān)操作,并根據(jù)所
18、需功率調(diào)節(jié)壓縮機開啟的臺數(shù),即達到了庫溫精確控制的目的,又達到了節(jié)約能源的效果。由單片機的定時器產(chǎn)生時鐘中斷,定時掃描5個通道,進行分時控制使每個庫室工作于不同的工作狀態(tài)。</p><p> 單片機是一種集CPU、RAM、ROM、I/O接口和中斷系統(tǒng)于一體的器件,只需外加電源和晶振就可以實現(xiàn)對數(shù)字信號的處理和控制。本設(shè)定運用MCS—51系列單片機中的8031單片機為主控制器,對冷庫的溫度進行自動化控制,最終通過
19、軟件設(shè)計來實現(xiàn)人機對話功能,實現(xiàn)對冷庫溫度的控制。</p><p><b> 2、電路的特點</b></p><p><b> ?、判盘柗糯笈c濾波</b></p><p> 如圖所示,傳感器為恒流源形式的高精度的半導(dǎo)體溫度傳感器,在其兩端上加上一定的工作電壓,則其輸出電流隨溫度變化而變化,其線性電流為1μA/℃,用雙絞
20、線經(jīng)長距離(50~150m)傳送后不影響測量精度。隨溫度變化的電流經(jīng)高精度的運算放大器0P07變成電壓參量,調(diào)節(jié)R3,R4的比例可使輸出電壓值符合A/D轉(zhuǎn)化器,W用于溫度調(diào)節(jié)校正。</p><p><b> ⑵模擬開關(guān)</b></p><p> 用4051作8路輸入、1路輸出的模擬開關(guān),實際只使用其中的5路即可,以便8031對5個庫室的溫度輪流采樣,分別控制。由于
21、模擬開關(guān)有一定的內(nèi)阻,而溫度傳感器的溫度電壓非常小,如先經(jīng)過模擬開關(guān)再經(jīng)放大則使測量精度大大降低,故對信號先進行放大,增加電路的成本獲得更高的精度。模擬開關(guān)后的電平變換采用光電隔離,因為光電隔離抗干擾性好、但反應(yīng)速度較慢,采用晶體管或COMS-TTL變換芯片則速度較快。</p><p><b> ⑶A/D轉(zhuǎn)換</b></p><p> 系統(tǒng)采用雙積分型的A/D轉(zhuǎn)換
22、芯片7153,轉(zhuǎn)換精度高,抗干擾能力強。雖然其轉(zhuǎn)換速度慢,但由于冷庫庫室溫度變化是大慣性變化系統(tǒng),時間常數(shù)很大,因此用該芯片能滿足系統(tǒng)要求。7153的輸出為14位二進制數(shù),其分辨率為溫度量程的0.005%,為整個系統(tǒng)的高精度創(chuàng)造了條件,且價格較低。</p><p><b> ?、热藱C對話系統(tǒng)</b></p><p> 控制系統(tǒng)選用4鍵鍵盤和6位LED顯示器。4鍵分別
23、是功能鍵、增加鍵、減少鍵和確認證。采用軟件消抖動,鍵盤輸入采用中斷方式進行工作,節(jié)約CPU的工作時間提高系統(tǒng)響應(yīng)速度。6位LED數(shù)碼顯示器的作用如下:第1位顯示庫房編號;第2位顯示通道工作狀態(tài);第3位顯示溫度正負號;最后3位顯示額度值,其中1位小數(shù)。</p><p> ?、芍评淇刂茍?zhí)行部件及壓縮機控制部件</p><p> 由于本控制系統(tǒng)控制的是制冷劑的通斷和壓縮機的啟停,啟動和關(guān)閉的頻
24、率不高,故</p><p> 采用傳統(tǒng)的交流接觸器控制交流電磁閥的通斷和控制壓縮機的啟停運行。為增加系統(tǒng)的 可靠性,壓縮機采用自動和人工強行控制2種模式。制冷有自動和手動2種方式且保留原系統(tǒng)的人工機械閘閥,從而增加系統(tǒng)的靈活性和可靠性。</p><p><b> 系統(tǒng)的硬件設(shè)計</b></p><p> 根據(jù)要實現(xiàn)的功能特點,本系統(tǒng)選用了
25、MCS-51系列8031單片機,擴展一片EEPROM 2864A程序存儲器、一片RAM6116數(shù)據(jù)存儲器、一片I/O接口8255、一片A/D轉(zhuǎn)換芯片ADC7153和一片8通道模擬開關(guān)4051構(gòu)成基本系統(tǒng),另外功能鍵和LED顯示由串行口擴展n片74LS614實現(xiàn)。還有一些附加電路如:時鐘電路、復(fù)位電路、溫度檢測電路等。</p><p> 系統(tǒng)結(jié)構(gòu)圖</p>&l
26、t;p> 冷庫單片機系統(tǒng)電路原理圖</p><p> 主控制芯片8031 </p><p> ?、?031引腳說明 </p><p> ?、?031單片機引腳及其功能</p><p> ?、侔娫匆_VCC、VSS
27、、時鐘引腳XTAL1、XTAL2。</p><p> VCC(40腳):接+5v電源;</p><p> VSS(20腳):接地。</p><p> 時鐘引腳外接晶體時與片內(nèi)的反相放大器構(gòu)成一個振蕩器,它提供單片機的時鐘控制信號。時鐘引腳也可以接外晶體振蕩器。</p><p> XTAL1(19腳):接外部晶體的一個引腳。在單片機內(nèi)部
28、,它是一個反相放大器的輸入端。當采用外接晶體振蕩器時,此引腳應(yīng)接地。</p><p> XTAL2(18腳):接外部晶體的另一端,在單片機內(nèi)部接至反相放大器的輸出端。若采用外部振蕩時,該引腳接收振蕩器的信號,即把此信號直接接至內(nèi)部時鐘發(fā)生器的輸入端。</p><p><b> ?、诳刂埔_</b></p><p> 包括RESET(即RST
29、)、ALE、PSEN、EA,此類引腳具有復(fù)用功能。</p><p> RST/VPD(9腳):當振蕩運行時,在此引腳加上兩個機器周期的高電平將使單位機復(fù)位。復(fù)位后應(yīng)使此引腳電平為≤0.5v的低電平,以保證單片機正常工作。</p><p> ALE/PROG(30腳):當單片機訪問外部存儲器時,ALE輸出脈沖的下降沿用于</p><p> 鎖存16位地址的低8位
30、。即使不訪問外部存儲器,ALE端仍有周期性正脈沖輸出,其頻率為振蕩器頻率的1/6。但是,每當訪問外部數(shù)據(jù)存儲器時,在兩個機器周期中ALE只出現(xiàn)一次,即丟失一個ALE脈沖。ALE端可以驅(qū)動8個TTL負載。</p><p> PSEN(29腳):此輸出為單片機訪問外部程序存儲器的讀選通信號。在從外部程序存儲器取指令期間,每個機器周期PSEN兩次有效。但在此期間,每個訪問外部數(shù)據(jù)存儲器時,這兩次有效的PSEN信號將不
31、在出現(xiàn)。PSEN同樣可以驅(qū)動8個TTL負載。</p><p> EA/VPP(31腳):當EA端保持到電平時,單片機訪問內(nèi)部程序存儲器,但在PC(程序計數(shù)器)值超過OFFFH時,將自動轉(zhuǎn)向執(zhí)行外部程序存儲器內(nèi)的程序。當EA端保持低電平時,則只訪問外部程序存儲器,不管是否有內(nèi)部程序存儲器。</p><p><b> ③輸入/輸出引腳</b></p>&
32、lt;p> 輸入/輸出(I/O)口引腳包括P0口、P1口、P2口和P3口。</p><p> P0口:雙向8位三態(tài)I/O口,此口為地址總線低8位及數(shù)據(jù)總線分時復(fù)用口,可帶8個LS TTL負載。</p><p> P1口:8位準雙向I/O口(作為輸入時,口鎖存器置1),可帶4個LS TTL負載。</p><p> P2口:8位準雙向I/O口,與地址總線高
33、8位復(fù)用,可驅(qū)動4個LS TTL負載。</p><p> P3口:8位準雙向I/O口,為雙功能復(fù)用口,可帶4個LS TTL負載。</p><p> ?、?031具有以下幾個特點:</p><p> ①8位CPU,工作頻率為1~12MHz。</p><p> ②128BRAM數(shù)據(jù)存儲器,4KBROM程序存儲器。 </p&
34、gt;<p> ③5V電源,40引腳雙列直插式封裝。</p><p> ?、?2MHz工作頻率時機器周期為1μs,所有指令的執(zhí)行為1~4個機器周期。</p><p> ⑤外部可分別擴展64KB數(shù)據(jù)存儲器和程序存儲器。</p><p> ?、?級中斷,5個中斷源。</p><p> ?、?1個專用寄存器,有位尋址功能。&
35、lt;/p><p> ⑧兩個16位定時/計數(shù)器,1個全雙工串行通信口。</p><p> ?、?組8位I/O口。</p><p> 芯片74LS373引腳: </p><p><b> 74LS73功能表</b></p><p> EEPROM2864A的引
36、腳配置</p><p> EEPROM2864A的工作方式</p><p> 芯片ADC7153的引腳</p><p> 6、擴展I/O8255A</p><p> 8255A端口的操作狀態(tài)</p><p> 8255A 的結(jié)構(gòu)和工作方式</p><p> 8255A是一種可編程并行
37、輸入/輸出接口芯片,它具有3個8位的并行I/O口,分別稱為A口、B口和C口,其中C口又分為高4(PC7~PC4)位口和低4(PC3~PC0)位口,它們都可以通過軟件編程來改變工作方式。8255A可以與單片機直接接口。</p><p><b> 數(shù)據(jù)端口A、B、C</b></p><p> 8255A有三個8位并行口,即A、B和C,都可以選擇作為輸入或輸出工作模式。
38、但在功能和結(jié)構(gòu)上有些差異。</p><p> A口:具有一個8位數(shù)據(jù)輸出鎖存器/緩沖器;一個8位數(shù)據(jù)輸入鎖存器。</p><p> B口:具有一個8位數(shù)據(jù)輸出鎖存器/緩沖器;一個8位數(shù)據(jù)輸入緩沖器(不鎖存)。</p><p> C口:具有一個8位數(shù)據(jù)輸出鎖存器/緩沖器;一個8位數(shù)據(jù)輸入緩沖器(不鎖存)。</p><p> 通常A口、B
39、口作為輸入端口或輸出端口使用;C口既可作為輸入端口或輸出端口使用,又可在軟件的控制下,分為兩個4位的端口,作為A口、B口選通方式操作時的控制信號。</p><p><b> A組和B組控制電路</b></p><p> 這是兩組根據(jù)CPU寫入的控制字控制8255A工作方式的控制電路。A組控制A口和C口的高半部;B組控制B口和C口的低半部,并可根據(jù)控制字對C口的每一
40、位實現(xiàn)按置位或復(fù)位。</p><p> 雙向三態(tài)數(shù)據(jù)總線緩沖器</p><p> 這是8255A和CPU數(shù)據(jù)總線的接口,CPU和8255A之間的命令、數(shù)據(jù)和狀態(tài)的傳遞都是通過這個雙向三態(tài)數(shù)據(jù)總線緩沖器傳送的,D7~D0接CPU的數(shù)據(jù)總線。</p><p><b> 讀/寫控制邏輯</b></p><p> 對A組
41、和B組控制電路實施控制,管理所有的數(shù)據(jù)、控制字或狀態(tài)字的傳送。</p><p> 8255A有三種工作方式:方式0—基本輸入輸出方式;方式1—選通輸入輸出方式;方式2—雙向傳送方式(僅A口)。</p><p><b> 系統(tǒng)的軟件設(shè)計</b></p><p> 系統(tǒng)軟件由主程序、定時器T0中斷服務(wù)程序、鍵盤識別中斷服務(wù)程序和顯示子程序組成
42、。 </p><p> 1、主程序包括定時器0、定時器1、多位標志位、溫度存儲器、設(shè)定值存儲器的初始化、顯示緩沖區(qū)清零、溫度狀態(tài)顯示、時鐘計數(shù)單元初值、鍵盤狀態(tài)值初始化、設(shè)定堆棧指針內(nèi)容。流程圖如圖所示。 </p><p> 定時器T0中斷服務(wù)程序 </p><p> T0中斷服務(wù)程序是溫度控制系統(tǒng)的主體程序,用于啟動A/D轉(zhuǎn)換、讀入采樣數(shù)據(jù)、數(shù)字濾波、溫度差
43、值運算、繼電器控制及通道和壓縮機開關(guān)控制、顯示定時器的增1及時間判斷,如圖所示。</p><p> 在T0中斷服務(wù)程序中要用到一系列子程序,如溫度采樣子程序、數(shù)字濾波子程序、標度轉(zhuǎn)換子程序、功率判斷子程序等。每個通道的狀態(tài)參數(shù)寄存器組:工作方式寄存器、工作狀態(tài)寄存器、庫溫寄存器、溫度上限寄存器、溫度下限寄存器。</p><p> 3、鍵盤識別中斷服務(wù)程序</p><
44、p> 本系統(tǒng)采用4鍵鍵盤結(jié)構(gòu),即功能鍵、增鍵、減鍵和確認鍵便可以完成系統(tǒng)參數(shù)的設(shè)定、開關(guān)機等操作,實現(xiàn)人機對話功能。鍵盤操作過程如下:</p><p> 通道號:1,2,3,4,5,6,7,8(1~5為庫房通道號,6~8為壓縮機通道號)。</p><p> 狀態(tài)值:0為手動停止,1為手動開啟,2為自動停止,3為自動開啟,4為設(shè)定溫度上限,5為設(shè)定溫度下限。</p>
45、<p> 符號:-,(+)正號不顯示。</p><p> 溫度:測量值,設(shè)定值。</p><p> ;設(shè)鍵盤為P3.0到P3.3四位,依次為功能鍵,增鍵,減鍵,確認鍵.;所修改的數(shù)據(jù)單元為74H~79H顯示數(shù)據(jù)單元,同時,置80H為1;在AD采集的數(shù)據(jù)顯示前,需要先檢測80H位,如為1,則相應(yīng)做出采集數(shù)據(jù)處理, 并將80H清零. ;鍵值存于 81H ;功能開始標志存于 8
46、2H;當前處理的單元放于83H.</p><p><b> 4、顯示子程序</b></p><p> 6位LED數(shù)碼管,其中第一位顯示制冷的庫房號或通道號,第二位顯示通道的工作狀態(tài),第三位顯示溫度的正負值,最后3位顯示溫度值和設(shè)定值,其中1位小數(shù)。顯示子程序由3個模塊組成:顯示內(nèi)容更新模塊、字形碼查表轉(zhuǎn)換模塊、字形碼送串行口顯示模塊。顯示方式有2種:自動輪流顯示各
47、通道工作狀態(tài)溫度方式和功能設(shè)定狀態(tài)顯示方式。</p><p> ;顯示代碼函數(shù).使用方式為 call DisPlay 或者是 jmp DisPlay ;只假設(shè)做為子程序,單獨編譯不會成功. ;顯示數(shù)據(jù)放于74H,75H,76H,77H,78H,79H </p><p><b> 5、軟件濾波程序</b></p><p> 為使經(jīng)A/D轉(zhuǎn)
48、換后的波形不含干擾值,特地使用限幅消抖法進行濾波。此方法相當于“限幅濾波法”+“消抖濾波法”,其原理是先限幅,后消抖。即設(shè)置一個濾波計數(shù)器,將每次采樣值與當前有效值比較:如果采樣值=當前有效值,則計數(shù)器清零;如果采樣值<>當前有效值,則計數(shù)器+1,并判斷計數(shù)器是否>=上限N(溢出) 如果計數(shù)器溢出,則將本次值替換當前有效值,并清計數(shù)器。它對于變化緩慢的被測參數(shù)有較好的濾波效果, 可避免在臨界值附近控制器的反
49、復(fù)開/關(guān)跳動或顯示器上數(shù)值抖動。</p><p><b> 附程序:</b></p><p> DIS5 EQU 79H</p><p> FLAG EQU 80H</p><p> VALUE EQU 81H</p><p> ENABLE EQU 82H</p>
50、<p> CUR EQU 83H ;初始化.</p><p> MOV CUR,#74H ;此函數(shù)為子函數(shù).調(diào)用時用jmp 或 call 來處理</p><p> ORG 0000H</p><p> AJMP MAIN ;轉(zhuǎn)入主程序</p><p> ORG
51、 001BH ;定時器中斷T1口地址</p><p> LJMP T_1 ;轉(zhuǎn)T1中斷服務(wù)程序 </p><p> ORG 0030H ;以下是冷庫房測量溫度的初始化程序 MAIN: SETB
52、 P2.5 ;P2.5 降溫控制位,啟動制冷降溫</p><p> CLR P2.6 ;P2.6制冷完控制位,關(guān)閉電磁閥</p><p> SETB P2.0 ;P2.0控制壓縮機位</p><p> MOV SP,#30H ;設(shè)置堆
53、棧指針</p><p> MOV P3.3,#00H ;初始化顯示為0</p><p> MOV TMOD,#16H ;T0計數(shù)狀態(tài)、方式2,T1定時狀態(tài)、方式1</p><p> MOV TL0,#00H ;T0計數(shù)初值設(shè)定</p><p> MOV TH0,
54、#00H </p><p> MOV TH1 ,#0BH ;T1定時初值,1S,6MHZ</p><p> MOV TH0 ,#0DCH </p><p> MOV R2,#8 ;設(shè)置軟計數(shù)器</p>
55、;<p> MOV 20H,#EEH ;初始設(shè)置溫度-18度,裝入20H</p><p> MOV 21H,#05H ;初設(shè)冷藏溫度5度,裝入21H</p><p> LOOP: SETB IT0 ;外部中斷邊沿觸發(fā)</p><p> SE
56、TB EX0 ;外部中斷0允許</p><p> SETB EA ;開總中斷</p><p> SETB ET0 ;定時器T0中斷允許</p><p> SETB ET1 ;定時器T1中斷允許</p&g
57、t;<p> ORL TCON,#01010000B ;同時啟動定時器1和定時器0</p><p> SJMP $ ;等待中斷</p><p> ;以下是T_1中斷程序啟動定時掃描5通道</p><p> T_1: </p><p>
58、PUSH PSW ;保護PSW</p><p> PUSH ACC ;保護ACC</p><p> MOV R1,#30H ;初設(shè)指針 </p><p> MOV DPTR,#07FF8H ;指向通道0</p><
59、;p> MOV R5,#05H ;設(shè)通道數(shù)</p><p> ;以下是啟動ADC0809采集數(shù)據(jù)程序</p><p> LOOP1: MOVX @DPTR,A ;啟動AD轉(zhuǎn)換</p><p> MOVX A,@DPTR ;轉(zhuǎn)換結(jié)束,A接受數(shù)據(jù)P0口為轉(zhuǎn)換數(shù)據(jù)輸入端</p&
60、gt;<p> MOV @R1,A ;存儲于數(shù)據(jù)區(qū)</p><p> MOV 22H,R1 ;寄存數(shù)據(jù)于22H</p><p> INC DPTR ;指向下一個通道</p><p> INC R1 ;修改數(shù)據(jù)區(qū)指針</p>
61、;<p> DJNZ R5,LOOP1 ;5個通道轉(zhuǎn)換完否?</p><p><b> RET</b></p><p> ;以下程序是比較采樣數(shù)據(jù),采樣冷庫房溫度與設(shè)置溫度比較</p><p> MOV A,22H</p><p> CLR C</
62、p><p> SUBB A,20H ;和-18度比較 </p><p> JNC SH ;若大于-18度,轉(zhuǎn)入上限處理程序</p><p> LJMP YSJ ;轉(zhuǎn)向壓縮機</p><p> ;以下是低于-18度的處理
63、程序 </p><p> XI: CLR P2.6 ;停止或是關(guān)閉</p><p> ;以下是上限處理程序</p><p> SH: SETB P2.5 ;發(fā)出制冷信號,打開電磁閥
64、 </p><p> YSJ: SETB P2.0 ;開啟壓縮機,壓縮機自動控制</p><p> ;保護壓縮機 </p><p> BH: MOV A,21H </p><p> ANL A,#00001110
65、B ;屏蔽除1-3位的其他位</p><p> JNZ BH ;判斷有無鍵閉合若沒有則繼續(xù)判斷</p><p> ;壓縮機自動控制開關(guān)</p><p> MOV A,21H </p><p> JNB ACC.3,BH
66、 ;判斷確定設(shè)置鍵是不是斷開,若不是則繼續(xù)判斷</p><p> LJMP FH ;若確定設(shè)置鍵斷開則返回</p><p><b> ;中斷返回</b></p><p> FH: POP PSW</p><p> POP ACC</p>&
67、lt;p><b> RETI </b></p><p> ;以下是調(diào)用BCD碼轉(zhuǎn)換和顯示程序顯示當前溫度</p><p> MOV R0,22H</p><p> LCALL BCD ;調(diào)用BCE碼轉(zhuǎn)換程序</p><p> LCALL P3.3
68、 ;調(diào)用顯示程序顯示,供工作人員觀察和打印</p><p> ;以下是程序循環(huán)采樣一輪數(shù)據(jù)后返回</p><p> LJMP LOOP </p><p><b> ;鍵盤初始化程序</b></p><p><b> KeyCtrl:</b></p>
69、<p> MOV VALUE,P3.3</p><p> ANL VALUE,#0FH ;保留低四位,進行檢測</p><p> MOV R0,VALUE</p><p> DJNZ R0,KEYFUN</p><p><b> EXIT:</b></p><p><
70、b> RET</b></p><p><b> KEYFUN:</b></p><p><b> WAIT:</b></p><p> MOV R1,P3.3</p><p> ANL R1,#0FH</p><p> DJNZ R1,WAI
71、T ;一次按鍵有效</p><p> CJNE R0,#01H,ACTIVE ;功能鍵</p><p> CJNE 82H,#01H,EXIT ;功能鍵開戶前,不處理其它鍵</p><p> CJNE R0,#02H,KEY_INC ;增</p><p> CJNE R0,#04H,KEY_DEC ;減
72、</p><p> CJNE R0,#08H,KEY_ENTER ;確認</p><p> JMP EXIT ;都不是,可能出現(xiàn)同時按下多鍵,那么,返回</p><p><b> ACTIVE:</b></p><p> MOV ENABLE,#01H ;使其它鍵可處理<
73、;/p><p><b> JMP EXIT</b></p><p><b> KEY_INC:</b></p><p> MOV R1,CUR ;存儲需要修改的單元</p><p><b> INC @R1</b></p><p
74、><b> JMP EXIT</b></p><p><b> KEY_DEC:</b></p><p> MOV R1,CUR</p><p><b> DEC @R1</b></p><p><b> JMP EXIT</b>&
75、lt;/p><p> KEY_ENTER:</p><p><b> INC CUR</b></p><p> CJNZ CUR,#79H,NEXT</p><p> MOV CUR,#74H</p><p> MOV ACTIVE,#00H</p><p>
76、 MOV FLAG,#01H</p><p><b> NEXT:</b></p><p><b> JMP EXIT</b></p><p> DIS5 EQU 79H</p><p> FLAG EQU 80H</p><p> VALUE EQU 8
77、1H</p><p> ENABLE EQU 82H</p><p> CUR EQU 83H</p><p> ORG 0000H</p><p> AJMP MAIN</p><p> ORG 0030H</p><p><b> MAIN:</b
78、></p><p><b> INITIAL:</b></p><p> MOV SP,#30H</p><p> MOV CUR,#74H</p><p> CALL DisPlay</p><p> CALL KeyCtrl</p><p>&l
79、t;b> END</b></p><p><b> DisPlay:</b></p><p> DIR: </p><p> MOV SCON,#00H </p><p> MOV R1,#06H</p><p> MOV R0,#DIS5
80、;初始化結(jié)束</p><p><b> DIR0:</b></p><p><b> MOV A,@R0</b></p><p> MOV DPTR,#TAB</p><p> MOVC A,@A+DPTR</p><p> MOV SBUF,A</p>
81、<p><b> JNB TI,$</b></p><p><b> CLR TI</b></p><p><b> DEC R0</b></p><p> DJNZ R1,DIR0</p><p><b> RET</b><
82、/p><p> ;---------------------------------------</p><p><b> TAB: </b></p><p> DB 0C0H,0F9H,0A4H</p><p> DB 0B0H,99H,92H</p><p> DB 82H,0F
83、8H,80H</p><p> DB 90H,88H,83H</p><p> DB 0C6H,0A1H,86H</p><p> DB 8EH,0FFH</p><p> ;--------------------------------------- </p><p><b> KeyCt
84、rl:</b></p><p> MOV VALUE,P3</p><p> ANL VALUE,#0FH ;保留低四位,進行檢測</p><p> MOV R0,VALUE</p><p> DJNZ R0,KEYFUN</p><p><b> EXIT:</b>&l
85、t;/p><p><b> RET</b></p><p><b> KEYFUN:</b></p><p><b> WAIT:</b></p><p> MOV R1,P3</p><p> ANL R1,#0FH</p>&
86、lt;p> DJNZ R1,WAIT ;一次按鍵有效</p><p> CJNE R0,#01H,ACTIVE ;功能鍵</p><p> CJNE 82H,#01H,EXIT ;功能鍵開戶前,不處理其它鍵</p><p> CJNE R0,#02H,KEY_INC ;增</p><p> CJN
87、E R0,#04H,KEY_DEC ;減</p><p> CJNE R0,#08H,KEY_ENTER ;確認</p><p> JMP EXIT ;都不是,可能出現(xiàn)同時按下多鍵,那么,返回</p><p><b> ACTIVE:</b></p><p> MOV ENABLE,
88、#01H ;使其它鍵可處理</p><p><b> JMP EXIT</b></p><p><b> KEY_INC:</b></p><p> MOV R1,CUR ;存儲需要修改的單元</p><p><b> INC @R1</b
89、></p><p><b> JMP EXIT</b></p><p><b> KEY_DEC:</b></p><p> MOV R1,CUR</p><p><b> DEC @R1</b></p><p><b>
90、 JMP EXIT</b></p><p> KEY_ENTER:</p><p><b> INC CUR</b></p><p> CJNZ CUR,#79H,NEXT</p><p> MOV CUR,#74H</p><p> MOV ACTIVE,#00H&
91、lt;/p><p> MOV FLAG,#01H</p><p><b> NEXT:</b></p><p><b> JMP EXIT</b></p><p><b> DisPlay:</b></p><p> DIR: &
92、lt;/p><p> MOV SCON,#00H </p><p> MOV R1,#06H</p><p> MOV R0,#DIS5</p><p><b> ;初始化結(jié)束</b></p><p><b> DIR0:</b></p><p&
93、gt;<b> MOV A,@R0</b></p><p> MOV DPTR,#TAB</p><p> MOVC A,@A+DPTR</p><p> MOV SBUF,A</p><p><b> JNB TI,$</b></p><p><b>
94、 CLR TI</b></p><p><b> DEC R0</b></p><p> DJNZ R1,DIR0</p><p><b> RET</b></p><p> ;---------------------------------------</p>
95、<p><b> TAB: </b></p><p> DB 0C0H,0F9H,0A4H</p><p> DB 0B0H,99H,92H</p><p> DB 82H,0F8H,80H</p><p> DB 90H,88H,83H</p><p> DB
96、0C6H,0A1H,86H</p><p> DB 8EH,0FFH</p><p> ;-------------------------------------</p><p><b> 濾波程序如下:</b></p><p> #define A 10 #define N 12char value;
97、char filter()</p><p> { char count=0; char new_value; new_value = get_ad(); while (value !=new_value); { count++; if (c
98、ount>=N) return new_value; delay(); new_value = get_ad(); } return value; }{ char new_value;
99、60; new_value = get_ad(); if ( ( new_value - value > A ) || ( value - new_value > A ) return value; return new_value; }</p><p><b&
100、gt; 參考文獻:</b></p><p> 1、《機電一體化系統(tǒng)設(shè)計》.曾勵主編</p><p> 2、《單片微型計算機接口技術(shù)及其應(yīng)用》.張淑清 姜萬錄等編著</p><p> 3、《C語言程序設(shè)計》.耿植林等編著</p><p> 4、《單片機—典型模塊設(shè)計實例導(dǎo)航》.求是科技編著</p><p
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機課程設(shè)計——單片機控制步進電機控制系統(tǒng)設(shè)計
- 單片機溫度控制系統(tǒng)課程設(shè)計
- 單片機水位控制系統(tǒng)課程設(shè)計
- 課程設(shè)計--單片機溫度控制系統(tǒng)
- 單片機的控制系統(tǒng)課程設(shè)計
- 單片機課程設(shè)計-- 基于單片機的電梯控制系統(tǒng)
- 單片機的控制系統(tǒng)課程設(shè)計
- 單片機課程設(shè)計(溫度控制系統(tǒng))
- 單片機課程設(shè)計--基于單片機的水位控制系統(tǒng)設(shè)計
- 單片機課程設(shè)計--基于單片機的水位控制系統(tǒng)設(shè)計
- 單片機課程設(shè)計--溫度控制系統(tǒng)設(shè)計
- 單片機課程設(shè)計(洗衣機控制系統(tǒng))
- 單片機課程設(shè)計--步進電機控制系統(tǒng)
- 《單片機課程設(shè)計》---水塔水位控制系統(tǒng)
- 單片機課程設(shè)計--水塔水位控制系統(tǒng)
- 單片機課程設(shè)計--智能車燈控制系統(tǒng)
- 單片機水溫控制系統(tǒng)課程設(shè)計
- 單片機課程設(shè)計--單片機控制的交通燈控制系統(tǒng)設(shè)計
- 單片機課程設(shè)計--基于51單片機的溫度控制系統(tǒng)設(shè)計
- 單片機課程設(shè)計——基于51單片機的溫度控制系統(tǒng)設(shè)計
評論
0/150
提交評論