版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 控制技術(shù)課程設(shè)計(jì)</b></p><p> 關(guān)于鍋爐溫度控制的系統(tǒng)設(shè)計(jì)</p><p> 該設(shè)計(jì)以單片機(jī)為控制器,對(duì)顯示電路,溫度檢測(cè)電路,人機(jī)接口電路,鍵盤電路,報(bào)警電路,執(zhí)行電路等主要電路進(jìn)行具體設(shè)計(jì),以實(shí)現(xiàn)鍋爐水溫的控制。</p><p> 所選硬件:51單片機(jī)、熱電阻Pt100、78M系列三端集成穩(wěn)壓
2、器、</p><p><b> 控制系統(tǒng)原理框圖</b></p><p> 圖 1 控制系統(tǒng)原理框圖</p><p> 系統(tǒng)電源選擇:主控電路所需的+5V電源;外圍電路(如繼電器、運(yùn)算放大器)所需的+12V和-12V電源,這里考慮實(shí)際性價(jià)比、體積等因素后,選用了78M12、79M12、78M05三端穩(wěn)壓器提供相應(yīng)的穩(wěn)定電壓。</p
3、><p> 采用單片機(jī)最小系統(tǒng)原理</p><p> 51單片機(jī)的最小系統(tǒng)由單片機(jī)芯片、電源、時(shí)鐘電路、和復(fù)位電路組成。</p><p> 晶振時(shí)鐘電路用來產(chǎn)生時(shí)鐘信號(hào),以提供單片機(jī)片內(nèi)各種數(shù)字邏輯電路工作的時(shí)間基準(zhǔn)。按鍵S6_1能實(shí)現(xiàn)手動(dòng)復(fù)位,電容C6_1能實(shí)現(xiàn)上電復(fù)位,復(fù)位電路用來使片內(nèi)電路完成初始化的操作,具體功能是使程序計(jì)數(shù)器PC=0000H,引導(dǎo)程序從0
4、000H地址單元開始執(zhí)行; SFR中的21個(gè)特殊功能寄存器復(fù)位后的狀態(tài)是確定。</p><p> 圖2 單片機(jī)最小系統(tǒng)原理圖</p><p><b> 溫度信號(hào)測(cè)量電路</b></p><p> 如下圖,溫度信號(hào)測(cè)量處理電路,利用熱電阻Pt100作為溫度傳感器件,然后通過運(yùn)算放大器OP-07構(gòu)建差分放大電路將溫度信號(hào)轉(zhuǎn)換成ADC0809
5、模擬通道的輸入標(biāo)準(zhǔn)電壓信號(hào)。將Pt100接入到電橋中,如圖6 溫度測(cè)量信號(hào)處理電路所示,由Pt100的阻值來反映鍋爐的溫度的變化,電橋輸出電壓為:Uba=Vcc[R1_4/( R1_2+R1_4)- R1_3/( R1_1+R1_3)] (其中下橋臂R1_3=100Ω,R1_4=1K,上橋臂R1_2=1K,Vcc=5V),所以Uba=5*[1K/( 1K+1K)- R1_3/( R1_1+100)]=2.5-5* 100/( R1_1+
6、100)</p><p> 其中AR1作用是將電橋電位Vb、Va作差分比例放大作用,由差分比例運(yùn)算放大電路的計(jì)算方式:Auf = Uo1/(U1_ - U1+)=- R1_8/R1_6(其中R1_8=100K,R1_6=10K,U1_ - U1+=-Uba)從而得到:Uo1=10Uba=25-50* 100/( R1_1+100)。</p><p> 圖 3 溫度測(cè)量信號(hào)處理電路&
7、lt;/p><p> 查資料可得PT100鉑電阻的電阻-溫度關(guān)系線性度非常好,電阻-溫度的關(guān)系可以近似確實(shí)測(cè)量上限溫度,Uo1=25-50* 100/( R1_1+100),當(dāng)Uo1=5V時(shí),可以計(jì)算出測(cè)量上限溫度時(shí)對(duì)應(yīng)的電阻為:150歐姆,查Pt100的分度表,可得:測(cè)量上限溫度為131℃,即當(dāng)t=0℃時(shí),可得Uo1=0V;當(dāng)t=131℃時(shí),可得Uo1=5V。</p><p><b&
8、gt; A/D轉(zhuǎn)換單元</b></p><p> 經(jīng)過溫度信號(hào)測(cè)量處理電路后所得到的0—5V電壓模擬信號(hào)要經(jīng)過A/D轉(zhuǎn)換后才能送給單片機(jī),如下溫度信號(hào)AD轉(zhuǎn)換電路圖所示,電壓模擬信號(hào)輸入給IN-0通道,轉(zhuǎn)換完成后,輸送給單片機(jī)的P0口。</p><p> 圖 4 溫度信號(hào)AD轉(zhuǎn)換電路圖</p><p> 其中ADC0809的A、B、C三個(gè)端
9、口作為它IN0-IN8八個(gè)輸入通道的選擇信號(hào),由于此處只用到了IN0通道,所以將此A、B、C三個(gè)端口全部接地,電路中ADC0809的轉(zhuǎn)換結(jié)束信號(hào)引腳EOC接在單片機(jī)P3.5上,單片機(jī)啟動(dòng)ADC0809的轉(zhuǎn)換后,延時(shí)一段時(shí)間,然后程序采取掃描方式檢測(cè)ADC0809是否轉(zhuǎn)換結(jié)束,單片機(jī)然后去檢測(cè)P3.5電平,當(dāng)接收到一個(gè)高電平時(shí),發(fā)出一個(gè)READ信號(hào),使得ADC0809輸出鎖存緩沖器開放,將數(shù)據(jù)輸送到數(shù)據(jù)線上,從而完成溫度數(shù)字信號(hào)的采集過程
10、。</p><p> 該控制系統(tǒng)的輸出模塊</p><p> 該控制系統(tǒng)的輸出單元主要有三個(gè):(1) 繼電器輸出控制加熱執(zhí)行機(jī)構(gòu)的開與關(guān)。(2)當(dāng)水溫高于上限溫度和低于下限溫度時(shí),系統(tǒng)進(jìn)行聲光報(bào)警。(3)數(shù)碼管用于顯示用戶設(shè)定的溫度、上限溫度、下限溫度和當(dāng)前溫度值。</p><p><b> 繼電器輸出</b></p>&l
11、t;p> 加熱執(zhí)行機(jī)構(gòu)的開與關(guān)狀態(tài)由固態(tài)繼電器來控制,如下圖所示。</p><p> 圖 5 固態(tài)繼電器輸出電路</p><p> 當(dāng)系統(tǒng)采集到溫度信號(hào)后與設(shè)定溫度進(jìn)行比較得到一個(gè)偏差,然后通過PID運(yùn)算,從單片機(jī)P1.0口輸出一個(gè)PWM波,PWM波形的高電平期間,固態(tài)繼電器SSR輸入端IN1為高電平,從而OUT1和OUT2兩觸點(diǎn)閉合,將加熱執(zhí)行機(jī)構(gòu)加熱絲連入到交流2
12、20V回路中,控制加熱機(jī)構(gòu)對(duì)鍋爐進(jìn)行加熱動(dòng)作,與此同時(shí)工作指示燈LED點(diǎn)亮。PWM波形低電平期間,SSR輸入端IN1為低電平,從而OUT1和OUT2兩觸點(diǎn)斷開,將加熱執(zhí)行機(jī)構(gòu)加熱絲從220V回路中切斷,控制加熱機(jī)構(gòu)對(duì)鍋爐停止加熱,與此同時(shí)工作指示燈LED點(diǎn)熄滅。</p><p> 關(guān)于選用固態(tài)繼電器SSR</p><p> 由于本系統(tǒng)加熱執(zhí)行機(jī)構(gòu)的開與關(guān)狀態(tài)交替比較頻繁,一般的機(jī)械式繼
13、電器在這種工作模式下使用壽命大大降低,所以難以滿足這一要求,考慮各種因素選用固態(tài)繼電器SSR。與一般機(jī)械式繼電器相比,固態(tài)繼電器有如下優(yōu)點(diǎn):</p><p> 高壽命,高可靠、 靈敏度高,控制功率小,電磁兼容性好: 快速轉(zhuǎn)換 、電磁干擾小</p><p><b> 聲光報(bào)警電路</b></p><p> 如聲光報(bào)警電路圖所示, 聲光報(bào)警電
14、路所示:當(dāng)水溫高于上限溫度、低于下限溫度或者在誤輸入時(shí),單片機(jī)P1.1口給warn一個(gè)低電平信號(hào)來導(dǎo)通三極管8550以驅(qū)動(dòng)蜂鳴器和LED燈,進(jìn)行系統(tǒng)聲光報(bào)警。當(dāng)溫度恢復(fù)到設(shè)置范圍內(nèi)后,聲光報(bào)警自動(dòng)撤銷。</p><p> 圖 6 聲光報(bào)警電路</p><p><b> 顯示電路</b></p><p> 用于顯示用戶設(shè)定的溫度
15、、上限溫度、下限溫度和當(dāng)前溫度值等,精確到小數(shù)點(diǎn)后一位。如下圖所示,單片機(jī)的P2口輸出段選編碼,P3.0、P3.1、P3.2、P3.3分別為四位數(shù)碼管的位選編碼。</p><p> 當(dāng)其中位選編碼輸出低電平時(shí),三極管8550導(dǎo)通,使得共陽極數(shù)碼管公共端得到一個(gè)高電平,同時(shí)P2口輸出相應(yīng)的要顯示的數(shù)字共陽極字型碼并通過74HC573將段碼信號(hào)鎖存輸出。</p><p> 圖 7 溫度
16、數(shù)碼管顯示</p><p><b> 3.6 鍵盤電路</b></p><p> 鍵盤是用來給用戶提供設(shè)置設(shè)定溫度上限值、下限值、顯示溫度等功能。如下圖,</p><p> 圖 8 鍵盤電路及功能說明</p><p> 當(dāng)按鍵沒有被按下時(shí),P1.3-P1.7通過下拉電阻接地,單片機(jī)此時(shí)檢測(cè)的電平是低電平,當(dāng)
17、有鍵按下時(shí),對(duì)應(yīng)P1.3-P1.7中的引腳與VCC接通,單片機(jī)此時(shí)檢測(cè)的電平是高電平。</p><p> 鍋爐溫度控制系統(tǒng)軟件設(shè)計(jì)</p><p><b> 主程序流程圖及分析</b></p><p> 在鍋爐溫度控制系統(tǒng)中,主程序的功能主要是實(shí)現(xiàn)初始化,溫度采集A/D轉(zhuǎn)換,溫度值</p><p><b>
18、; 開始</b></p><p><b> 是否滿足報(bào)警條件?</b></p><p><b> N</b></p><p><b> Y</b></p><p><b> 是否有按鍵?</b></p><p>
19、;<b> Y</b></p><p> 圖 9 主程序流程圖</p><p> 溫度值顯示,將實(shí)際溫度與設(shè)定值進(jìn)行比較進(jìn)行PID運(yùn)算,輸出PWM波形控制SSR并判斷是否要啟動(dòng)報(bào)警,反復(fù)對(duì)鍵盤進(jìn)行掃描從而更新溫度參數(shù)設(shè)置、顯示。圖18是系統(tǒng)分配裝置的主程序流程圖。</p><p><b> 子程序流程圖及分析<
20、/b></p><p> 本系統(tǒng)子程序主要有:數(shù)碼管顯示程序、AD轉(zhuǎn)換程序、鍵盤掃描程序、PID控制算法子程序。</p><p><b> 開始</b></p><p><b> 四位是否全部顯示?</b></p><p> 圖 10 數(shù)碼管顯示程序操作流程圖</p>
21、<p><b> 開始</b></p><p> N 轉(zhuǎn)換是</p><p><b> 否完成?</b></p><p><b> Y</b></p><p> 圖 11 A/D轉(zhuǎn)換程序操作流程圖</p><p>
22、;<b> 是否有按鍵?</b></p><p><b> Y</b></p><p><b> 是否有按鍵?</b></p><p><b> 按鍵已釋放?</b></p><p> 圖 12 按鍵檢測(cè)與處理流程圖</p><
23、;p><b> 開始</b></p><p><b> 返回</b></p><p> 圖 13 PID控制算法程序流程圖</p><p><b> 單片機(jī)溫度控制程序</b></p><p> 程序:LCD2402.ASM 01 ; ――――――――――――
24、―――――――――――――――――――</p><p> 02 ; 溫度值存放單元 </p><p> 03 TEMP_ZH EQU 24H ;實(shí)時(shí)溫度值存放單元</p><p> 04 TEMPL EQU 25H ;低溫度值存放單元</p><p> 05 TEMPH EQU 26H ;高溫度值存放單元</p><
25、;p> 06 TEMP_TH EQU 27H ;高溫報(bào)警值存放單元</p><p> 07 TEMP_TL EQU 28H ;低溫報(bào)警值存放單元</p><p> 08 TEMPHC EQU 29H ;存十位數(shù) BCD 碼 </p><p> 09 TEMPLC EQU 2AH ;存?zhèn)€位數(shù) BCD 碼</p><p> 10
26、;―――――――――――――</p><p> 11 按鍵輸入引腳定義 </p><p> 12 K1 EQU P2.1 </p><p> 13 K2 EQU P2.2 </p><p> 14 K3 EQU P2.3 </p><p> 15 K4 EQU P2.4</p><p>
27、; 16 ;――――――――――――― </p><p> 17 SPK EQU P3.4 ;蜂鳴器引腳 </p><p> 18 RELAY EQU P2.0 ;繼電器引腳 </p><p> 19 X EQU 2FH ;LCD 地址變量 </p><p> 20 ;――――――――――――― </p><p&
28、gt; 21 ;LCD 控制引腳 </p><p> 22 RS EQU P3.5 </p><p> 23 RW EQU P3.6 </p><p> 24 E EQU P3.7 </p><p> 25 ;――――――――――――― </p><p> 26 FLAG EQU 20H.0 ;DS18B2
29、0 是否存在標(biāo)記 </p><p> 27 KEY_UD EQU 20H.1 ;設(shè)定 KEY 的 UP 與 DOWN 標(biāo)記 </p><p> 28 DQ EQU P2.5 </p><p><b> 29 </b></p><p> 30 ;============= 主程序 ============== &l
30、t;/p><p><b> 31 </b></p><p><b> 32 MAIN:</b></p><p> 33 ACALL SET_LCD ;LCD 初始化設(shè)置子程序 </p><p> 34 ACALL WR_THL ;將報(bào)警上下線寫入暫存寄存器子程序 </p><
31、p> 35 TOOP: ACALL RESET_1820 ;調(diào)用 18B20 復(fù)位子程序</p><p> 36 JNB FLAG,TOOP1 ;DS1820 不存在轉(zhuǎn)移 TOOP1 處</p><p> 37 ACALL MEU_OK ;調(diào)用顯示"OK"信息子程序</p><p> 38 ACALL RE_THL ;把 EEROM
32、 里溫度報(bào)警值拷貝回暫存器 </p><p> 39 ACALL TEMP_BJ ;顯示溫度標(biāo)記"℃" </p><p> 40 JMP TOOP2 41 TOOP1: ACALL MEU_ERROR ;顯示"ERROR"信息</p><p> 42 ACALL TEMP_BJ ;顯示溫度標(biāo)記 43 JMP $ ;等待
33、</p><p> 44 ;―――――――――――――― </p><p><b> 45 TOOP2:</b></p><p> 46 ACALL RE_TEMP ;調(diào)用讀取溫度數(shù)據(jù)子程序 </p><p> 47 ACALL SET_DATA ;調(diào)用處理顯示溫度數(shù)據(jù)子程序</p><p&g
34、t; 48 ACALL TEMP_COMP ;實(shí)際溫度值與標(biāo)記溫度值比較子程序</p><p> 49 ACALL P_KEY ;調(diào)用按鍵掃描子程序 </p><p> 50 SJMP TOOP2 ;循環(huán)</p><p><b> 51</b></p><p> 52 ;--------―― 讀取溫度數(shù)據(jù)子程序
35、 --------―― </p><p> 53 RE_TEMP: 54 ACALL RESET_1820 ;18B20 復(fù)位子程序</p><p> 55 JNB FLAG,TOOP1 ;DS1820 不存在</p><p> 56 MOV A,#0CCH ;跳過 ROM 匹配 </p><p> 57 ACALL WRITE_18
36、20 ;寫入子程序</p><p> 58 MOV A,#44H ;發(fā)出溫度轉(zhuǎn)換命令 </p><p> 59 ACALL WRITE_1820 ;調(diào)寫入子程序</p><p> 60 ACALL RESET_1820 ;調(diào)復(fù)位子程序</p><p> 61 MOV A,#0CCH ;跳過 ROM 匹配 </p><
37、;p> 62 ACALL WRITE_1820 ;寫入子程序</p><p> 63 MOV A,#0BEH ;發(fā)出讀溫度命令 </p><p> 64 ACALL WRITE_1820 ;寫入子程序 </p><p> 65 ACALL READ_1820 ;調(diào)用讀取子程序 </p><p><b> 66 RET
38、</b></p><p><b> 67 </b></p><p> 68 ;-------- 溫度數(shù)據(jù)處理顯示子程序---------- </p><p> 69 SET_DATA: </p><p> 70 ACALL CONV_TEMP ;處理溫度 BCD 碼子程序</p><
39、;p> 71 ACALL DISP_BCD ;顯示區(qū) BCD 碼溫度值刷新子程序 </p><p> 72 ACALL CONV ;LCD 顯示子程序 </p><p><b> 73 RET </b></p><p><b> 74 </b></p><p> 75;-------
40、---- 按鍵鍵掃描子程序 ----------</p><p> 76 P_KEY: ;按鍵 K1 處理 </p><p> 77 JB K1, PK1 ;K1 鍵未按,轉(zhuǎn)到 PK1 處 </p><p> 78 ACALL SPK_BZ ;K1 鍵按下,一聲鳴響</p><p> 79 JNB K1,$ ;等按鍵放開</p&
41、gt;<p> 80 MOV DPTR,#M_ALAX1 ;存 M_ALAX1 表 </p><p> 81 MOV A,#1 82 ACALL LCD_PRINT ;顯示字符</p><p> 83 ACALL LOOK_ALARM ;顯示信息區(qū)子程序 </p><p> 84 JB K3, $ ;等待 K3 按下</p>&l
42、t;p> 85 ACALL SPK_BZ ;一聲鳴響 </p><p> 86 JMP PK2 ;轉(zhuǎn)到標(biāo)號(hào) PK2 處 </p><p> 87 PK1: ; 按鍵 K2 處理 </p><p> 88 JB K2, PK3 ;K2 鍵未按,轉(zhuǎn)到 PK3 處 </p><p> 89 ACALL SPK_BZ ;K2 鍵按下,
43、一聲鳴響 </p><p> 90 JNB K2,$ ;等按鍵放開</p><p> 91 MOV DPTR, #TA1 ;存#TA1 表 </p><p> 92 MOV A,#1</p><p> 93 ACALL LCD_PRINT ;顯示字符 </p><p> 94 ACALL SET_ALARM
44、;設(shè)定報(bào)警值 TH、TL</p><p> 95 ACALL WR_THL ;將設(shè)定的 TH,TL 值寫入 DS18B20 內(nèi) </p><p> 96 ACALL WRITE_E2 ;調(diào)用報(bào)警值拷貝 EEROM 子程序 </p><p><b> 97 PK2: </b></p><p> 98 ACALL M
45、EU_OK ;顯示"OK"信息子程序</p><p> 99 ACALL TEMP_BJ ;顯示溫度標(biāo)記子程序 </p><p><b> 100 PK3:</b></p><p><b> 101 RET</b></p><p> 102 ;―――――――――――――
46、</p><p> 103 TA1: ;菜單表 </p><p> 104 DB "RESET ALERT CODE" </p><p> 105 ;―――――――――――――</p><p><b> 106</b></p><p> 107 ;---------
47、設(shè)定報(bào)警值 TH、TL 子程序 -------- </p><p> 108 SET_ALARM:</p><p> 109 ACALL LOOK_ALARM ;調(diào)用顯示信息區(qū)子程序 </p><p> 110 A0: JB K1,A2 ;按下 K1(查看鍵),</p><p> 程序向下運(yùn)行 111 ACALL SPK_BZ ;蜂鳴
48、器響一聲 </p><p> 112 JNB K1,$ ;等放開</p><p> 113 CPL 20H.1 ;UP/DOWN 標(biāo)記反向 </p><p> 114 A2: JB 20H.1,A3 ;20H.1=1,UP,轉(zhuǎn)移到 A3。</p><p> 115 JMP A8 ;20H.1=0,DOWN,轉(zhuǎn)移到 A8</p&g
49、t;<p> 116 ;――――――――――――― </p><p> 117 ; TH 值調(diào)整(增加)</p><p> 118 A3: JB K2, A5 ;按下 K2(設(shè)定鍵),程序向下運(yùn)行</p><p> 119 ACALL SPK_BZ ;蜂鳴器響一聲</p><p> 120 INC TEMP_TH ;T
50、H 值調(diào)整(增加)</p><p> 121 MOV A,TEMP_TH ;TH 值送入 A </p><p> 122 CJNE A,#120,A4 ;TH 值增到 120,程序向下運(yùn)行 </p><p> 123 MOV TEMP_TH,#0 ;TH 值清 0 </p><p> 124 A4: ACALL LOOK_ALARM
51、;調(diào)用顯示信息區(qū)子程序 </p><p> 125 MOV R5, #10</p><p> 126 ACALL DELAY ;調(diào)用延時(shí)程序 </p><p> 127 JMP A3 ;循環(huán) </p><p> 128 ;――――――――――――― </p><p> 129 ;TL 值調(diào)整(增加) <
52、/p><p> 130 A5: JB K3,A7 ;按下 K3(TL 值設(shè)定鍵)程序向下運(yùn)行</p><p> 131 ACALL SPK_BZ ;蜂鳴器響一聲</p><p> 132 INC TEMP_TL ;TL 值增加 1 </p><p> 133 MOV A, TEMP_TL ;TL 值送入 A </p><
53、;p> 134 CJNE A,#99,A6 ;比較,若 A=99,程序向下運(yùn)行 </p><p> 135 MOV TEMP_TL,#00H ;TL 值清 0 </p><p> 136 A6: ACALL LOOK_ALARM ;調(diào)用顯示信息區(qū)子程序 </p><p> 137 MOV R5, #10 </p><p> 1
54、38 ACALL DELAY ;調(diào)用延時(shí)程序 </p><p> 139 JMP A5 ;程序轉(zhuǎn)移到 A5,循環(huán)</p><p> 140 ;――――――――――――― </p><p> 141 ;確定調(diào)整 OK</p><p> 142 A7: JB K4, A0 ;按下 K4(調(diào)整確定鍵),程序向下運(yùn)行</p>&
55、lt;p> 143 ACALL SPK_BZ ;蜂鳴器響一聲 </p><p> 144 JNB K4, $ ;等放開 </p><p> 145 RET ;程序返回 </p><p> 146 ;――――――――――――― </p><p> 147 ;TH 值調(diào)整 (減少) </p><p> 1
56、48 A8: JB K2, A10 ;按下 K2(設(shè)定鍵),程序向下運(yùn)行 </p><p> 149 ACALL SPK_BZ ;蜂鳴器響一聲 </p><p> 150 DEC TEMP_TH ;TH 值減 1</p><p> 151 MOV A,TEMP_TH ;TH 值送入 A </p><p> 152 CJNE A,#0F
57、FH,A9 ;比較,若 A=0FF,程序向下運(yùn)行 </p><p> 153 JMP A12 ;轉(zhuǎn)移到 A12 </p><p> 154 A9: ACALL LOOK_ALARM ;調(diào)用顯示信息區(qū)子程序</p><p> 155 MOV R5, #10 </p><p> 156 ACALL DELAY ;調(diào)用延時(shí)子程序 </
58、p><p> 157 JMP A0 ;轉(zhuǎn)移到 A12</p><p> 158 ;―――――――――――――― </p><p> 159 ;TL 值調(diào)整(減少) </p><p> 160 A10: JB K3, A13 ;按 K3(TL 值設(shè)定鍵),程序向下運(yùn)行 </p><p> 161 ACALL SPK
59、_BZ ;蜂鳴器響一聲</p><p> 162 DEC TEMP_TL ;TL 值減 1</p><p> 163 MOV A,TEMP_TL ;TH 值送入 A </p><p> 164 CJNE A,#0FFH,A11 ;比較,若 A=0FF,程序向下運(yùn)行</p><p> 165 JMP A12 ;轉(zhuǎn)移到 A12 </
60、p><p> 166 A11: ACALL LOOK_ALARM ;調(diào)用顯示信息區(qū)子程序</p><p> 167 MOV R5, #10 </p><p> 168 ACALL DELAY ;調(diào)用延時(shí)子程序 </p><p> 169 JMP A0 ;轉(zhuǎn)移到 A0 </p><p> 170 A12: CPL
61、20H.1 ;UP/DOWN 標(biāo)記反向 </p><p> 171 JMP A3 ;轉(zhuǎn)移到 A3 ,TH 值調(diào)整(增加)</p><p> 172 A13: JMP A7 ;轉(zhuǎn)移到 A7 ,確定調(diào)整 OK </p><p> 173 RET ;子程序返回 </p><p><b> 174 </b></p&
62、gt;<p> 175 ;---------- 顯示信息區(qū)子程序 ----------- </p><p> 176 LOOK_ALARM: </p><p> 177 MOV DPTR,#M_ALAX2 ;存表</p><p> 178 MOV A,#2 ;顯示在第二行 </p><p> 179 ACALL LCD
63、_PRINT ;調(diào)用顯示字符子程序 </p><p> 180 MOV A,#0C6H ;顯示起始地址為第二行第 7 位</p><p> 181 ACALL TEMP_BJ1 ;調(diào)用顯示溫度標(biāo)記子程序 </p><p> 182 MOV A,TEMP_TH ;加載 TH 數(shù)據(jù) </p><p> 183 MOV X,#3 ;設(shè)置位置
64、</p><p> 184 ACALL SHOW_LINE2H ;顯示數(shù)據(jù) </p><p> 185 ;――――――――――――― </p><p> 186 MOV A,#0CEH ;設(shè)定顯示起始地址為第二行第 15 位</p><p> 187 ACALL TEMP_BJ1 ;調(diào)用顯示溫度標(biāo)記子程序 </p>&l
65、t;p> 188 MOV A,TEMP_TL ;加載 TL 數(shù)據(jù) 189 MOV X,#12 ;設(shè)置位置 </p><p> 190 ACALL SHOW_LINE2L ;顯示數(shù)據(jù) </p><p><b> 191 RET </b></p><p> 192 ;―――――――――――――― </p><p&g
66、t; 193 M_ALAX1:</p><p> 194 DB " LOOK ALERT CODE",0 </p><p> 195 M_ALAX2: </p><p> 196 DB "TH: TL: ",0 </p><p> 197 ;―――――――――――――― </p>
67、<p> 198 ;――――――顯示溫度標(biāo)記子程序―――――― </p><p> 199 TEMP_BJ1: </p><p> 200 ACALL WR_COMM ;調(diào)用寫指令子程序 </p><p> 201 MOV DPTR,#BJ2 ;存代碼表</p><p> 202 MOV R1,#0 ;使指針指到表中第一
68、個(gè)碼</p><p> 203 MOV R0,#2 ;取碼次數(shù) </p><p> 205 B0: MOV A,R1 ;A 為 0 </p><p> 206 MOVC A,@A+DPTR ;讀取碼 </p><p> 207 ACALL WR_DATA ;調(diào)用寫數(shù)據(jù)子程序</p><p> 208 INC
69、R1 ;R1 值加 1 </p><p> 209 DJNZ R0,B0 ;判斷是否將代碼讀取完? </p><p><b> 210 RET</b></p><p> 211 ;――――――――――――― </p><p> 212 BJ2: ;代碼表 </p><p> 213 DB
70、 00H,"C" </p><p> 214 ;――――――――――――― </p><p><b> 215 </b></p><p> 216 ;―――――在 LCD 的第二行顯示高溫?cái)?shù)字―――― </p><p> 217 SHOW_LINE2H: </p><p&g
71、t; 218 MOV B,#100 ;設(shè)置被除數(shù),B 為百位數(shù) </p><p> 219 DIV AB ;除法運(yùn)算,結(jié)果 A 存商數(shù),B 存余數(shù)</p><p> 220 ADD A,#30H ;低半字節(jié)加 30 得到 ASCII 碼(轉(zhuǎn)換為字符)</p><p> 221 PUSH B ;B 放入堆棧暫存起來</p><p>
72、222 MOV B,X ;設(shè)置 LCD 顯示的位置 </p><p> 223 ACALL LCDP2 ;由 LCD 顯示出來 </p><p> 224 ;―――――――――――――</p><p> 225 POP B ;B 由堆棧取出來 </p><p> 226 MOV A,#0AH ;A 賦值 10 </p>
73、<p> 227 XCH A,B ;A、B 數(shù)據(jù)互換,B 為十位數(shù)</p><p> 228 DIV AB ;除法運(yùn)算,結(jié)果 A 存商數(shù),B 存余數(shù)</p><p> 229 ADD A,#30H ;轉(zhuǎn)換為字符</p><p> 230 INC X ;LCD 顯示位位置加 1</p><p> 231 PUSH B ;B
74、放入堆棧暫存起來 </p><p> 232 MOV B,X ;設(shè)置 LCD 顯示的位置 </p><p> 233 ACALL LCDP2 ;由 LCD 顯示出來 </p><p> 234 ;――――――――――――― </p><p> 235 POP B ;B 由堆棧取出來 </p><p> 236
75、 INC X ;LCD 顯示位位置加 1 </p><p> 237 MOV A,B ;B 為個(gè)位數(shù) </p><p> 238 MOV B,X ;設(shè)置 LCD 顯示的位置 </p><p> 239 ADD A,#30H ;轉(zhuǎn)換為字符</p><p> 240 ACALL LCDP2 ;由 LCD 顯示出來</p>&
76、lt;p><b> 241 RET</b></p><p><b> 242 </b></p><p><b> 調(diào)試</b></p><p> 在硬件設(shè)計(jì)和軟件設(shè)計(jì)完成以后,就是系統(tǒng)調(diào)試環(huán)節(jié),本次設(shè)計(jì)的調(diào)試是在多功能單片機(jī)實(shí)驗(yàn)板上完成。借助于多功能單片機(jī)實(shí)驗(yàn)板,利用實(shí)驗(yàn)板上的5個(gè)獨(dú)立按
77、鍵、四位數(shù)碼管顯示,蜂鳴器和發(fā)光二極管、再連接上Pt100組建成電橋,用小水箱裝適量水模擬成一個(gè)電鍋爐,用電熱絲通過固態(tài)繼電器SSR串接在220V交流電源上準(zhǔn)備對(duì)水箱里的水進(jìn)行加熱。</p><p> 整個(gè)實(shí)驗(yàn)調(diào)試過程和現(xiàn)象如下:</p><p> 當(dāng)實(shí)驗(yàn)板通電后,數(shù)碼顯示當(dāng)前溫度(當(dāng)時(shí)未處理的水溫為24.6℃),按下“功能鍵”一次后進(jìn)入溫度設(shè)定值的修改中,此時(shí)LED顯示初始化程序中一
78、開始保存的溫度設(shè)定初始值25℃,通過“位選鍵”、“加一鍵”和“減一鍵”將溫度設(shè)定值為80℃;再按下“功能鍵”一次后進(jìn)入溫度上限值修改中,此時(shí)顯示初始化程序中一開始保存的溫度設(shè)定上限值50℃,用同樣的方法將溫度上限值設(shè)為90℃;再按下“功能鍵”一次后進(jìn)入溫度下限值修改中,因?yàn)楫?dāng)前模擬鍋爐中的水未經(jīng)處理,未避免不必要的聲光報(bào)警,先暫時(shí)將下限溫度設(shè)置為低當(dāng)前水溫的值。設(shè)置完畢后,按下“確定鍵”單片機(jī)把所有設(shè)置參數(shù)保存在相應(yīng)的存儲(chǔ)單元中并且LE
79、D返回到顯示當(dāng)前水溫度的狀態(tài),然后固態(tài)繼電器SSR受PWM波的控制進(jìn)入長時(shí)間開啟狀態(tài),加熱絲對(duì)水箱里的水加熱。當(dāng)溫度靠近80℃時(shí),加熱絲在每個(gè)周期中的加熱時(shí)間逐漸減短。直到達(dá)到一個(gè)80℃水溫的平衡狀態(tài)。然后進(jìn)入下限溫度設(shè)置中,將下限值設(shè)為70℃。</p><p> 接下來,調(diào)試超過上限溫度聲光報(bào)警,在水箱中再加入另外一個(gè)加熱絲將水箱中的溫度進(jìn)行加熱,使水箱的溫度顯示往上加,當(dāng)溫度值一旦高于90℃,實(shí)驗(yàn)板上的蜂鳴
80、器和LED進(jìn)行聲光報(bào)警,撤掉后面添加的加熱絲,往水箱中緩慢地均勻加入冷水,觀察到的現(xiàn)象是,當(dāng)溫度低于90℃后,聲光報(bào)警立即自動(dòng)撤消,系統(tǒng)進(jìn)入正常恒溫狀態(tài)。</p><p> 最后,調(diào)試低于下限溫度聲光報(bào)警,將固態(tài)繼電器SSR連接的加熱絲斷開,往水箱中緩慢地均勻加入冷水,觀察到的現(xiàn)象是,當(dāng)溫度低于70℃后,聲光報(bào)警立即停止,然后在水箱中加入另外一個(gè)加熱絲將水箱中的溫度進(jìn)行加熱,使水箱的溫度顯示往上加,當(dāng)溫度值一旦
81、達(dá)到80℃,聲光報(bào)警立即自動(dòng)撤消。</p><p> 通過以上整個(gè)調(diào)試過程,可知此系統(tǒng)硬件和軟件能夠達(dá)到預(yù)期的自動(dòng)控制要求。</p><p> 該溫度控制系統(tǒng)指標(biāo)如下:</p><p> 用單片機(jī)作為控制器,采用模塊設(shè)計(jì)方法,對(duì)系統(tǒng)硬件、軟件進(jìn)行詳細(xì)的設(shè)計(jì)</p><p> 鍋爐溫度控制在0-100℃左右。</p>&l
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 鍋爐溫度課程設(shè)計(jì)--鍋爐溫度串級(jí)控制系統(tǒng)設(shè)計(jì)
- 檢測(cè)技術(shù)課程設(shè)計(jì)---鍋爐溫度控制系統(tǒng)的設(shè)計(jì)
- 鍋爐溫度控制系統(tǒng)設(shè)計(jì)
- 鍋爐溫度控制系統(tǒng)設(shè)計(jì)
- 鍋爐溫度控制系統(tǒng)的設(shè)計(jì)
- 基于變頻器的plc的鍋爐溫度控制課程設(shè)計(jì)
- 課程設(shè)計(jì)----電阻爐溫度控制系統(tǒng)
- 微機(jī)控制課程設(shè)計(jì)--電阻爐溫度控制系統(tǒng)設(shè)計(jì)
- 退火爐溫度控制系統(tǒng)課程設(shè)計(jì)
- 過程控制課程設(shè)計(jì)--鍋爐溫度定值智能儀表控制系統(tǒng)
- 課程設(shè)計(jì)退火爐溫度控制系統(tǒng)
- 電鍋爐溫度控制系統(tǒng)的設(shè)計(jì)
- 樓宇自動(dòng)化課程設(shè)計(jì)--關(guān)于鍋爐蒸汽溫度控制系統(tǒng)的設(shè)計(jì)
- 過程控制課程設(shè)計(jì)---加熱爐溫度控制
- 過程控制課程設(shè)計(jì)--鋼坯加熱爐溫度控制系統(tǒng)設(shè)計(jì)
- 課程設(shè)計(jì)-鍋爐過熱蒸汽溫度控制系統(tǒng)
- 工業(yè)爐溫度串級(jí)控制課程設(shè)計(jì)
- 課程設(shè)計(jì)--加熱爐溫度串級(jí)控制系統(tǒng)(設(shè)計(jì)部分)
- 課程設(shè)計(jì)---鍋爐過熱蒸汽溫度控制系統(tǒng)
- 過程控制課程設(shè)計(jì)--燃油加熱爐溫度控制系統(tǒng)
評(píng)論
0/150
提交評(píng)論