工院課程設(shè)計(jì)多路溫度巡檢儀_第1頁
工院課程設(shè)計(jì)多路溫度巡檢儀_第2頁
工院課程設(shè)計(jì)多路溫度巡檢儀_第3頁
工院課程設(shè)計(jì)多路溫度巡檢儀_第4頁
工院課程設(shè)計(jì)多路溫度巡檢儀_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、題目:八路溫度巡回檢測(cè)系統(tǒng)院系:專業(yè):姓名:班級(jí)學(xué)號(hào):指導(dǎo)教師:日期:2012.05.28201。06.08t .若立工於zr支課程設(shè)計(jì)多路溫度巡檢儀設(shè)計(jì)說明書1 .設(shè)計(jì)任務(wù)21.1 設(shè)計(jì)題目21.2 設(shè)計(jì)目的21.3 設(shè)計(jì)任務(wù)22 .總體方案設(shè)計(jì)與方案論證32.1 總體方案設(shè)計(jì)與論證32.2 溫度采集、計(jì)算的方案設(shè)計(jì)與論證33 .系統(tǒng)總框圖及總體軟件設(shè)計(jì)說明44 .系統(tǒng)資源分配64.1 系統(tǒng)相應(yīng)單元標(biāo)示符64.2 系統(tǒng)資源分配65 .局部程序設(shè)計(jì)說明75.1 巡顯子程序75.2 PB口按鍵子程序105.3 溫度模塊子程序166 .系統(tǒng)功能及其操作說明197 .調(diào)試記錄及調(diào)試結(jié)果198 .課程

2、設(shè)計(jì)總結(jié)20附錄:程序清單201杼立工農(nóng)Nr支fujUn課程設(shè)計(jì)多路溫度巡檢儀設(shè)計(jì)說明書1 .設(shè)計(jì)任務(wù)1.1 設(shè)計(jì)題目多路溫度巡檢儀1.2 設(shè)計(jì)目的通過小型微機(jī)應(yīng)用產(chǎn)品的設(shè)計(jì)與調(diào)試過程,運(yùn)用微機(jī)原理及接口技術(shù)課程所學(xué)的基本知識(shí),在設(shè)計(jì)中加以應(yīng)用,進(jìn)而得到理解、鞏固和提高發(fā)展,通過實(shí)踐的過程學(xué)習(xí)與掌握分析與解決實(shí)際問題的方法與手段,提高設(shè)計(jì)、編程與調(diào)試的實(shí)際動(dòng)手能力,作為工程技術(shù)工作的一次基本訓(xùn)練。1.3 設(shè)計(jì)任務(wù)設(shè)計(jì)一個(gè)以單片機(jī)為核心的多路溫度巡回檢測(cè)顯示儀表系統(tǒng),通過多選一電子模擬開關(guān)及A/D轉(zhuǎn)換器巡回采集各路溫度傳感及變送器的數(shù)據(jù),進(jìn)行信號(hào)處理及標(biāo)度變換,以一定的節(jié)拍時(shí)間依序顯示各檢測(cè)回路

3、的序號(hào)及溫度值,并可通過按鈕開關(guān)操控作凍結(jié)或切換顯示,在單片機(jī)實(shí)驗(yàn)板臺(tái)上模擬調(diào)試實(shí)現(xiàn)。(一)基本設(shè)計(jì)要求1、開機(jī)進(jìn)行接口部件及數(shù)碼顯示器、指示燈、訊響器等自檢。2、八位LED八段數(shù)碼管顯示當(dāng)前檢測(cè)回路的序號(hào)、溫度值及溫度單位“OCB其他界面信息,溫度顯示單位為OC,保留一位小數(shù)。3、八路溫度按節(jié)拍巡回檢測(cè)顯示,溫度測(cè)量范圍50OC+50OC。4、鍵盤設(shè)定巡回節(jié)拍范圍為0.5S5.0S.5、設(shè)選用的溫度傳感變送器將檢測(cè)的50OC+50OC溫度變換為05V電壓信號(hào),綜合誤差為±0.5OC。6、應(yīng)采取數(shù)字濾波技術(shù)提高測(cè)量穩(wěn)定性。7、設(shè)置一個(gè)“凍結(jié)”按鈕開關(guān)以操控進(jìn)入與退出當(dāng)前回路的凍結(jié)顯示

