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

正文內(nèi)容

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

2025-06-27 19:38本頁(yè)面
  

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