freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機的電梯控制系統(tǒng)的論文-資料下載頁

2025-06-27 19:38本頁面
  

【正文】 經(jīng)被點亮且暫時還不可以被熄滅的二極管熄滅。如果僅是簡單的向這一位二極管輸出高電平,那么其他的二極管會滅掉的。所以,我們的解決方式是申請兩個全局變量pasta和pbsta,分別表示82C55的PA口與PB口輸出電平狀態(tài),當要某位為高時,只需讓此位為高電平,并且與以前的pasta或pbsta相或,然后再輸出即可。當然,此時的pasta和pbsta也同樣需要更新,以備以后使用。 置位相關(guān)狀態(tài)變量這一步是整個程序得以正常運行的前提與基礎(chǔ)。在程序開始之前,我們設(shè)置了這樣一些狀態(tài)變量,它們分別對應(yīng)于各個按鍵,當某個按鍵按下時,其對應(yīng)的狀態(tài)變量就會被置位。這樣做的好處是使電梯在執(zhí)行判決操作時,有據(jù)可循。因為判決函數(shù)就是依靠當前都有哪些鍵按下以及電梯此刻所處的上下行狀態(tài)來判斷下一個需要停留的目標樓層的?!‰娞菖袥Q函數(shù) 電梯所處狀態(tài)的分類與判定這是整個程序成功運行的核心保證。在電梯經(jīng)過一個樓層時,就會自動調(diào)用該函數(shù),它的作用是基于短時間、高效率、人性化的基礎(chǔ)上,合理智能的對電梯的運行進行調(diào)度,結(jié)合實際情況,最終得出電梯下一個目標停留樓層。 電梯判決流程圖由圖可知,程序中將實際情況分為四種情況來判斷:電梯上行且是去送人(即電梯此時位于底層,而高層有人呼叫要上樓)、電梯上行且是去接人(即電梯此時位于底層,而高層有人呼叫要下樓)、電梯下行且是去送人(即電梯此時位于高層,而低層有人呼叫要下樓)、電梯下行且是去接人(即電梯此時位于高層,而低層有人呼叫要上樓)。而這四種情況,也就包含了實際電梯中的絕大部分情況。情況不同,分析的方法也當然不一樣。這個稍后會有詳細介紹,而首先,我們要了解電梯是如何得知此時它是上面四種的哪一種情況的呢?這可以分為兩個步驟:第一判斷電梯是上行還是下行;第二,判斷是去接人還是去送人。當然,第一個是最好判斷的,因為電梯在運行時,有兩個與樓層有關(guān)的變量,一個為當前所在樓層值present,一個為目標樓層值aim,當電梯運行時,會讓這兩個值進行比較,若前者大于后者,就為下行,從而讓狀態(tài)變量down清零(由于電路中上下行的箭頭使用了非門,故在程序中,兩表示上下行的狀態(tài)變量up和down清零時表示有效);反之,當前者小于后者,即為上行,從而up清零。至于是接人還是送人,是判別的難點。在此,巧妙地利用了兩個狀態(tài)變量scanup和scandown,前者等于所有上行按鍵和去幾層按鍵狀態(tài)變量的或,后者等于所有上行按鍵和去幾層按鍵狀態(tài)變量的或。由此可知,當上行按鍵和去幾層按鍵均為0時,電梯仍為上行狀態(tài),那么此時,電梯的狀態(tài)肯定處于上樓接人的狀態(tài)中(即在高層,有人按了下行鍵)。反之,若它們中有一個為1(且按鍵所處樓層高于當前電梯所在樓層,這個由其他函數(shù)來限定,防止電梯在上行過程中受已經(jīng)過樓層按鍵按下時的干擾),則電梯此時處于上樓送人狀態(tài),就會執(zhí)行對應(yīng)的子程序。其他的與此同理?!‰娞莞髑闆r下所對應(yīng)的處理方法以電梯上行的兩種狀態(tài)為例。在實際應(yīng)用中,最簡單的情況莫過于電梯當前為閑置狀態(tài),然后有一人按下按鍵呼叫,然后電梯便響應(yīng)呼叫。但是,實際情況往往比這復雜的多,在第一個人按下按鍵電梯運行的過程中,還很有可能會有其他不同樓層的人按下不同的按鍵(上行或者下行)的情況發(fā)生。那么就必須得為電梯規(guī)定好一個特定的優(yōu)先級規(guī)則,讓其依據(jù)這個規(guī)則來運行,以免亂作一團。那么這個規(guī)則就必須要高效且人性化,在此,我們規(guī)定,當電梯上行時,均不理會那些按下行按鍵的顧客。并且,若在上行過程中,也有人在某層按的是上行按鍵,但是電梯此時已經(jīng)走過了該層,那么電梯也絕對不會再選擇先下行接他。當然,當將高層上行的顧客送完后(此時一般來說電梯已經(jīng)處于高層了),電梯便會檢測下行按鍵,若更高層有人呼叫下行,則電梯會選擇先去響應(yīng)他們,然后再下行的過程中依次響應(yīng)按了下行處于等待中的顧客,最后這些顧客都送完后,再去相應(yīng)那些電梯上行過程中,處于比電梯低的樓層卻按了上行鍵的顧客。簡單地說,若電梯處于上行狀態(tài),則在該過程中響應(yīng)不同顧客的優(yōu)先級(或者電梯響應(yīng)的先后順序)為:高層呼叫上行顧客高層呼叫下行顧客底層呼叫下行顧客底層呼叫上行顧客。那么,當電梯通過程序運行得知到相應(yīng)狀態(tài)后,又是如何具體的判斷當天所鎖定的目標樓層是否要變更呢?現(xiàn)以上行為例,加以詳細說明:若上行,且是送人,比如電梯當前在二層,七樓有人呼叫上樓,那么它就要響應(yīng)這一呼叫,從而把自己的目標樓層鎖定為七樓并向上運行,而在七樓呼叫后不久,六樓也有人呼叫上樓(且電梯此刻還未運行到六樓),那么在電梯運行中,沒經(jīng)過一個樓層,會做一次判決,因為六樓也有人呼叫,所以正常情況下,它應(yīng)該在判決后將目標樓層定位六樓。而若六樓的顧客按下的是下行鍵,或者二樓的人按下呼叫鍵,電梯此時都會暫時不予理會。部分程序代碼見附錄。由程序可以看出,當六樓有上行鍵呼叫時,狀態(tài)變量f6up便會被置位,程序走到判別if((f6up==0)|(present6))時,里面的內(nèi)容即為假,則不再繼續(xù)向下判斷,而轉(zhuǎn)向else語句中,里面又有一個判斷,當確定此時確實有鍵按下且電梯當前所處樓層小于六樓時,目標樓層就會被變更到六樓,程序最終返回一個aim值。由于程序中沒有下行鍵的出現(xiàn),故下行鍵的狀態(tài)是不會影響到該程序的判決的。此時程序的檢測依據(jù)兩個標準:第一,由低層像高層開始檢查;第二,對于電梯已經(jīng)過的樓層和按下下行鍵所發(fā)出的請求,電梯暫時是不予理會的。這也是很明顯的,因為上行送人狀態(tài)中,低層的優(yōu)先權(quán)大于高層的。程序就是靠著上面這些if語句的嵌套,來完成這種優(yōu)先級設(shè)置的。至于上行接人狀態(tài)時,所堅持的標準是由高層到底層的順序進行排查,而對于上行鍵的呼叫暫時不予理會。下行的狀態(tài),恰好與上行相反,在此不再贅述?!‰娞葸\行函數(shù)該函數(shù)直接控制電梯的上行與下行、運行與停止。不過在其中其關(guān)鍵作用的還是判決函數(shù)給它提供的目標樓層值。它的功能就是判斷目標樓層與當前樓層間的關(guān)系:若前者大于后者,則上行;若前者小于后者,則下行;若相等,則停止片刻把門打開。當然,之后它還要做一次判斷,因為可能還有其他的樓層需要呼叫,此時程序會自動裝入合適的目標樓層值,指揮電梯繼續(xù)運行下去,直到所有的呼叫都完成為止。在這個程序中,還需注意的是當?shù)竭_某一目標樓層后,需要做一些后續(xù)工作,即清零相應(yīng)的狀態(tài)變量和熄滅相應(yīng)的發(fā)光二極管。前者是為了使該狀態(tài)變量不會再對判決函數(shù)的結(jié)果產(chǎn)生影響,因為該響應(yīng)呼叫任務(wù)已經(jīng)完成了,就應(yīng)該把它從參考參數(shù)里去除;后者是實際需要。而熄滅二級管的方法與點亮二極管的方法正好相反,要注意不可以熄滅其中一個二極管的時候,不可以把其他的也一起熄滅了,故在此也是用到在點亮二極管中的兩個PA和PB口的狀態(tài)參數(shù)pasta和pbsta。 運行函數(shù)流程圖 主函數(shù)之所以把主函數(shù)放于最后才說,是因為它最為簡單,它之上把上面所有的函數(shù)按照恰當?shù)捻樞蚺帕衅饋?,便于相互調(diào)用而已。首先,是對82C55與8279的初始化,規(guī)定它們的工作模式與相關(guān)必要狀態(tài);由于本程序中,各按鍵按下的信息是通過中斷來告知單片機的,故我們要對單片機中斷有相應(yīng)的程序語句加以說明,如開總中斷,開外部中斷0以及其觸發(fā)方式等等。最后就是一個大的死循環(huán)了,當電梯運行到這里的時候,就一直執(zhí)行判決函數(shù),檢測有目標樓層有無改變,如果有,就開始調(diào)用運行函數(shù),而運行函數(shù)沒當經(jīng)過一個樓層又會再次調(diào)用判決函數(shù)等等。而當有中斷發(fā)生時,單片機又可以轉(zhuǎn)而處理相應(yīng)的中斷。就這樣,各子函數(shù)間通過主函數(shù)形成了一個統(tǒng)一的整體,使得整個系統(tǒng)得以完美運行。 本章小結(jié)本章根據(jù)由程序低層到高層的順序安排,詳細介紹了本設(shè)計中用到的各主要子函數(shù):處于最低層的是對兩個芯片82C55與8279的寄存器讀寫操作,這是整個程序得以運行的基石;處于核心位置的電梯調(diào)度函數(shù),直接控制決定著電梯當前的運行目標;處于最高層位置的電梯運行程序,控制著電梯的運行與否與運動方向;處于人機交互地位的顯示程序,控制著二極管的亮滅與數(shù)碼管關(guān)于當天樓層的顯示。另外,還對本設(shè)計中用到的單片機中斷系統(tǒng)進行了詳細介紹。結(jié)  論本文對電梯控制系統(tǒng)這一畢業(yè)設(shè)計做了詳細的報告與總結(jié),其中包括硬件部分與軟件部分兩大模塊,而且對其中各個重要的子模塊加以了重點詳細地說明。經(jīng)驗證,本設(shè)計所設(shè)計的電梯完全符合當初的預想,該電梯的調(diào)度完全符合高效、省時、人性化的特點。運行結(jié)果完美無誤,可以作為真實電梯的調(diào)度系統(tǒng)使用。本畢設(shè)的主導思想是:當有顧客按下按鍵呼叫電梯時,運用單片機的中斷,將該信息傳遞給單片機,從而單片機置位相關(guān)的狀態(tài)參量,為電梯判決函數(shù)的判斷提供依據(jù),然后單片機再實時地控制82C55點亮或者熄滅相關(guān)發(fā)光二極管。其中,單片機中斷系統(tǒng)是基礎(chǔ),對82C55與8279的寄存器讀寫是基石,電梯運行函數(shù)為主導,電梯目標樓層判決函數(shù)為關(guān)鍵與核心??偟膩碚f,由于精心設(shè)計與調(diào)試,畢設(shè)的成品還是很成功的,而且本程序的編寫不僅僅是為了應(yīng)對八層樓的電梯,更多層的電梯也可以實現(xiàn),比如8279可以控制64各按鍵,如果對單片機的其他I/O再進行擴展的話,可以實現(xiàn)十幾層電梯的需求。當然,如果更高層的電梯,就會受到單片機管腳資源的限制了。而程序本身的思想本身是可以支持更多層電梯的運行調(diào)度的,如果用其他管腳多的處理器的話(如ARM型處理器),則這一設(shè)想完全可以實現(xiàn)。當然,本設(shè)計還是有些不足之處的,比如這只是單個電梯在運行,如果某些大樓載客量過多時,當然無法滿足需求,故我想以后可以設(shè)計出兩個轎廂的電梯,這樣兩者相互補充,可以滿足更多要求,使顧客更方便。當然難度也是有的,它們之間需要共同維護一些變量,都會帶來一些未知的麻煩等等,但我想只要去思考,總會可以找到解決之路的。附 錄附錄1:部分程序代碼if(up==0) { if(uptake==0) { if((f1up==0)|(present1)) { if((to2f==0)|(present2)) { if((f2up==0)|(present2)) { if((to3f==0)|(present3)) { if((f3up==0)|(present3)) { if((to4f==0)|(present4)) { if((f4up==0)|(present4)) { if((to5f==0)|(present5)) { if((f5up==0)|(present5)) { if((to6f==0)|(present6)) { if((f6up==0)|(present6)) { if((to7f==0)|(present7)) { if((f7up==0)|(present7)) { if(to8f==0) {up=1。 }…… else { if((present7)amp。(to7f||f7up==1)) { if(aim!=7) {change=1。 } aim=7。 } } } else { if((present7)amp。(to7f||f7up==1)) { if(aim!=7) {change=1。 } aim=7。 } } else { if((present6)amp。(to6f|f6up==1)) { if(aim!=6) {change=1。 } aim=6。 } } else { if((present6)amp。(to6f|f6up==1)) { if(aim!=6) {change=1。 } aim=6。 } } else……return ai
點擊復制文檔內(nèi)容
教學課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1