4、方式,凍結(jié)顯示期間每0.5S更新一次溫度值。8、設(shè)置一個(gè)“切換”按鈕開關(guān)以操控強(qiáng)行切換顯示下一檢測(cè)回路號(hào)及溫度值。9、對(duì)開關(guān)量輸入進(jìn)行軟件消抖動(dòng)處理。(二)功能擴(kuò)展提示:(選做)1、無操作時(shí)間超過10分鐘后自動(dòng)恢復(fù)為基本的溫度巡顯方式。2、超上限告警功能,鍵盤設(shè)定溫度上限范圍為50OC+50OC,監(jiān)測(cè)到某回路溫度超上限時(shí)有相應(yīng)的顯示閃爍提示、LED指示、訊響告警控制功能。3、增加溫度超下限告警功能處理功能。4、每巡回顯示一遍,穿插一個(gè)節(jié)拍顯示實(shí)時(shí)鐘,通過鍵盤設(shè)定時(shí)間。5、其他功能擴(kuò)展。2 .總體方案設(shè)計(jì)與方案論證2.1 總體方案設(shè)計(jì)與論證本次課程設(shè)計(jì)的要求是8路溫度巡顯儀,該系統(tǒng)主要有三部分主

5、成:數(shù)碼管顯示部分,溫度采集與處理部分,功能鍵操作部分。見如下的框圖所示。多路溫度巡檢儀圖1-系統(tǒng)軟件設(shè)計(jì)的整體思路框圖32.2 溫度采集、計(jì)算的方案設(shè)計(jì)與論證竹立工於Nr支課程設(shè)計(jì)多路溫度巡檢儀設(shè)計(jì)說明書方案一采用ADC0809芯片把經(jīng)過每一路溫度傳感變送器變換為05V電壓信號(hào)轉(zhuǎn)化為數(shù)字量采用滾存最新的4次溫度值進(jìn)行求平均值并且每個(gè)工作大循環(huán)調(diào)用一次,把這個(gè)平均值擴(kuò)大到01000的溫度內(nèi)碼存儲(chǔ)起來這樣一來可以使-50°C、0°C、50°C分別變換成0、500、1000的溫度內(nèi)碼,要顯示的時(shí)候讀出溫度內(nèi)碼轉(zhuǎn)化為BCD碼送入8位7段數(shù)碼管顯示,8路溫度信號(hào)采用巡回動(dòng)

6、態(tài)顯示。通過按鍵操作進(jìn)行修改系統(tǒng)程序的的標(biāo)志位,程序中通過判斷這些標(biāo)志位來修改顯示的節(jié)拍和溫度報(bào)警的上下限。方案二也是采用ADC0809用每調(diào)用一次溫度采集子程序就把8路的溫度每一路采集四次存放到存儲(chǔ)單元中,這樣每調(diào)用一次就要算32次,每次AD轉(zhuǎn)化最少要100US要是稍微延時(shí)1MS的時(shí)候,每次調(diào)用就要32MS。如果顯示的時(shí)候采用靜態(tài)顯示的時(shí)候要很多條I/O線。綜上所述,選用方案一,要是選用方案二的時(shí)候每次調(diào)用時(shí)太久不利于系統(tǒng)工作,會(huì)影響后面的程序調(diào)用。每個(gè)大循環(huán)調(diào)用1路四次的AD轉(zhuǎn)化且滾存到存儲(chǔ)區(qū)中,把AD值轉(zhuǎn)化成溫度內(nèi)碼,再把溫度內(nèi)碼轉(zhuǎn)化成BCD碼。3 .系統(tǒng)總框圖及總體軟件設(shè)計(jì)說明5課程設(shè)

