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