略談兩個(gè)月單片機設計與開(kāi)發(fā)的感慨
首先,我先跟大家介紹一下什么是單片機。單片機,它的全名叫“單片微型計算機”,英文名叫Micro-Controller Unit,或簡(jiǎn)稱(chēng)MCU。為什么叫它單片微型計算機呢?因為它就是一臺小型計算機。大家都知道,我們現在日常生活中所用的計算機都由存儲設備,輸入、輸出設備,控制器等部分組成。而我們的單片機也同樣由這些組成,誠然,單片機就是一臺計算機。然而,單片機不管是從運算速度,還是存儲容量上來(lái)講,遠遠不及我們日常生活中所用的PC機。那有些人可能會(huì )問(wèn)了:“既然單片機性能遠遠不及PC機,那干嘛不直接全用PC機呢?還用什么單片機呢?”是的,PC機功能是特別強,基本上應用在生活中各個(gè)領(lǐng)域。但是,我們日常生活中各種應用系統并不一定要求計算機功能那么強大,只要能處理好我們該系統所要處理的任務(wù)就OK啦!所以,并不是每個(gè)系統都要一個(gè)那么大的計算機放在那兒控制。我舉一個(gè)最簡(jiǎn)單的例子,譬如,現在的汽車(chē)產(chǎn)業(yè)發(fā)展的特別好,而汽車(chē)的車(chē)載電子技術(shù)也跟著(zhù)發(fā)展起來(lái)?,F在的汽車(chē)都向豪華型,智能型,人性化方向發(fā)展,使得人們的生活變得輕松,舒適。而這些都是建立在智能控制前提下,所以就必須用到計算機來(lái)控制。試想,如果每個(gè)控制系統都用一臺很大的PC機放在汽車(chē)上,好幾十臺計算機放那兒,那么這輛汽車(chē)不就成了計算機房啦!那這輛汽車(chē)的造價(jià)也可想而知啦!況且,那么多的計算機放車(chē)子里面,也占據了太大的空間。所以,人們就不用PC機,改用單片機來(lái)控制它。單片機就是一塊芯片,用它既節省經(jīng)費,又節省空間,而且又能達到同樣的控制效果,何樂(lè )而不為呢?如果用了PC機,是不是有點(diǎn)“殺雞用宰牛刀”的感覺(jué)呢?就是因為這樣,單片機發(fā)展的非常好,在各種領(lǐng)域都能見(jiàn)到它的身影。如消費類(lèi)電子領(lǐng)域,工業(yè)控制領(lǐng)域,儀器、儀表領(lǐng)域,軍事領(lǐng)域等等,都是它的天下!
好了,剛才有些跑題了,現在讓我們言歸正傳。其實(shí)這次單片機設計與開(kāi)發(fā)全是我們大家自己組織起來(lái)的。我們在整個(gè)系里面,找了20個(gè)志同道合的同學(xué),參加了這次單片機設計與開(kāi)發(fā)。說(shuō)實(shí)話(huà),剛開(kāi)始,我們大家從來(lái)沒(méi)有做過(guò)單片機最小系統,根本不知道從哪兒做起。但是,我們并沒(méi)有灰心,而是一步一個(gè)腳印,從最簡(jiǎn)單的做起。在這次實(shí)訓過(guò)程中,我們學(xué)習數碼管的靜、動(dòng)態(tài)顯示;獨立鍵盤(pán)、矩陣鍵盤(pán);MAX813看門(mén)狗電路;EEPROM選了24C02;時(shí)鐘芯片DS1302的數碼管顯示,點(diǎn)陣顯示;單總線(xiàn)數據結構溫度芯片DS18B20;SPI串行數據總線(xiàn);I2C數據結構;串行數據通信;并且,在最后接了一個(gè)項目:大型LED顯示屏。我們這次單片機實(shí)訓正值暑假,那天氣可真是叫熱??!我們每學(xué)習一個(gè)模塊,都要做硬件電路。每次拿烙鐵焊接時(shí),整個(gè)身體上汗珠往下滴,全身都濕透了。因為焊接時(shí)松香對皮膚有影響,我臉上長(cháng)了好多痘痘,難受死了。然而,天氣越熱還越不能用電風(fēng)扇吹,因為一吹電風(fēng)扇,烙鐵就沒(méi)有溫度,焊錫就根本融化不了,沒(méi)法焊接。然而,硬件電路制作完后,還并不能算完事,更重要的還是程序。程序的編寫(xiě)還不算太難,讓人頭痛的就是調試程序。有的時(shí)候,明明程序在電腦上模擬仿真非常完美,一點(diǎn)兒都沒(méi)問(wèn)題,可是,當程序一旦上硬件調試時(shí),卻總是出問(wèn)題,達不到預期的效果,非常惱人。有時(shí)氣憤的真想一腳把所有的東西都給踹掉算了。那時(shí),大家都非常努力,每天盯著(zhù)自己的電腦屏幕一直到深夜,不斷的調試程序,觀(guān)察里面的數據變化。到最后,很多人的眼睛都變得酸痛起來(lái)。因為天氣太熱,大家身體上都長(cháng)滿(mǎn)了痱子,但卻一直堅持著(zhù)。我很感動(dòng),真的!我在這次單片機設計與開(kāi)發(fā)中,嘗到了成功的喜悅,也品味到了失敗的痛苦。特別是那次寫(xiě)DS1302時(shí)鐘模塊時(shí),因為要調整時(shí)間,所以數碼管必須要在調整時(shí)閃爍顯示,就這個(gè)閃爍顯示,把我折騰了整整3天,3天一點(diǎn)進(jìn)展都沒(méi)有,當時(shí),那真是痛苦死了,感覺(jué)真的是做不出來(lái)了,差點(diǎn)就放棄了閃爍顯示部分程序的編寫(xiě)。然后我就和別人討論商量,慢慢的,我摸索出來(lái)了。當那次上電調試時(shí),等我按下調時(shí)按鍵的剎那,時(shí)鐘閃爍顯示了!我好高興,好有成就感,當時(shí)腦子里面第一個(gè)想到的就是如果我開(kāi)始放棄了,我就不會(huì )達到這樣的效果。真的好開(kāi)心,那一刻。當然,在兩個(gè)月當中,出現了許許多多的問(wèn)題,然而,又一次次被解決。真是痛并快樂(lè )著(zhù)!還有,在這兩個(gè)月中,我也明白了細節很重要這個(gè)道理。比如那次寫(xiě)DS18B20的時(shí)候,程序少了個(gè)延時(shí),它就是讀不出來(lái)溫度數據,多了點(diǎn)時(shí)間,它也讀不出來(lái)。真的是一點(diǎn)差錯都不能有。
在這次單片機設計與開(kāi)發(fā)中,最重要的就是做了一個(gè)項目,它是大型LED顯示屏的顯示。記得我們是7月22號接了這個(gè)項目。當然,項目是老師幫我們接的,但是,這個(gè)項目完全是由我們自己設計并開(kāi)發(fā)的。在做這個(gè)項目之前,我們首先要做的就是市場(chǎng)調查。所以,我們20個(gè)人全體出動(dòng),分為3個(gè)小組,分別去了用戶(hù)、公共場(chǎng)所、電子市場(chǎng)這3大市場(chǎng)調查了一下,整整花了1天時(shí)間。最后回來(lái)時(shí),大家在一起又商量討論了一下,擬定了一個(gè)方案。當我們把材料買(mǎi)回來(lái)以后,我們的任務(wù)便是測出LED單元板的硬件電路。我們是每一小組發(fā)4塊單元板,大家用萬(wàn)用表測出其內部電路結構并畫(huà)出電路圖。令人可喜的是大家竟然用一上午的時(shí)間測出了全部電路,進(jìn)展的很快。為了搞好這個(gè)項目,我們在正式接手這個(gè)顯示屏之前就做了一個(gè)點(diǎn)陣顯示。為了能更好的理解里面的數據變化,我們從最簡(jiǎn)單的做起。先是16*16的漢字固定顯示,然后是16*16的漢字移動(dòng)顯示,而在移動(dòng)顯示中,又分為半字移動(dòng)和列移動(dòng)。接著(zhù),我們開(kāi)始了32*32的漢字固定顯示,最后是32*32的漢字移動(dòng)顯示。就這樣,我們一步一步,踏踏實(shí)實(shí)地完成了整個(gè)顯示屏的數據屏部分的顯示。其實(shí),在整個(gè)數據屏部分,程序上并沒(méi)有什么難點(diǎn),它的難點(diǎn)則是在算法上面。你要通過(guò)怎樣的算法才能找到你所需要的顯示數據才是最關(guān)鍵的。接下來(lái),我們的任務(wù)是把信息屏部分給完成。但是,信息屏部分并沒(méi)有我們想象中的那么簡(jiǎn)單??梢哉f(shuō),這個(gè)信息屏部分是這兩個(gè)月中我們遇到最難的部分。信息屏部分要求能顯示時(shí)分秒、年月日、星期、溫度等數據,并且具有自動(dòng)切換屏幕,按鍵調整等功能。這樣,單片機所需要處理的任務(wù)就非常多,CPU出現了嚴重的資源、時(shí)間、空間沖突。所以,后期的單片機系統開(kāi)發(fā)難點(diǎn)之處就在于怎樣很好的解決CPU的資源,時(shí)間,空間沖突。因為我們是第一次開(kāi)發(fā)項目,沒(méi)有任何經(jīng)驗,所以最后這個(gè)信息屏部分我們剛開(kāi)始是沒(méi)有任何思路,不知道怎么辦。接著(zhù),老師給我們指點(diǎn)了一些方法,畫(huà)出了流程圖。這樣,我們就慢慢摸索,一遍一遍的燒片子試驗。還好,經(jīng)過(guò)將近1個(gè)多星期的努力,信息屏部分才算完成了。然而,當信息屏完成后,我們離交產(chǎn)品時(shí)間僅有1天了。那天晚上,我們4個(gè)同學(xué)一夜沒(méi)洗澡沒(méi)睡覺(jué),通宵裝屏調試,一直忙到第二天早上6點(diǎn)鐘,真的是非常辛苦!
在這兩個(gè)月的單片機設計與開(kāi)發(fā)中,也出現了好多問(wèn)題。很多同學(xué)心理上出現了浮躁、靜不下心來(lái)的情況。遇到麻煩,困難時(shí),總是不愿意自己主動(dòng)去動(dòng)腦想想。不是有句話(huà)叫勤奮至卓越嗎?中國人多啊,每個(gè)人都是智商100,誰(shuí)比誰(shuí)傻啊。憑什么你比別人強?你能有好的工作、好的收入,你能香車(chē)寶馬,醇酒美人?我認為,沒(méi)有別的辦法,就是勤奮!勤奮學(xué)習,這個(gè)道理大家知道,知識就是金錢(qián)??!勤奮工作,想比別人多賺錢(qián),在智商相同的情況下,就是多付出時(shí)間干活,再提高工作效率。別人5×8小時(shí)工作,你是7×16小時(shí),再提高工作效率一倍,你不就賺了比別人多5倍的錢(qián)嗎?就象一壺水,老是小火,燒了半天,也是溫吞水;可是大火一上,一會(huì )就開(kāi)了,就是這個(gè)意思。你看《射雕英雄轉》中的郭靖,沒(méi)有別的本事,就是傻練,有一天開(kāi)竅了,如有神助。技術(shù)這個(gè)東西就是這樣,突破了門(mén)檻,就是坦途。需要勤奮勤奮再勤奮。有一天這個(gè)日子來(lái)了,你就苦盡甘來(lái)了。所以嘛,我們很多同學(xué)就是缺乏這種“傻練”的精神。
回顧一下這兩個(gè)月的奮斗歷程,有過(guò)成功也有過(guò)不足。這對我個(gè)人來(lái)說(shuō),是一筆非常好的財富!我深刻地認識到,僅僅死學(xué)書(shū)本上的理論而不與實(shí)際硬件結合進(jìn)行實(shí)踐,這樣的理論沒(méi)有用;僅僅在校園里做的簡(jiǎn)單硬件實(shí)踐如果不與工業(yè)現場(chǎng)應用結合,這樣的實(shí)踐是不成熟的。學(xué)校里的簡(jiǎn)單實(shí)驗是根本不能拿到工業(yè)現場(chǎng)上用的。如果你想開(kāi)發(fā)單片機系統,必須要真刀實(shí)槍的做產(chǎn)品,只有通過(guò)實(shí)實(shí)在在的產(chǎn)品開(kāi)發(fā),你才能遇到許多實(shí)際問(wèn)題,才能積累開(kāi)發(fā)經(jīng)驗。這在學(xué)校實(shí)驗室做的一些小實(shí)驗是根本而且是絕對不可能遇到這些實(shí)際問(wèn)題,當然,你也就根本沒(méi)有什么單片機開(kāi)發(fā)經(jīng)驗之談!在接下來(lái)的日子里,我會(huì )更加堅定地走上單片機開(kāi)發(fā)這條路。
大學(xué)生活是我們人生中最寶貴的經(jīng)歷,我們付出了幾年光陰的代價(jià),我們應該也必須為此有所收獲。很多同學(xué)在大學(xué)校園里迷失了方向,不知道自己來(lái)到這里究竟是為了什么,單純的認為畢業(yè)后找個(gè)好工作就萬(wàn)事大吉了,可你們是否想過(guò),沒(méi)有真正的本領(lǐng)如何能找到好工作?如何能為這個(gè)社會(huì )做出貢獻?更現實(shí)一些,沒(méi)有一份好工作如何買(mǎi)房成家,建立起屬于你自己的幸??鞓?lè )的家呢?真本事不是*混日子混出來(lái)的,我們身邊有很多機會(huì )可以發(fā)揮自己的能力,實(shí)現自己的理想,即使這些機會(huì )不是很明顯地讓我們看見(jiàn),我們也應該努力地去爭取。偶爾的娛樂(lè )是可以的,可是成宿在網(wǎng)絡(luò )游戲中揮舞大刀的同學(xué)們,那里可以砍出你的未來(lái)嗎?適當的運動(dòng)也是應該的,可整天都泡在籃球場(chǎng)上的同學(xué)們,你覺(jué)得你還有希望成為第二個(gè)喬丹嗎?哥們義氣固然重要,可三天兩頭為朋友兩肋插刀,你的肋骨夠用嗎?戀愛(ài)誠然美好、溫馨,但是你們沒(méi)有真正的本領(lǐng)能保證以后過(guò)得幸??鞓?lè )嗎?年輕人應該有更高的追求!!!你要為你的將來(lái)做好準備,外面的世界很精彩,外面的世界也很殘酷,你活著(zhù)的每一天都應該好好珍惜!
評論