7、計(jì)多路溫度巡檢儀設(shè)計(jì)說明書7開始瑪口:中1寸育心、門巫田旦位1r基本初始化設(shè)備自檢1工作初始化|延時(shí)3050MSI/O接口芯片(值初態(tài)8255)及I/O初|教碼管、指示燈、訊響器,|可自檢接口芯片等L各模塊所用資源初值初態(tài)斷、定時(shí)、存儲(chǔ)單元等)匚"單按鍵(中開關(guān)量輸入及消抖判當(dāng)前界面,取相應(yīng)內(nèi)容按格式送顯緩顯示內(nèi)容送顯緩r/應(yīng)增加小數(shù)點(diǎn)和閃爍的判斷顯示顯示更新驅(qū)動(dòng)1溫度滾動(dòng)采集存儲(chǔ)i節(jié)拍控制及顯示數(shù)據(jù)處理凍結(jié)顯示控制手動(dòng)切換控制長(zhǎng)時(shí)間無操作處理*超上限告警處理*超下限告警處理判節(jié)拍到,更改當(dāng)前顯示路次及溫度數(shù)據(jù)處理(濾波標(biāo)度),以節(jié)拍或每0.5S計(jì)算一次8路T內(nèi)判按鈕動(dòng)作,建標(biāo)志信息

8、,令節(jié)拍到也不切換,每0.5S更新溫度顯示數(shù)據(jù)約每8mS采一路,8路輪流,每路緩存4次,按隊(duì)列滾存判按鈕動(dòng)作,按節(jié)拍到執(zhí)行相應(yīng)工作或更改節(jié)拍計(jì)時(shí)數(shù)據(jù),令隨后節(jié)拍即到非常態(tài)(巡顯)下,發(fā)生鍵盤、按鈕動(dòng)作則更改進(jìn)程為常態(tài)1分鐘無函春露當(dāng)前溫度,超上限則置標(biāo)志(每路一個(gè)位),驅(qū)動(dòng)相應(yīng)指示燈,及訊響同上判當(dāng)前有意義的操作,如F(功能鍵)、S(確認(rèn)鍵)、C(撤消鍵)、09置相應(yīng)操作信息或執(zhí)行相應(yīng)工作圖3-系統(tǒng)軟件設(shè)計(jì)的總流程圖并解釋I心神立工興金,支Fujian UOkierS |y 4f課程設(shè)計(jì)多路溫度巡檢儀設(shè)計(jì)說明書4 .系統(tǒng)資源分配4.1 系統(tǒng)相應(yīng)單元標(biāo)示符PROGRESSEQU60H;線程標(biāo)志B

9、EATTIME1EQU61H;節(jié)拍緩存1BEATTIME2EQU62H;節(jié)拍緩存2BEATSETEQU63H;節(jié)拍設(shè)定單元ADTIMEEQU66H;ADDISPCIRCLOADEQU64H;顯示路數(shù)LEDTWISTATEQU01H;閃爍標(biāo)志位LEDTWIWEIEQU65H;第幾位閃爍NOOPETIME1EQU66H;無操作延時(shí)NOOPETIME2EQU67HTEMPUPEQU68H;溫度上限TEMPDOWNEQU69H;溫度卜-限CLOCKSETEQU6AH;時(shí)鐘設(shè)置0:小時(shí)設(shè)置,1:分鐘設(shè)置,2:秒設(shè)置DISPCIRCSTATBIT00H;循顯狀態(tài)標(biāo)志,0:循顯,1:凍結(jié)4.2系統(tǒng)資源分配系

10、統(tǒng)資源分配表硬件資源分配片內(nèi)數(shù)據(jù)存儲(chǔ)空間的分配名稱實(shí)現(xiàn)的功能字節(jié)地址用途PB0凍結(jié)/解凍按鍵00H-07H工作寄存器R0-R7PB1進(jìn)程切換按鍵10H-1FH8路溫度內(nèi)碼的存儲(chǔ)單元PB2確定按鍵27H-28H超上下限報(bào)警緩存單元PB5改變時(shí)鐘調(diào)整的位置29H-2FHPB口消抖動(dòng)的暫時(shí)存儲(chǔ)單元PB6減按鍵30H-37H數(shù)碼管顯示緩存區(qū)PB7加按鍵38H-3CH分別為200us、10ms、1s、1分1小時(shí)存儲(chǔ)單元L0-L7超過上限溫度報(bào)警3DH3FH溫度BCD碼的十位個(gè)位小數(shù)位臨時(shí)存儲(chǔ)單元L8-L15超下限溫度報(bào)警40H-5FH8路溫度每一路采集4次的存儲(chǔ)單元P3.2蜂鳴器超溫報(bào)警60H進(jìn)程標(biāo)志位

