找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 5089|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

六層電梯程序,你想看嗎?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:46254 發(fā)表于 2013-4-28 12:34 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
我算是一個比較喜歡多樣化生活的人吧,有寫六層電梯程序這個想法的時候是在去年的暑假,那個時候,剛剛用PLC做了四層電梯,感覺很HIGH,手一癢癢就想試著寫六層電梯試試看,但是六層電梯終歸比四層電梯復(fù)雜,之前做個一個計算,貌似五層及其以上的電梯程序就會跟四層及其以下的電梯程序區(qū)分開來。因?yàn)榈搅宋鍖拥臅r候就會有優(yōu)先級判斷,電梯運(yùn)行過程中還需要自鎖和互鎖。那個時候用PLC,但是終歸因?yàn)樽约合胂罅Σ粔蚱孑舛鴳K敗。后又想,如果用C寫的話肯定會比PLC容易好多了。結(jié)果就沒再怎么想,一頭扎進(jìn)了單片機(jī)創(chuàng)作中。 自從用單片機(jī)寫六層電梯,也是寫了好多遍了。我剛開始的想法是用數(shù)組存儲數(shù)據(jù),附加判斷,然后對數(shù)組內(nèi)數(shù)據(jù)做處理,后來仔細(xì)想了一下,覺得這樣做對于單片機(jī)來說工作量好大,仔細(xì)算下來,單片機(jī)的大部分時間都是在處理數(shù)組內(nèi)的數(shù)據(jù),而且這樣也比較麻煩。后來就這事兒在吃飯的時候問了毛毛,想讓他給提點(diǎn)兒什么比較好的建議。誰知道那丫比我還奇葩,給我想出了一個循環(huán)優(yōu)先級的方法。這個方法在當(dāng)時看來確實(shí)是無可挑剔,剩下的時間我就開始做。剛開始在開發(fā)板上實(shí)驗(yàn),但是開發(fā)板上的固件都是死的,用著很不方便,不過還好,勉強(qiáng)把程序?qū)懗鰜砹�。后來又做了個protues仿真,發(fā)現(xiàn)顯示竟然有問題。這個讓我很糾結(jié)。人家都說軟件仿真有誤差,不管你們信不信,我是信了。 前段時間有了時間和心情,自己做了個電路板,可恨的是買了個ISP下載線竟然死活下不進(jìn)程序,白白花了20大洋么?我覺得不至于吧,應(yīng)該還是硬件有點(diǎn)兒問題的。這樣沒辦法就只能用開發(fā)板上的單片機(jī)咯,每次調(diào)試的時候都要來來回回的拔下、插上、拔下、插上······其實(shí)我倒是不怕麻煩,關(guān)鍵是單片機(jī)引腳來來回回折騰這么幾次,差不多都廢了············ 調(diào)試好了程序在電路板上實(shí)驗(yàn),這個時候才發(fā)現(xiàn)當(dāng)初毛毛給我說的循環(huán)優(yōu)先級的方法有多大的問題了,按照他的想法,順時針循環(huán),電梯在運(yùn)行的時候,總是會先執(zhí)行高樓層數(shù)據(jù),低樓層數(shù)據(jù)在高樓層數(shù)據(jù)沒有處理完的時候是不會執(zhí)行。這樣來說問題就很大了呀。更郁悶的是有的時候電梯竟然會卡死不動�?戳死习胩斐绦颍矐械谜疫@方面原因了。 然后,我就想在這個程序基礎(chǔ)上做一些改變,試試看能不能行的通。也就是在今天,也就是在一個小時以前,測試結(jié)果讓我狂喜之后淋了一盆狗血。 程序中我加了互鎖,這樣避免了之前的卡死。但是因?yàn)檫€是只是用了簡單的優(yōu)先級判斷(我用這個方法就是想試試這個方法到底行不行得通),程序在執(zhí)行過程中因?yàn)槌绦虻那昂笪恢糜胁町悾瑫䦟?dǎo)致電梯在運(yùn)行過程中有一個優(yōu)先級,這個是沒辦法避免的。記得之前用PLC做四層電梯和自動洗衣機(jī)的時候也遇到過這種問題。如果不牽涉數(shù)據(jù)重組,這個還是很容易處理。但是六層電梯數(shù)據(jù)繁多,靠條換程序的位置是沒辦法來解決這個問題的。這個時候我的心情呢???唉~不知該怎么形容了。說不高心,但是總算用親身經(jīng)歷證明了五層及其一以上的電梯都需要用數(shù)組的方法來做了,簡單的與或非判斷行不通。但是你要說我高興???我心里還真的猶如打碎了五味瓶。 我總是用失敗來詮釋真理,我覺得這樣會讓我受益終生吧。不過任何事物都是有代價,還好這個代價不大。 同時呢,為了那些個看官們的方便,也為了讓你們看到我真正的親身的教訓(xùn),經(jīng)過前思后想,覺得還是把源程序附上得好。再次警告那些個孩紙們:老夫我用m+n次的失敗告訴了你們,簡單的與或非優(yōu)先級判斷在六層電梯(抑或是五層及其以上電梯吧)上是行不通的。六層電梯還是需要數(shù)組存儲數(shù)據(jù)+判斷處理。如果孩紙你不信,那你也可以花上幾個小時或幾天或幾個月 來自己親身證實(shí)一下吧! 唉~撤了�。�! [upload=c,1-1.c]viewFile.asp?ID=1487[/upload]
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:67404 發(fā)表于 2014-10-14 23:21 | 只看該作者
最近正在學(xué)這個,大神
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表