




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
課題3 多加熱爐爐溫檢測系統(tǒng)設(shè)計一.任務(wù)及要求:1.加熱爐的爐溫可以在 60℃~180℃之間任意調(diào)節(jié);2.系統(tǒng)每隔3秒鐘檢測一遍爐溫(三個爐子);3.利用六位七段碼顯示器實時顯示加熱爐的爐號和實際溫度,顯示值為十進制數(shù)值。顯示器的右三位顯示加熱爐的爐號,左三位顯示實際值。程序啟動運行之后即開始循環(huán)顯示,每次顯示時間為3秒鐘;4.分別記錄各加熱爐的實際爐溫數(shù)據(jù),輪流顯示。每檢測一次即保存一次,循環(huán)刷新;5.對應(yīng)各加熱爐擴展功能按鍵。功能鍵按下后不影響檢測功能,僅影響顯示功能。具體要求如下:⑴在循環(huán)顯示方式下,按下某一功能鍵之后,七段碼顯示器即顯示對應(yīng)加熱爐的爐號和實際溫度。如果此時按下另外功能鍵則不起作用,既不會改變當(dāng)前顯示。只有再次按下同一個功能鍵之后才能使系統(tǒng)回到循環(huán)顯示方式狀態(tài);⑵在循環(huán)顯示方式下,按下某一功能鍵之后,七段碼顯示器即顯示對應(yīng)加熱爐的爐號和實際溫度,如果此時按下另一個功能鍵,則會改變當(dāng)前顯示,即應(yīng)顯示與后一次按下的功能鍵對應(yīng)的加熱爐的爐號和爐溫。只有連續(xù)按下同一個功能鍵兩次才能回到循環(huán)顯示方式狀態(tài);6.?dāng)U展發(fā)光二極管擔(dān)任報警功能,當(dāng)溫度超過200℃即點亮發(fā)光二極管報警,并顯示錯誤號“EF”,當(dāng)溫度低于50℃,點亮發(fā)光二極管報警,并顯示錯誤號“E0”。二.基本工作原理及說明1.系統(tǒng)硬件連接參考“多加熱爐爐溫檢測系統(tǒng)硬件參考圖”。⑴硬件部分為PD32實驗系統(tǒng)或8051單片機實驗系統(tǒng)。包括0809、8253、8259、8255、數(shù)據(jù)存儲器62256、七段碼顯示器及其驅(qū)動電路、按鍵和報警部分。圖中虛線為需要連接的連線;⑵加熱爐的實際溫度用電壓表示,由電位器給出。模擬量電壓經(jīng) A/D轉(zhuǎn)換器0809轉(zhuǎn)換成數(shù)字量。0809的輸入通道選用IN0、IN1、IN2、IN3、?。A/D采樣結(jié)束后由EOC信號發(fā)出中斷請求。0809的譯碼地址為3C0H。通道0~7分別為3C0H,3C4H,3C8H,3CCH,3D0H,3D4H,3D8H,3DCH。A/D采樣結(jié)束后由EOC信號發(fā)出中斷請求;⑶PD32實驗系統(tǒng)中利用8253提供定時服務(wù)。8253的譯碼地址控制口:30CH,計數(shù)器1:300H,計數(shù)器2:304H,計數(shù)器3:308H;8051單片機實驗系統(tǒng)中利用單片機內(nèi)部定時器提供定時;⑷PD32實驗系統(tǒng)中利用 8259提供中斷服務(wù)。偶地址:3A0H,奇地址:3A8H;8051單片機實驗系統(tǒng)中利用單片機內(nèi)部定時中斷和外部中斷為系統(tǒng)提供中斷服務(wù);⑸PD32實驗系統(tǒng)中利用 74LS273驅(qū)動七段碼顯示器。位地址: 360H,段地址:340H;8051單片機實驗系統(tǒng)中利用驅(qū)動芯片驅(qū)動七段碼顯示器;⑹PD32實驗系統(tǒng)中利用 74LS245驅(qū)動報警發(fā)光二極管。地址: 340H;8051單片機實驗系統(tǒng)中利用P1口驅(qū)動報警發(fā)光二極管;⑺數(shù)據(jù)存儲器62256不需連接,地址范圍08000H~0FFFFH;⑻PD32實驗系統(tǒng)中功能鍵連到8259的中斷端;8051單片機實驗系統(tǒng)中功能鍵利用 P1口和外部中斷1實現(xiàn)中斷檢測;⑼實際溫度由電位器給出,可由外部調(diào)節(jié)。電壓范圍 0~5V;2.檢測系統(tǒng)應(yīng)用軟件主要包括:⑴主程序;⑵A/D轉(zhuǎn)換中斷服務(wù)子程序;⑶定時器中斷服務(wù)子程序;⑷代碼轉(zhuǎn)換子程序;⑸顯示子程序;⑹按鍵中斷服務(wù)子程序;3.程序流程圖;4.多加熱爐爐溫檢測系統(tǒng)硬件圖。三、源程序.486DATASEGMENTAT0USE16;8255各個端口的地址PORTAEQU203HPORTBEQU207HPORTCEQU20BHCONTROLPORTEQU20FH;七段碼地址WEI EQU 360HDUAN EQU 340H;8253各個端口地址DS0 EQU 300HDSI EQU 304HDS2 EQU 308HDSC EQU 30CH;8259端口地址OPORT EQU 3A0HJPORT EQU 3A8H;0809地址ADPORT EQU 3C0HADPORTI EQU 3C4HADPORI2 EQU 3C8H;中斷向量ZDIROEQU20H;定時器中斷ZDLR1EQU24H;AD中斷ZDIR2EQU28H;開笑1中斷ZDIR3EQU2CH;開關(guān)2中斷ZDIR4EQU30H;開關(guān)3中斷;定義數(shù)據(jù)緩沖區(qū)ORG4000HDATA4ADDB3DUP(?);AD轉(zhuǎn)換后的數(shù)據(jù)存儲處DATA4LEDDB18DUP(?);十六進制列BCD的顯爪數(shù)據(jù)存儲處DATAENDSCODESEGMENTUSE16ORG2000HASSUMECS:CODE,DS:DATA,ES:DATABEG:CLIJMPSTARTTABDB3FH,06H.5BH,4FH,66H,6DH,7DH.07H,7FH,67H,77H,7CI-L39H,5EH.79H,71H
;段碼表;AD轉(zhuǎn)換中斷用ADATANWDWDATA4ADADPTNWDW3C0H ;通道口內(nèi)存保留;顯示程序用LEDNWDWDATA4LED;定時中斷用TIME
DB
150
;設(shè)置計數(shù)值;開關(guān)中斷用SWH1SWH2SWH3
DBDBDB
0FFH0FFH0FFHSTART:MOVAX,DATAMOVDS,AXMOVAX,0MOVSS,AXMOVSP,1000HMOVAL,0C0HMOVDX,WEI
,OUTDX,ALINITA8259:MOVAL,00010011B;ICWI
;寫入
ICW1MOVDX,OPORTOUTDX,ALMOVAL,00001000B
;寫入
ICW2MOVDX,JPORTOUTDX,ALMOVAL,00000001B
;寫入
ICW4MOVDX,JPORTOUTDX,ALMOVAL,11100000B ;寫入OCW1 屏蔽字MOVDX,JPORTOUTDX,ALMOVAL,20H ;清ISRMOVDX,OPORTOUTDX.ALINITLA8255:MOVAL,10000000B ;A、B、C口都工作于方式MOVDX,CONTROLPORTOUTDX,ALMOVAL,0FFHMOVDX,PORTAOUTDX,ALINITIA8253:MOVDX,DSCMOVAL,00110110B ;方式3二進制計數(shù)OUTDX,ALMOVDX,DS0MOVAL,60H ;計數(shù)初值設(shè)為 0EA60H/6000DOUTDX,ALMOVAL,0EAHOUTDX,AL
0,都為輸出;中斷向量初始化MOVDI,ZDIR0MOVAX,OFFSETTIMERSTOSWMOVAX,SEGTIMERSTOSWMOVDI,ZDIRIMOVAX,OFFSETADPROCSTOSWMOVAX,SEGADPROCSTOSWMOVDI,ZDIR2MOVAX,OFFSET SWITCH1STOSWMOVAX,SEG SWITCH1STOSWMOVDI,ZDIR3MOVAX,OFFSETSWITH2STOSWMOVAX,SEGSWITH2STOSWMOVDI,ZDIR4MOVAX,OFFSETswitcb3STOSWMOVAX,SEGSWITCH3STOSWMOVDX,ADPORT; 啟動ADCOUTDX.AL;爐號初始化MOVDX,4003HMOV BYTEPTR[DI],0INCDIMOVBYTEPTR[DI],0INCDIMOV BYTEPTR[DI],1ADDDI,4MOVBYTEPTR[DI],0INCDIMOV BYTEPTR[DI],0INCDIMOV BYTEPTR[D1],2ADDDL4MOV BYTEPTR[DI],0INCDIMOV BYTEPTR[DI],0INCDIMOV BYTEPTR[DI],3AGAIN:STICALLCZBCDCALLDISPJMPAGAIN;一一拆字十六進制轉(zhuǎn) BCD碼一一CZBCDPROCPUSHBxPUSHCXPUSHAXLEASI,DATA4AD;AD 轉(zhuǎn)換后的數(shù)據(jù)存儲處LEADI,DATA4LED; 十六進制到 BCD的顯示數(shù)據(jù)存儲處ADDDI,2CZ0MOVAL,[SI]CMP AL,11H ;與60比較JBEST0CMPAL,0DDH ;與180比較JAEST1JMPCZ00ST0:MOVBYTEPTR[DI+1],0EHMOVBYTEPTR[DI+2],00HJMPCZ00ST1:MOVBYTEPTR[DI+1],0EHMOVBYTEPTR[DI+2],0FHJMPCZ00CZ00:MOVBX,1EH ;轉(zhuǎn)換為實際溫度值MULBXMOVDL,51DIVDLADDAX,50MOVAH,00HMOVBL,0AHMOVCX,3CZ1:DIVBLMOV[DI],AHDECDIMOVAH,00HLOOPCZ1ADD DI,9INCSICMPSI,4002H :AD轉(zhuǎn)換后的數(shù)據(jù)存儲處是否到頭JBECZ0POPAXPOPCXPOPBXRETCZBCDENDPDISPPROCPUSHDXPUSHCXPUSHBXPUSHAXLEABX,TAB;段碼表MOVSI,LEDNWMOVAH,0C1HDISP1:MOVDX,WEIMOVAL,AHOUT DX.AL;位輸山MOVDX,DUANMOVAL,[SI]XLATOUT DX,AL;段輸出MOVCX,0200HLOOP$INCSISALAH.1ORAH,0C0HCMPAH,0C0HJNZDISP1POPAXPOPBXPOPCXPOPDXRETDISPENDP:一一AD采樣程序一一ADPROCPROCPUSHAXPUSHSIPUSHDXMOVDX,[ADPTNW];A/D 通道0CMPDX,3c8H;到第三號爐 rr?JBENEXTMOV【ADPTNW],3COH;就置數(shù)據(jù)區(qū) 7號爐端口NEXT:MOVSI,[ADATANW]CMPSI,4002HJBENEXT2MOV[ADATANW),4000HJMPCHUNEXI2:INAL,DXMOV[SI],ALADD[ADPTNW],4INC[ADATANW]CMPAL,11H ;是否在 60和180之間JBE BAOJINCMPAL,0DDHJAEBAOJINJMPOKCMPSI,4000HJZ OKCMPSI,4001HJZOK1CMPSI,4002HJZ OK2BAOJIN:CMPSI,4000HJZ BAOJIN1CMPSI,4001HJZ BAOJIN2CMPSI,4002HJZ BAOJIN3JMPCHUQUBAOJINl:MOVDX,203H :報警MOVAX,0FEHOUTDX,ALJMPCHUQUBAOJIN2:MOVDX,207H :報警MOVAX,0FDHOUTDX,ALJMPCHUQUBAOJIN3:MOVDXT,20BHMOVAX,OFCHOUTDX,ALJMPCHUQUOK:MOVDX,203H ;解除報警MOVAX,0FFHOUTDX,AL
12;報警
3OK1:MOVDX,207HOUT DX,ALOK2:MOV DX,20BHOUT DX,ALCHUQU:MOVDX,[ADPTNW]; 啟動ADCOUT DX,ALCHU:MOVAL,20HMOVDX,OPORTOUTDX,ALPOPDXPOPSIPOPAXIRETADPROCENDP:一一定時器中斷TIMERPROCPUSHAXPUSHDXMOVAL,[TIME]DECALMOV[TIME],ALCMPAL,0 ;是否到0JNZEND0CMP[SWH1,0 :判斷是否有按鍵按下JZ ENDDCMP [STWH2],0JZ ENDDCMP[SWH3],0JZ ENDDMOVAX,[LEDNW] ;CMPAX,400FH ;JAEDALE ;ADDAX,6 ;MOV[LEDNW],AX ;JMPENDD ;DALE:MOV[LEDNW],4003H; 改變顯示參數(shù)ENDD:MOVDX,ADPORT
;到了開
A/DOUTDX,AL
;MOV[TIME],150
;END0:MOVAL,20HMOVDX,OPORTOUTDX,ALPOPDXPOPAXIRETTIMER
ENDP:一——開關(guān) l的中斷———一SWITCH1 PROCNOTSWHICMPSWHI,OJNZBACK1MOV[LEDNW],4003H; 第1次按T'BACK1:MOVAL,20HMOVDX,OPORTOUTDX,ALSTIIRETSWITCH1 ENDP:——一一開關(guān) 2的中斷——SWITH2NOTCMPJNZ
PROCSTWH2STWH2,0BACK2MOV[LEDNW],4009H; 是第1次按下BACK2:MOVAL,20HMOVDX,OPORTOUTDX,ALSTIIRETSWITH2 ENDP:一一·一開關(guān)3的中斷——一一SWITCH3 PROCNOT SWH3CMPSWH3,0JNZ BACK3MOV [LEDNW],400FH;
是第
1次按下BACK3:MOVAL,20HMOVDX,OPORTOUTDX,ALSTIIRETSWITCH3ENDPCODEENDSENDBEG四、程序流程圖主程序A/D轉(zhuǎn)換中斷服務(wù)子程清數(shù)據(jù)區(qū)是否到三號Y序爐?N程序初始化讀A/D采樣數(shù)據(jù)置1號爐Y采樣通道號是預(yù)置采樣通道號0否大于3N采樣通道號加1預(yù)置Tk值溫度否不大N于11H開中斷YYSI=4000H?是否不小于NDDHNYYSI=4001H?拆字不報警NNSI=4002H?啟動A/D顯示Y中斷返回報警3 報警2 報警1拆
溫馨提示
- 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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 豐田買車銷售合同范本
- 合同范本租房
- 增強民營企業(yè)發(fā)展活力促進經(jīng)濟高質(zhì)量增長
- 吊裝租賃搬運合同范本
- 合同范本不需審查
- 合同范本電子版
- 公路工程竣工檢測合同范本
- 醫(yī)療美容項目合同范例
- 兄弟之間借款合同范例
- 語文-2025年江西省中考第一次模擬考試(全解全析)
- GA/T 701-2024安全防范指紋識別應(yīng)用出入口控制指紋識別模塊通用規(guī)范
- 2025年阜新高等??茖W(xué)校單招職業(yè)傾向性測試題庫附答案
- 《 大學(xué)生軍事理論教程》全套教學(xué)課件
- 中考數(shù)學(xué)計算題練習(xí)100道(2024年中考真題)
- 小學(xué)五年級綜合實踐課教案
- 攝影報價單(共3頁)
- ISO14001:2015中文版(20211205141421)
- 汽車總裝車間板鏈輸送線的應(yīng)用研究
- 工作日志模板
- 工程變更聯(lián)系單、聯(lián)系單及要求
- 北京大學(xué)2018年第1批總第5批博雅博士后項目候選人名
評論
0/150
提交評論