11、P0口數(shù)據(jù)地址/數(shù)據(jù)總線復(fù)用61H、62H節(jié)拍緩存單元P1口外部擴(kuò)展地址總線的高八位63H節(jié)拍設(shè)定單元P2口片外芯片的線選端66H、67H無操作延時(shí)單元P3口WR、RD片外擴(kuò)展的讀寫信號(hào)68溫度上限69溫度卜-限6A時(shí)鐘設(shè)置單元5 .局部程序設(shè)計(jì)說明5.1 巡顯子程序(一)巡顯子程序的流程圖9竹立工於Nr支Fuji*,UAK«r5 |y.課程設(shè)計(jì)多路溫度巡檢儀設(shè)計(jì)說明書#圖4-巡顯子程序流程圖源程序如下:DISPALL:JBDISPCIRCSTAT,DISPFROST;凍結(jié)判斷SJMPDISPCIRCDISPFROST:;凍結(jié)MOVA,DISPCIRCLOADCJNEA,#08H,A

12、DDETETIME;是否是時(shí)鐘LCALL間SJMP束ADDETETIME:INCMOVDISPCLOCK;顯示時(shí)DISPALLEND;結(jié);0.5秒檢測(cè)一次BEATTIME1A,BEATTIME1CJNEA,#50,DISPALLEND;是否已經(jīng)0.5SMOVBEATTIME1,#0SJMPADSTARTDISPCIRC:;循顯開始INCBEATTIME1MOVA,BEATTIME1CJNEA,#10,ADSTART;節(jié)拍MOVBEATTIME1,#0MOVA,BEATTIME2;節(jié)拍單元(按BCD碼)加1ADDA,#1DAAMOVBEATTIME2,ACJNEA,BEATSET,ADSTART

13、;到節(jié)拍設(shè)定的時(shí)間MOVBEATTIME2,#0INCDISPCIRCLOADMOVA,DISPCIRCLOADCJNEA,#9,ADSTARTMOVDISPCIRCLOAD,#。ADSTART:;開始AD轉(zhuǎn)換及實(shí)時(shí)鐘MOVA,DISPCIRCLOADCJNEA,#0,DISPALLNEXT1LCALLDISPAD0SJMPDISPALLENDDISPALLNEXT1:CJNEA,#1,DISPALLNEXT2LCALLDISPAD1SJMPDISPALLENDDISPALLNEXT2:CJNEA,#2,DISPALLNEXT3LCALLDISPAD2SJMPDISPALLENDDISPALL

14、NEXT3:CJNEA,#3,DISPALLNEXT4LCALLDISPAD3拆溫度子程序包括在左邊第一位顯示當(dāng)前路次過判斷溫度的符號(hào)的標(biāo)志位 34H.7 ,可以知道當(dāng)前溫度為正或?yàn)樨?fù), 如果當(dāng)前的溫度十位為零時(shí),要把十位關(guān)顯示。源程序如下:(二)拆溫度子程序SJMPDISPALLENDDISPALLNEXT4:CJNEA,#4,DISPALLNEXT5LCALLDISPAD4SJMPDISPALLENDDISPALLNEXT5:CJNEA,#5,DISPALLNEXT6LCALLDISPAD5SJMPDISPALLENDDISPALLNEXT6:CJNEA,#6,DISPALLNEXT7LC

