單片機高手是怎樣煉成的
前言:
本文引用地址:http://dyxdggzs.com/article/203175.htm近來(lái)在論壇總是見(jiàn)到一些菜鳥(niǎo)們在大叫:“我想學(xué)單片機”,“我要學(xué)單片機”,“如何入門(mén)啊?”,“你們怎么這么厲害,是怎樣學(xué)的??”等等等等一系列的問(wèn)題,實(shí)在是看多了也感到煩了,今天,就由我電子白菜厚著(zhù)面皮,頂著(zhù)無(wú)數老蝦的磚頭,在這里寫(xiě)上一篇單片機學(xué)習心得,讓菜鳥(niǎo)們勇敢地跨出第一步。
首先解釋什么是蝦米先,以我個(gè)人意見(jiàn)吧,1。來(lái)單片機論壇的時(shí)候能夠看懂大多數家伙在說(shuō)什么,(當然不是看懂他們在灌水的帖子啦)并且能適當地提出問(wèn)題(非弱智的問(wèn)題)和討論,解答別人的問(wèn)題。 2。當希望自己用單片機開(kāi)發(fā)一個(gè)東東,或公司要求開(kāi)發(fā)一個(gè)方案的時(shí)候,能夠很快地在心中建立一個(gè)基本模型,知道應該需要些什么知識,而自己又掌握多少,并根據一定的靈感開(kāi)始搜索資料。
就是以上這2點(diǎn)了,如果你滿(mǎn)足了,基本下面的東西你就當作是故事來(lái)讀就可以了。
然后是心態(tài)問(wèn)題,不久前看到有人這么問(wèn):“我想學(xué)單片機啊,因為聽(tīng)說(shuō)很有錢(qián)途,請問(wèn)學(xué)那種單片機最有錢(qián)途??”這個(gè)問(wèn)題,我看到了就覺(jué)得反感,可以這么說(shuō),在這個(gè)壇子混的單片機大蝦只有兩種:第一是一直從事單片機類(lèi)工作的;第二是愛(ài)好者,愛(ài)好者包括從事單片機工作的和非單片機工作的。的確,單片機是有一定的錢(qián)途,但對于那些本來(lái)不是從事單片機工作的,而又沒(méi)有興趣的,單從錢(qián)的角度出發(fā)的家伙,想學(xué)好單片機??恐怕是做白日夢(mèng)。我個(gè)人認為,技術(shù),是興趣、生活需要、和個(gè)人目標的結合。而不是單單的向錢(qián)看!要知道,當一個(gè)相當艱難的項目完成的時(shí)候,開(kāi)發(fā)者那種手舞足動(dòng)的興奮,不是完全來(lái)自于項目提成的獎金!所以煉蝦米的第一要素是:愛(ài)好!!
以上是我認為學(xué)單片機應該具備的技術(shù)心態(tài)。
然后該說(shuō)到單片機的學(xué)習上了,很多人抱怨自己學(xué)校沒(méi)有單片機課上,所以自己不會(huì )單片機。其實(shí)并不然,以我為例,我以前在學(xué)校的確有單片機的課上,不過(guò)直到上完一個(gè)學(xué)期的單片機,我還是不知道自己在學(xué)什么!!考試的時(shí)候老師預先公布資料和答案了,考試的時(shí)候我們就抄上去就是了,結果,到考完試的一刻,我突然有點(diǎn)領(lǐng)悟:“我知道什么是中斷啦”。。。。是的,一個(gè)學(xué)期的單片機,我就知道了這么多了。后來(lái)?后來(lái)是完全的自學(xué),自己研究走出來(lái)的,如果靠學(xué)校那點(diǎn)所謂單片機,我早撿破爛去了!!所以對于我們這類(lèi)非名校的學(xué)生哥而言,技術(shù)離不開(kāi)自學(xué)。
第一章:偶然
這篇文章叫蝦米是怎樣煉成的,而不是什么單片機速成,所以我是在寫(xiě)故事,而不是在寫(xiě)教材。
我單片機起步于2002年10月1號,這個(gè)是個(gè)重要的日子。但注意,我在2002年9月的時(shí)候有了自己第一臺燒寫(xiě)器和簡(jiǎn)單的實(shí)驗板,但那時(shí)候不叫起步,因為我把這東西買(mǎi)回來(lái)了,還根本不怎么會(huì )用。
為什么我記得是2002年10月1號?而沒(méi)有記錯為10月2號?呵呵。。。
2002年國慶前幾天,學(xué)校開(kāi)始舉辦電子設計競賽了,因為學(xué)校每次舉辦比賽,經(jīng)費都是問(wèn)題,所以這個(gè)什么電子競賽根本不會(huì )隆重宣布,其實(shí)我當時(shí)還不知道的呢。直到有個(gè)同學(xué)偶然跟我提起,學(xué)校有比賽啊,你有打算參加嗎?我當時(shí)不知道發(fā)了什么瘋,就說(shuō),好啊,我參加!這樣,一個(gè)單片機,甚至是電子白癡的命運就改變了。。。
然后就是出方案啦,我也不知道什么時(shí)候發(fā)夢(mèng)夢(mèng)見(jiàn)個(gè)什么古怪產(chǎn)品之類(lèi)的,總之我就提出了一個(gè)用PC無(wú)線(xiàn)控制設備的方案。PC端用VC寫(xiě)的串口程序,傳到單片機上,然后單片機啟動(dòng)無(wú)線(xiàn)發(fā)射模塊,遠程設備接收到信號后,由另一個(gè)單片機負責處理,控制一個(gè)16*2LCD和4個(gè)LED燈。
對于當時(shí)的我來(lái)說(shuō),難度真的很大的,因為我不會(huì )VC,不會(huì )單片機,不會(huì )LCD,無(wú)線(xiàn)發(fā)射模塊我是買(mǎi)了一對,但沒(méi)用過(guò)。也就是說(shuō),白手起家!!
但我還是決定做,不然很沒(méi)面子。于是和2個(gè)MM組合起來(lái),成為3人組報名學(xué)校的設計大賽了。
和MM組有個(gè)原因,1。方案是我提出的,我希望自己能夠獨立完成 2。組男生的話(huà)可能會(huì )在設計上有爭議等的,隨時(shí)破壞計劃,還是MM聽(tīng)話(huà)點(diǎn)。。。。其實(shí)在最后,這兩位MM的表現完全是出于我意料,他們實(shí)在是強!!很多問(wèn)題都是他們幫忙解決的呢。
第二章:奮斗的開(kāi)始
可能這篇故事寫(xiě)的不是很生動(dòng),也沒(méi)什么趣味,有些朋友們或許看到一半就溜了,,但我依然希望能有人愿意看下去。。。也希望能讓一些還沒(méi)進(jìn)門(mén)的菜鳥(niǎo)有所感悟。
和MM們組隊后,‘工程’就要開(kāi)始了,題目是“計算機遠程控制系統”(呵呵,很牛的名字吧:),但由于我的方案相對于當時(shí)我們的實(shí)力來(lái)說(shuō)是超前不少的,所以和MM們有個(gè)協(xié)議,因為我們都不會(huì )VC串口編程(VC也不會(huì )),所以VC部分我必須負責全部并在最短時(shí)間內完成,不然整過(guò)計劃就不用再做了?;貞谝徽滤f(shuō)的,為什么我記得是2002年10月1號?因為我是在那天起呆在家里整整7天,干什么?研究VC啊!!!這是我到現在為止,第一個(gè)沒(méi)有去玩的國慶節。從早到晚,除了睡覺(jué),吃飯上廁所,就是屁股不離座,眼不離電腦!!你說(shuō),我會(huì )忘記嗎??
當時(shí)做了一條串口線(xiàn)把電腦的兩個(gè)串口連起來(lái),然后串口1發(fā)給串口2,一邊是用我的程序,另外一邊是用串口調試軟件。還有手上的幾本VC書(shū),就這樣寫(xiě)出我的第一個(gè)VC程序出來(lái)。還記得當時(shí)成功發(fā)送的第一個(gè)字節是'r'!!到現在我還記得很清楚,當時(shí)真是開(kāi)心死了,還馬上把串口線(xiàn)和程序帶回學(xué)校(我是走讀生)給MM看,并正式宣布我們的項目開(kāi)始。這國慶7天假期個(gè)中的困難和痛苦我就不想說(shuō)了,只知道那是我技術(shù)之路的第一個(gè)起點(diǎn)。
人家都說(shuō)VC難入門(mén),是的,真的很難啊,不過(guò)你要知道VC存在并為這么多程序員所用,自然有他的道理,只要愿意堅持,困難是能夠克服的,而且,你并不是第一個(gè)面對他的人,所以沒(méi)有任何道理退縮??吹絼e的大蝦能夠成功,那自己為什么不行呢?所以煉蝦米的第二要素是:堅持!!
第三章:嘗試成功
在VC寫(xiě)的串口程序成功后,我們的計算機遠程控制系統就要開(kāi)始了。其實(shí),當時(shí)的VC程序只能發(fā)數據,并不能收,因為收的話(huà)如果是mscomm要利用消息,如果是API的話(huà)要用線(xiàn)程,上面兩個(gè)我當時(shí)都不懂,不過(guò)沒(méi)問(wèn)題,我的題目是遠程控制,沒(méi)有說(shuō)是遠程監控,所以單發(fā)就夠用了,:)。剩下的就是單片機接收串口數據,然后控制射頻模塊發(fā)射,接收端就是模塊接收后的單片機處理,例如亮LED和控制16*2LCD。
那時(shí)侯如何分配51的IO腳也弄了個(gè)半天呢,最后和2個(gè)MM協(xié)調好后,用了張A3紙畫(huà)了兩個(gè)大大的51,然后那個(gè)腳做什么,哪個(gè)腳接LED,那個(gè)腳接16*2LCD,那個(gè)腳按鍵。。。呵呵,是夸張了點(diǎn),但當時(shí)還是菜鳥(niǎo)階段啊~~~~
弄好管腳分配了,就做板子,別以為我很有錢(qián),做工業(yè)板,我是拿萬(wàn)能板飛線(xiàn)做的,當時(shí)焊個(gè)MAX232也焊了半天,勉強焊好了個(gè)有串口的最小系統了,發(fā)射模塊都還沒(méi)焊上呢。但這時(shí)候要分工合作利用時(shí)間,于是開(kāi)始寫(xiě)程序了,基本上是邊看書(shū)本邊寫(xiě)程序,半猜半寫(xiě)。用的是匯編。那時(shí)侯沒(méi)有這里的家伙這么幸福,300元就能買(mǎi)個(gè)老丁的仿真器來(lái)調試程序,我用的是最納悶的方法:N片51侍侯,130元的便宜燒寫(xiě)器寫(xiě)程序,編譯通過(guò),燒一片,插上板,上電!!出什么問(wèn)題?拔下,猜猜原因后改程序,再燒再插拔。(當時(shí)沒(méi)有S51的,其實(shí)那時(shí)侯有我也不會(huì )用ISP的),于是就是這樣調試程序的了,其中多繁瑣可能沒(méi)多少人明白,因為你們買(mǎi)了個(gè)仿真器就插到上面去了,到程序完成了才拔掉。
直到整個(gè)項目完成為止,我有一片51燒壞了,估計是壽命到達終點(diǎn)了,1000次的壽命,代表我至少就這樣插拔了1000次單片機。真不知道是什么滋味了。
總之當時(shí)就是這樣天天寫(xiě),晚晚寫(xiě),還得和MM逃課了一個(gè)星期,終于搞定,發(fā)射距離是30M左右啦。20M內接收完全沒(méi)有錯誤。還能在PC上按鍵,然后字母發(fā)射到遠處的16*8LCD顯示出來(lái)。(其實(shí)現在還想不通這么簡(jiǎn)單的東西當時(shí)居然要花一個(gè)多月呢,如果是現在,估計單片機程序我是一小時(shí)就出來(lái)了)
LCD顯示屏相關(guān)文章:lcd顯示屏原理
單片機相關(guān)文章:單片機教程
單片機相關(guān)文章:單片機視頻教程
單片機相關(guān)文章:單片機工作原理
lcd相關(guān)文章:lcd原理
評論