15、ALLDISPAD6SJMPDISPALLENDDISPALLNEXT7:CJNEA,#7,DISPALLNEXT8LCALLDISPAD7SJMPDISPALLENDDISPALLNEXT8:LCALLDISPCLOCKSETBP1.0;清除警報(bào)SETBP1.1SETBP3.2DISPALLEND:RET為負(fù)時(shí)顯示出負(fù)號(hào),最右邊兩位分別顯示“°C”。通DISPADMESS:MOVA,#80HANLA,3FHCJNEA,#00H,DISPADMESS1MOV35H,#12HSJMPDISPADMESS2DISPADMESS1:MOV35H,#10H八種M制廢話課巡ANL3FH,#07

16、FHDISPADMESS2:MOV32H,3DHMOV33H,3EHMOVA,3FHCJNEA,#00H,DISPADMESS3MOV34H,#12HSJMPDISPADMESS4DISPADMESS3:MOV34H,3FHDISPADMESS4:MOV30H,#14HMOV31H,#13HMOV36H,#12HRET(三)拆時(shí)間子程序原理同TEST2012子程序,把3AH,3BH,3CH中的數(shù)據(jù)分別把高四位和低四位拆到兩個(gè)字節(jié)的第四位,這兩個(gè)字節(jié)的高四位清零。把拆出來的兩個(gè)字節(jié)送到顯示緩存區(qū)顯示。源程序略。5.2 PB口按鍵子程序PB口按鍵子程序流程圖13杼立工於三保fbjlah Uftbi

17、。r$T。,Tec£.課程設(shè)計(jì)多路溫度巡檢儀設(shè)計(jì)說明書15開始判斷進(jìn)程0,即判斷顯里不是為是變速巡進(jìn)程Y判斷是不是PB0按下判斷是不是PB1按,下:不DISPCIRCSTAT=1將凍結(jié)標(biāo)志為置1:PROGRESPROGRESS加1PROVES調(diào)用PB6子程序判斷是不PB6CLRTR1PROGRESS=6?判斷是不是PB7按返回PROGRESS=1N調(diào)用PB7子程序PB:MOVDPTR,#0FDFDH;獨(dú)立按鍵PB0-7檢測(cè)且控制L0-L7子程序MOVXA,DPTR;輸入PB0-7電平MOV2FH,2EHMOV2EH,2DHMOV2DH,2CHMOV2CH,2BHMOV2BH,2AHM

18、OV2AH,ACJNEA,2EH,PBENDCJNEA,2DH,PBENDCJNEA,2CH,PBENDCJNEA,2BH,PBENDCJNEA,#00H,PBNEXT0SJMPPBENDPBNEXT0:JB2FH.0,PBNEXT1JNB2AH.0,PBNEXT1LCALLPB0CALLNOOPECLEARSJMPPBENDPBNEXT1:JB2FH.1,PBNEXT2JNB2BH.1,PBNEXT2LCALLPB1CALLNOOPECLEAR杼立工於孑酸fbjlah ufleers課程設(shè)計(jì)多路溫度巡檢儀設(shè)計(jì)說明書SJMPPBENDPBNEXT2:JB2FH.2,PBNEXT3JNB2BH.

19、2,PBNEXT3LCALLPB2CALLNOOPECLEARSJMPPBENDPBNEXT3:JB2FH.3,PBNEXT4JNB2BH.3,PBNEXT4LCALLPB3CALLNOOPECLEARSJMPPBENDPBNEXT4:JB2FH.4,PBNEXT5JNB2BH.4,PBNEXT5LCALLPB4CALLNOOPECLEARSJMPPBENDPBNEXT5:JB2FH.5,PBNEXT6JNB2BH.5,PBNEXT6LCALLPB5CALLNOOPECLEARSJMPPBENDPBNEXT6:JB2FH.6,PBNEXT7JNB2BH.6,PBNEXT7LCALLPB6CAL

20、LNOOPECLEARSJMPPBENDPBNEXT7:JB2FH.7,PBENDJNB2BH.7,PBENDLCALLPB7CALLNOOPECLEARSJMPPBENDPBEND:RET17PB0:MOVA,PROGRESSCJNEA,#0,PB0ENDCPLDISPCIRCSTATPB0END:RETPB1:INCPROGRESSMOVA,PROGRESSCJNEA,#5,PB1NEXTCLRTR1;時(shí)間停止運(yùn)行PB1NEXT:CJNEA,#6,PB1ENDMOVPROGRESS,#1PB1END:RETPB2:MOVPROGRESS,#。SETBTR1;時(shí)間開始運(yùn)行RETPB3:RET

21、PB4:RETPB5:MOVA,PROGRESSCJNEA,#5,PB5ENDINCCLOCKSETMOVA,CLOCKSETCJNEA,#3,PB5ENDMOVCLOCKSET,#0PB5END:RETPB6:MOVA,PROGRESSCJNEA,#0,PB6NEXT1JNBDISPCIRCSTAT,PB6ENDDECDISPCIRCLOADMOVA,DISPCIRCLOADCJNEA,#0FFH,PB6ENDMOVDISPCIRCLOAD,#8SJMPPB6ENDPB6NEXT1:CJNEA,#2,PB6NEXT3MOVA,BEATSET;秒單元(按BCD碼)減1ADDA,#99HDAAM

22、OVBEATSET,ACJNEA,#04H,PB6END;MOVBEATSET,#50H;設(shè)節(jié)拍SJMPPB6ENDPB6NEXT3:CJNEA,#3,PB6NEXT4DECTEMPUP;設(shè)上限MOVA,TEMPUPCJNEA,TEMPDOWN,PB6NEXT31SJMPPB6ENDPB6NEXT31:JNCPB6ENDMOVTEMPUP,TEMPDOWNSJMPPB6ENDPB6NEXT4:CJNEA,#4,PB6NEXT5DECTEMPDOWN;設(shè)下限MOVA,TEMPDOWNCJNEA,#0FFH,PB6ENDMOVTEMPDOWN,#0SJMPPB6ENDPB6NEXT5:;設(shè)時(shí)鐘MO

23、VA,CLOCKSETCJNEA,#0,PB6NEXT50MOVA,3CH;小時(shí)單元(按BCD碼)減1ADDA,#99HDAAMOV3CH,ACJNEA,#99H,PB6END;小于0MOV3CH,#23H;小時(shí)單元清零SJMPPB6ENDPB6NEXT50:CJNEA,#1,PB6NEXT51MOVA,3BH;分鐘單元(按BCD碼)減1ADDA,#99HDAAMOV3BH,ACJNEA,#99H,PB6END;小于0?MOV3BH,#59H;分鐘單元清零SJMPPB6ENDPB6NEXT51:CJNEA,#2,PB6ENDMOVA,3AH;秒單元(按BCD碼)減1ADDA,#99H竹立工於N

24、r支Fuji*,UAK«r5 |y.課程設(shè)計(jì)多路溫度巡檢儀設(shè)計(jì)說明書DAAMOV3AH,ACJNEA,#99H,PB6END;小于0?MOV3AH,#59H;秒單元清零PB6END:RETPB7:MOVA,PROGRESSCJNEA,#0,PB7NEXT1JNBDISPCIRCSTAT,PB7ENDINCDISPCIRCLOADMOVA,DISPCIRCLOADCJNEA,#9,PB7ENDMOVDISPCIRCLOAD,#。SJMPPB7ENDPB7NEXT1:CJNEMOV;秒單元(按A,#2,PB7NEXT3A,BEATSETBCD碼)力口1ADDA,#1DAAMOVBEATS

25、ET,ACJNEA,#51H,PB7END;】1分鐘?MOVBEATSET,#05H;設(shè)節(jié)拍SJMPPB7ENDPB7NEXT3:CJNEA,#3,PB7NEXT4INCTEMPUP;設(shè)上限MOVA,TEMPUPCJNEA,#0,PB7ENDMOVTEMPUP,TEMPDOWNSJMPPB7ENDPB7NEXT4:CJNEA,#4,PB7NEXT5INCTEMPDOWN;設(shè)下限MOVA,TEMPDOWNCJNEA,TEMPUP,PB7NEXT41SJMPPB7ENDPB7NEXT41:JCPB7ENDMOVTEMPDOWN,TEMPUPSJMPPB7ENDPB7NEXT5:MOVA,CLOCK

26、SET;設(shè)時(shí)鐘CJNEA,#0,PB7NEXT50MOVA,3CH;小時(shí)單元(按BCD碼)加1ADDA,#1DAAMOV3CH,ACJNEA,#24H,PB7END;滿24小時(shí)?MOV3CH,#0;小時(shí)單元清零SJMPPB7ENDPB7NEXT50:CJNEA,#1,PB7NEXT51MOVA,3BH;分鐘單元(按BCD碼)加1ADDA,#1DAAMOV3BH,ACJNEA,#60H,PB7END;滿1小時(shí)?MOV3BH,#0;分鐘單元清零SJMPPB7ENDPB7NEXT51:CJNEA,#2,PB7ENDMOVA,3AH;秒單元(按BCD碼)力口1ADDA,#1DAAMOV3AH,ACJN

27、EA,#60H,PB7END;滿1分鐘?MOV3AH,#0;秒單元19課程設(shè)計(jì)多路溫度巡檢儀設(shè)計(jì)說明書-FujUrt清零PB7END:RET#5.3 溫度模塊子程序(一)溫度采集存儲(chǔ)子程序依據(jù)路數(shù)設(shè)為N通過:N*4+3EH可以算出第N路溫度存儲(chǔ)的首地址通過滾動(dòng)存放到連續(xù)的四個(gè)單元中。滾存的示意圖如下:例如第一路1*4H+3EH=42H(二)轉(zhuǎn)換成溫度內(nèi)碼的子程序首先讀出42H中的內(nèi)容到 A中指針加1指向43H,把A (42H)放入43H指針減去2指向41H單元,且讀到 A中指針加1指向42H,把A (41H)放入42H指針減去2指向40H ,且讀到A中指針加1指向41H,把A(40H)放如41

28、H讀出AD信號(hào)到40HDPL+1指向下一個(gè)通道的 AD轉(zhuǎn)換子程序返回此程序該設(shè)計(jì)的核心的算法之一,主要利用(D1+D2+D3+D4)/4*1000/255這樣一來可以把AD轉(zhuǎn)化出來的值放大到0-1000的溫度內(nèi)碼。源程序如下:TRANISN:MOVA,#0E8HMOVB,R2MULABMOVR3,BMOVA,#03HMOVB,R2MULABMOVR0,AMOVR1,B(三)溫度內(nèi)碼轉(zhuǎn)化為BCD碼的子程序CLRCMOVA,R0ADDA,R3MOVR0,AMOVA,R1ADDCA,#0MOVR1,A;轉(zhuǎn)成內(nèi)碼,保存到12H,13HRET把溫度內(nèi)碼和500相比較,如果大于500說明溫度為正的,用內(nèi)碼

29、-500=TT/100的商為溫度的十位,余數(shù)/10的商為溫度的個(gè)位,此時(shí)的余數(shù)為溫度的小數(shù)位。課程設(shè)計(jì)多路溫度巡檢儀設(shè)計(jì)說明書杉立工於Nr支fbjlaoUftbiflrsT*chnow.1如果是小于500說明溫度為負(fù)的,用500-內(nèi)碼=T此時(shí)再按照上面的取余數(shù)和商的算法算出溫度值。流程圖下圖。碼流程圖溫度內(nèi)碼轉(zhuǎn)BCD源程序如下:TRANBCD:;低八位是否等于 F4H,即是否等于021;R0:低八位,R1:高八位CLRCCJNER1,#01H,TRANBCD1;高八位是否等于1CJNER0,#0F4H,TRANBCD2MOV3DH,#0MOV3EH,#0MOV3FH,#0;等于0度SJMPTR

30、ANBCDEND竹立工於Nr支Fuji*,UAK«r5 |y.課程設(shè)計(jì)多路溫度巡檢儀設(shè)計(jì)說明書TRANBCD2:;高八位等于1JCTRANBCD21;是否大于0度MOVA,R0;溫度大于0度CLRCSUBBA,#0F4HLCALLSAVEBCD;轉(zhuǎn)換為BCD碼SJMPTRANBCDENDTRANBCD21:CLRCMOVA,#0F4H;溫度小于0cSUBBA,R0;LCALLSAVEBCD;轉(zhuǎn)換為BCD碼MOVA,3FH;"-"號(hào)需顯示,添加負(fù)號(hào)標(biāo)志ORLA,#80H;MOV3FH,A;回存SJMPTRANBCDENDTRANBCD1:JCTRANBCD11DEC

31、R1;高八位比01H大,R1減去500的高八位01HCLRC;清除借位標(biāo)志位MOVA,R0;低八位和500的低八位相減SUBBA,#0F4HMOVR0,AJCTRANBCD12;是否有借位LCALLSAVEBCD;沒借位CJNER1,#01H,TRANBCDEND;高八位是否為1?LCALLCOMPBCDSJMPTRANBCDENDTRANBCD12:DECR1;借位,高位減1LCALLSAVEBCDCJNER1,#01H,TRANBCDEND;高八位是否為1?LCALLCOMPBCDSJMPTRANBCDENDTRANBCD11:CLRC;清除進(jìn)借位標(biāo)志位MOVA,#0F4H;高八位比01H

32、小,說明高八位為00H,為負(fù)數(shù)SUBBA,R0;JCTRANBCD112SJMPTRANBCD111TRANBCD112:LCALLSAVEBCDSJMPTRANBCD113TRANBCD111:LCALLSAVEBCDLCALLCOMPBCDTRANBCD113:MOVA,3FH;"-"號(hào)需顯示,添加負(fù)號(hào)標(biāo)志ORLA,#80H;MOV3FH,A;回存TRANBCDEND:RET23竹立工於Nr支Fuji*,UAK«r5 |y.課程設(shè)計(jì)多路溫度巡檢儀設(shè)計(jì)說明書6.系統(tǒng)功能及其操作說明(1)硬件自檢功能:本系統(tǒng)上電先是自檢是蜂鳴器響1.0S關(guān)斷,L0-L7點(diǎn)亮1.0

33、S熄滅,L8-L151.0S熄滅,數(shù)碼管按照每一段一段的循環(huán)點(diǎn)亮,到第八位的時(shí)候全部數(shù)碼管點(diǎn)亮1S熄滅數(shù)碼管。(2)自動(dòng)巡檢功能:路數(shù)從第一路開始顯示當(dāng)前路的溫度,每1S路次加1顯示該路的溫度值,到第九路的時(shí)候顯示出來實(shí)時(shí)鐘。路數(shù)返回到第一路。(3)實(shí)時(shí)鐘調(diào)整:當(dāng)?shù)诰怕返臅r(shí)候通過按鍵PB5、PB6、PB7可以進(jìn)行對(duì)實(shí)時(shí)鐘的時(shí)鐘,分鐘,秒鐘進(jìn)行調(diào)整。(4)凍結(jié)巡檢功能:當(dāng)按下PB0按鍵時(shí)路數(shù)不再變化,一直顯示當(dāng)前路的溫度,且溫度值可以更新,直到無操作時(shí)間到則繼續(xù)巡回顯示。(5)手動(dòng)切換功能:當(dāng)再次按下PB0時(shí)路數(shù)按照以9為模加1。(6)溫度報(bào)警功能:如果當(dāng)前路的溫度高于TEMPUP(溫度上限)或者低于TEMPDOWN(溫度下限),蜂鳴器響起,現(xiàn)對(duì)應(yīng)的LED燈點(diǎn)亮。(7)功能選擇設(shè)定:當(dāng)?shù)谝淮伟聪翽B1鍵是進(jìn)入功能選擇界面,再次按下PB1是進(jìn)入節(jié)拍設(shè)定狀態(tài),第三次按下PB1是進(jìn)入溫度上限調(diào)整狀態(tài),第四次按下PB1是進(jìn)入溫度下限調(diào)整狀態(tài),第五次按下PB1

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論