新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機大俠是怎么樣煉成的

單片機大俠是怎么樣煉成的

作者: 時間:2016-11-09 來源:網(wǎng)絡(luò) 收藏
前言:

近來在論壇總是見到一些菜鳥們在大叫:“我想學(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é)。從早到晚,除了睡覺,吃飯上廁所,就是屁股不離座,眼不離電腦?。∧阏f,我會忘記嗎??

當(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的大蝦能夠成功,那自己為什么不行呢?所以煉蝦米的第二要素是:堅持?。?br />
第三章:嘗試成功

在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)在,估計單片機程序我是一小時就出來了)

電子大賽結(jié)束,我的MM組合贏得學(xué)校的一等獎(林中無老虎,菜鳥稱大王咯:),后來這東東改進一下就趕著參加了廣東省的挑戰(zhàn)杯了,蒙混騙了個3等獎。

第四章:真正的開始

比賽是有兩個一等獎的,還有一個是我們鄰班的家伙,他當(dāng)時比我牛多了,做的是串口的電子閱讀器,把文章從PC下載他的閱讀器上就能閱讀了,中文的哦:),其實他當(dāng)時就已經(jīng)會VC的DIRECTX編程了,還喜歡用VC來寫游戲,比我牛多了。之后的大學(xué)單片機生涯我都是在和他比拼中度過的,這樣進步當(dāng)然就快啦?,F(xiàn)在這個家伙和我住在一起了,呵呵,不過他向驅(qū)動程序的路走,我向嵌入式發(fā)展,此為后話。

自從有了第一次嘗試成功,我就開始沉迷起來了,特別在放假的時候,更是全情投入,我戒掉電腦游戲也是從那時侯開始的,現(xiàn)在有多少大學(xué)生敢說他不玩游戲??我看沒多少吧?其實現(xiàn)在想來,玩游戲真的浪費了我很多的生命啊。?;仡^看一看,游戲在你的回憶中并沒有多少殘留,也就是不值得去回憶,那我們弄來還有什么用?所以我從不玩游戲。

說回來,我開始沉迷在單片機的研究中,也經(jīng)常省下點錢上落廣州購買點芯片等東西,開始還是自己用萬能板焊電路板的,玩玩鍵盤掃描,做做動態(tài)顯示8段管等的。后來買了塊128*64的LCD,學(xué)人家搞起漢字顯示來了,好象搞了一個多星期才能輸出個漢字,呵呵,夠笨吧?后來還做了很多小實驗,其實都是自己焊的萬能板的。之后從老師中得知有種感光板,于是就撲上廣州買了幾塊回來弄,第一次弄就失敗了2塊,合共18大元,我狂倒中(2002年12月左右吧)~~后來積累經(jīng)驗后,就成功了,之后越做越漂亮:)單面的工藝已經(jīng)比美工業(yè)板,現(xiàn)在能做到0.25MM的線寬和0.3MM的線距,能夠完成大部分的實驗需要了。

其實那時侯大學(xué)階段做的小實驗還是圍繞著一些自己的愿望,也就是算創(chuàng)作了,例如做個計數(shù)器,做個電子種;有的是網(wǎng)上看到別人做出來了,自己又想做。不過想做的太多,時間卻太少,那時候還是處于剛進門什么都想學(xué)的階段。但不管時間夠不夠,做的多少得多少嘛,結(jié)果現(xiàn)在家里就一大堆東西了,呵呵。

后來學(xué)會了上論壇問人了,取名字的時候我想想,我是個電子白癡呢,就取個菜點的名字吧,叫白癡不是很好,于是就叫白菜了,于是我就叫電子白菜,其實就是電子白癡的意思:)那年是2003年的新年。

有了論壇的幫助,我感覺進步的更快了,好多問題都有人指點,開始發(fā)的問題還直被人罵菜,后來慢慢地積累帖子數(shù)百,偶然也就能罵罵別人菜,呵呵,不過論壇是要上,自己的實驗也得做,我覺得在開始階段,很多東西都要親身經(jīng)歷過才能積累經(jīng)驗的,單看書上說的是一回事,自己做起來又是另外一回事。在實踐中,我學(xué)到的絕對不止是實驗中的一個程序,更加地我學(xué)會了如何去解決問題和如何利用實驗成果進入下一個更復(fù)雜的實驗中。

第五章 狂熱

2003年開始,大學(xué)的課程基本完結(jié),但還沒畢業(yè)^0^,我是2003年7月畢業(yè)的,那么這7個月就是假期,對的,是7個月的假期,基本除了做畢業(yè)設(shè)計外是沒什么事情做的。我覺得這個正是我第一個飛躍的階段。話說回來,我們的同學(xué)們啊,真是難得有這7個月假期了,瘋狂的在游戲,電影和睡覺吃飯中度過,直到后來快要把全天下的電影看光了,百般無聊下,

開始看那些有著10年歷史的外國肥皂?。ㄖ形恼Z音),那么這7個月他們是白過的了,還連電費都虧下了!!

當(dāng)然,我也很快樂地玩了不少時間,這7個月當(dāng)中,我基本把技術(shù)和娛樂1比1地分配下去了,折算一下我也算下了3個半月去鉆研了。其實現(xiàn)在回想一下還是覺得當(dāng)時應(yīng)該把更多的時間下在技術(shù)研究上,這樣的話我現(xiàn)在的技術(shù)應(yīng)該會更好一些。因為工作后自己研究的時間就少很多了嘛。。。

說到我這7個月,學(xué)會的東西還真不少,主要是不玩游戲啊,就省下了很多很多時間了。我在不做實驗的時候,基本時間都花在網(wǎng)上,找找資料,看看技術(shù)類的東西,從網(wǎng)上我得到了很多新信息,包括很多單片機的應(yīng)用,重要的是這些應(yīng)用遠超越我自己做的那些小試驗,小電路板。另一個方面,應(yīng)用思維也很重要,實際的產(chǎn)品跟我們學(xué)生比賽弄的東西不同,他要求的是穩(wěn)定,實際和可行。舉個例子:學(xué)生們參加比賽都做過什么紅外線水龍頭的東西吧?他們做出來的那東東,紅外線不怎么經(jīng)過調(diào)制和編碼就射了,接收端當(dāng)然是抗干能力擾差啦,如果用在實際上,豈不是水龍頭一天自動放水幾次??就算一天自動放水一次而已,這個東西都是賣不出的了。另一方面,他們總覺得電費不是錢,紅外線是源源不斷地放,接收端是不停地檢測,單片機經(jīng)常缺乏睡眠。。。再舉個例子,溫度控制,這個東西估計大學(xué)生的比賽中是常出現(xiàn)的題目了,他們總是有著這樣一個概念:你調(diào)100度,那么我的發(fā)熱管就一直加熱,直到AD檢測到100度了,就停,然后當(dāng)溫度降低到99度,又開始加溫。同學(xué)們,看上去很正常吧??但我不妨跟你說,這樣的東西是根本不能用的,如果用在工控上(一般要求精度為1~2度)是必然闖禍的東西!!為什么?因為學(xué)生們都認為到了100度的時候就關(guān)發(fā)熱管,那么他溫度就應(yīng)該只有下降沒有上升的理由是不?但實際中,關(guān)掉發(fā)熱設(shè)備后,發(fā)熱絲還是火紅火紅的,溫度是以一個曲線形式繼續(xù)上升的,所以你到100度才關(guān),到頭來實際溫度是到110或更高才會開始下降的。同理,溫度下降后的加熱上升也有這個問題。關(guān)于這類溫度控制的算法,是有一門專門的PID學(xué)問的。大家可以在網(wǎng)上多搜索資料。

說回正題,由于在上網(wǎng)中得到了不少啟發(fā),我就開始慢慢脫離那些C程序量還不到300行的小實驗了,也就是說,不再點跑馬燈,鍵盤,LED等的東西了。我開始想寫大點的程序,但想歸想,可是沒有什么題材啊,于是就想不如嘗試做個主板的BIOS燒寫器如何?其實BIOS燒寫器就只是一個簡單的PC下載BIN或HEX程序到FLASH上的東西而已。如果這個東西能做出來,倒不如再加上一個128*64的LCD上去(之前剛能弄的他顯示漢字),再加個鍵盤(早就會了,掃描程序是抄回來的:),做個類似PDA的東西,有時間顯示(當(dāng)時剛弄通了1302),有中文顯示,還要有中文閱讀器的(因為那位朋友做過的,我不會,當(dāng)然就想做出來啦)。于是就這樣,心中就有了一大堆的想法了,慢慢就把這個模型拼了出來:要有一個單片機,一片F(xiàn)LASH,一片RAM,一個串口,LCD,鍵盤,還有時鐘芯片,就這么多??!

(呵呵,說著好象有點象丁丁在賣的實驗板了:)

不過很可惜,到現(xiàn)在我還是沒有把這個東西完全做出來(倒是給老丁先下了手:),只自己做了塊有FLASH,RAM,串口的板子,也就是先完成了燒寫B(tài)IOS的部分了,而且這個東西還是很后期才做出來的,為什么?因為當(dāng)時有更重要的事情吸引了我。。。

第六章 升級

當(dāng)時在論壇上,網(wǎng)上看到有人做USB接口的,覺得很牛啊,于是自己也想做,但一直就是沒資料,也不知道如何學(xué)。這時候好象又回到了當(dāng)初認識單片機的時候,好象一切都很新鮮,全部都不懂一樣。感到無從下手。2003年一月,是我大學(xué)4年級第一學(xué)期末,我們開始要畢業(yè)設(shè)計選題了,當(dāng)時有兩個最難的題目USB接口設(shè)計藍牙協(xié)議通信(我的是普通學(xué)校,這樣的題目已經(jīng)是最難的了,嗚。。)我選了USB題目(順便提一下,鄰班的那家伙,就是我現(xiàn)在的室友,選了藍牙的)。其實我選USB的時候?qū)SB還是完全沒有了解的,有時候想當(dāng)時真的是勇字當(dāng)胸了,因為做不出來很可能畢業(yè)不了的。但有時候一些技術(shù)的研究當(dāng)成為了壓力和任務(wù)的時候,進步反而快。

于是,我的USB就是這樣起步的了。。。

有了任務(wù)在身,就不象以前那么地邊玩邊實驗了,我放下了很多打算,開始專心研究起USB來,說是專心,但什么底子都沒有。做個P呢!

開始是上驅(qū)動開發(fā)網(wǎng)的USB專欄的,但一看就傻了眼,哪里除了牛B的蝦,就是菜鳥一群,帖子要么看不懂,看懂的都對我沒有幫助。不過上那里我也獲得了信息,就是用D12做USB比較普遍,于是設(shè)計就定位在D12了。正好這個時候周立功哪里出了本USB D12編程的書,雖然我對周X沒有什么好感,但無論那本書是不是真正是他公司出的,在當(dāng)時的環(huán)境下,這本書對于我是有著劃時代的意義的(夸張了),當(dāng)時是馬上到廣州買的,要價35元,還是爛紙油印版,不過學(xué)懂了就不說虧了;再要一片D12,20元;之后再買本USB協(xié)議的書,再從網(wǎng)上下了USB的相關(guān)東西,好了,就這么多,2本書,一個芯片,放下我的實驗和一點點的激情和幻想,靜下心來,我開始了閉門造車。那時候是2003年的農(nóng)歷新年啊,我的快樂的新年,基本就在閉門中度過,幸好還有拜年,討了點紅包,不然真的窮死了。

說起這個USB,他的確和我之前做的小實驗有天淵之別,之前做的東西只是了解一下原理,動一動腦然后就可以寫程序了,但這個是涉及協(xié)議,當(dāng)時我還是第一次接觸協(xié)議類的東西,沒有什么動腦的空間了,只能老實地看,學(xué)。

記得魯迅在寫文章救國家之前呆在屋子里抄了一年的碑文,那一年的工夫練就了魯迅的堅韌。之前經(jīng)常焊萬能板飛線的實驗板,做多了,除了做出點板子來玩,還讓我學(xué)會了堅韌和耐性(不知道多少人試過焊復(fù)雜線路的萬能板?別以為簡單,很煩的呢,要很有耐性,萬一錯一跟線,修改是比較痛苦的)有了這么一點耐性一個月的閉關(guān)練功,某天我突然領(lǐng)悟,(只見關(guān)內(nèi)石門頓開,一人影身披彩云,飛星天外,此刻山搖地動——白菜出山啦~~·· #%#—%—) 臺下眾大蝦:-_-#!..

當(dāng)時是看懂了,其實是開始看懂了而已,明白到D12每個寄存器的意義,USB那些反反復(fù)復(fù)的數(shù)據(jù)交換的一點意義,說實在的,板子沒做,程序沒開始寫,我只是放下所有東西看了一個月的書。。。呵呵

臺下眾大蝦: -_-####!!!!.....

離開2003寒假結(jié)束還有一個星期,我盡情地玩去了~~

于是是開學(xué),找指導(dǎo)老師談畢業(yè)設(shè)計等等,我的指導(dǎo)老師是個博士豬,為什么叫博士豬?

因為他有博士的證書和頭腦,但象豬般懶惰,所以叫博士豬,聽說他很懶,講完課了,就玩去了,不過這家伙講課技術(shù)不簡單,為什么?因為他講的東西不簡單,但我們聽起來簡單——牛也?。∫韵潞喎Q他博豬,博豬很有錢,因為偶然不偷懶的時候就出去接點活干干,一般一兩個星期就干完,然后就拿個幾萬到幾十萬,之后又開始豬的生活,到快沒錢的時候,又會去干活。跟博豬的畢業(yè)設(shè)計不錯,因為他不懂USB,于是就沒有什么要求,我想怎么發(fā)揮就怎么發(fā)揮。博豬對通信和DSP的算法等東西非常牛牛牛?。?!讓我感到什么是天外有天,豬外有豬!不過我最后也沒有走通信的路。

博豬的牛沒有帶給我什么,只是送我4片D12,然后說,拿去做吧。我暗喜,4片啊,發(fā)達了:)

有兩片我做感光板子把他們焊成雙列直插,一片現(xiàn)在焊到老丁的板子上,自己還留了2片。于是當(dāng)然就是做板調(diào)試啦,搞USB弄了不少時間呢。

當(dāng)時其實想花錢買周立功的USB板子的,不過要價450大元,廣東話說:好過去搶!于是沒買,但到廣州的時候死死地盯著柜臺的哪個450元看了半小時,2個LED,2個鍵,D12喚醒用了片74XX,D12是總線方式連接。。于是我就做了塊類似的板子出來了,而且還多了個串口,比周立功的450元強?。〔贿^做的時候不小心把串口的收發(fā)腳調(diào)亂了。。(主要是選封裝的時候搞錯了,PROTEL不過關(guān)啊,后來苦練了)總的來說板子比較難看。

之后就是寫程序。不過程序還沒怎么寫,之前投簡歷的公司要求我過去實習(xí)一個月了,于是那些早上12點起來,晚上2點睡覺的生活沒有了。我得去上班了。上班實習(xí),其實就是沒事情干,當(dāng)時有個工程師跳走,留下一個USB接口的項目沒人做也,于是我又勇字掛胸前,

對主管說:我來做¥……¥#……—%主管瞪起金魚眼看我,好象說:你小子?。?!。。。

我不做,也沒人手做,我不做,我又沒事情做,所以,USB我做。

那個USB可不是D12,他是三菱的16位單片機自帶的USB接口(我討厭三菱,各位要多抵制日貨),困難比較大,幸好他有所有的DEMO程序,呵呵,有程序在手,簡單啦:)那次是我第一次接觸51以外的單片機,而且還是16位的,算是升級了。而且那個項目是跑UCOSII的,當(dāng)時還沒有2.51出來,那些工程師手拿的是橙黃色的那本UCOS書,好象是2.01版本左右吧,不記得了??傊揖晚槺氵B帶UCOS也學(xué)了。

實習(xí)時間一個月,我收獲不少:1。為他們的項目寫了一個VC界面,用來做USB的上位機通信,2。修改了三菱的單片機DEMO程序(C的)讓他能基本運行來收發(fā)數(shù)據(jù),3。修正了三菱USB技術(shù)手冊上的一個重大錯誤(那次后我知道日本芯片的DATASHEET經(jīng)常出問題的,好象有意坑我們中國人)4。讓我知道這個世界上有UCOS這樣?xùn)|西,正打算買書回來看5。勞累過度,住了一天醫(yī)院。

走的時候主管說我行:)不過我走后,做的東西就沒有用了,他們中沒有人會VC,我寫的東西是白寫,后來哪個項目泡了,單片機部分的程序也就沒了。再后來,我的電腦出問題了,我不小心把自己硬盤干掉了,第一份工作的成果完全沒有了。一點底子都沒有留。連帶一些重要的資料也沒有了,應(yīng)該有幾位老哥知道我這件事情的吧。還好,畢業(yè)設(shè)計我刻了光盤,不然。。。這次意外說明一個問題,我并不是別人想象中那么幸運的。

由于電腦的問題,拖了我好幾個星期,幸好堅持之前下班的時候晚上一定要動動腦做點東西,不然真的趕死!最后USB畢業(yè)設(shè)計還是馬馬乎乎干完了(主要是PC端的程序是拿非利譜網(wǎng)上的,和我的51+USB配合起來不是很好,這個問題我還得有時間再解決,然后把整個系統(tǒng)完善一下)

在這里有個小插曲的:

在我下載了非利譜的USB資料后,看了一兩天的哪個上位機VC程序,看懂了點,于是決定動手改改,發(fā)現(xiàn)改動起來其實很簡單。于是沉迷了幾天去研究和看懂那個程序。在畢業(yè)答辯的前一天,我突然想改進我的USB畢業(yè)設(shè)計,就是在下位機的板子上添一塊128*64的LCD(我以前一直用來玩的那塊),然后上位機的VC程序構(gòu)造一個字符輸入欄,在PC上輸入漢字,然后在PC上轉(zhuǎn)換出他的點陣(16*16的)再發(fā)到我的USB板子上,并在LCD上顯示出哪個漢字來。但離開畢業(yè)答辯還只有一天,我當(dāng)晚就挑燈夜戰(zhàn)。先用跨線的方式把板子上51的多余腳引出來,接到LCD上(其實剛好夠,呵呵)這樣不用總線方式來驅(qū)動LCD,確保我即使到最后調(diào)試失敗了,也不會影響我原先的USB部分(我還得畢業(yè),輸不起?。。┖负秒娐妨?,就要改動VC部分,因為PC負責(zé)把輸入的漢字轉(zhuǎn)換內(nèi)碼,然后在一個點陣文件中提取點陣(點陣文件是16*16的,可以用網(wǎng)上的很多點陣提取軟件生成),所以涉及到文件的讀寫, 當(dāng)時是用API來讀寫文件的:)提取點陣了,就要通過USB傳到板子上,再通過單片機在LCD上重顯。時間只有一天,我是不停的想不停的寫了,當(dāng)時我的VC還是不怎么樣的,所以用了不少時間。最大問題是我沒有仿真器??!還是用燒片子,插片子的方法調(diào)啊。我記得一直寫到第二天早上6點的時候,成功把‘啊’’’’字傳過去了:),之后當(dāng)然要繼續(xù)改寫51的程序,讓他能達到換行的效果等東西啦,于是繼續(xù)寫啊寫啊。。

然后不幸降臨:(。。。

當(dāng)我再插上51的時候,然后插上USB接口(我用USB供電的),USB枚舉成功,但LCD沒有顯示了(我在枚舉成功后LCD會顯示歡迎字段的,這時候真的麻煩了,因為很可能LCD壞了:(我馬上拔掉LCD,插到我其他的板子上試,發(fā)現(xiàn)真的不顯示了,天啊,倒霉的很啊~~我不段調(diào)負壓電阻,發(fā)現(xiàn)LCD一點反映都沒有,5555。于是省下不用試了,可以睡大覺了。

于是我人生中的第一個通宵編程以無奈告終。畢業(yè)設(shè)計當(dāng)然是拿了個優(yōu)啦,不過沒有機會在博豬前展示我的USB傳漢字功能了!!

這次又說明了,我有時候真的很倒霉的。

不過,有失必有得,我一直認為是LCD負壓芯片燒掉了,所以希望找一塊代換,但他是MAX的,比較難買到,我根據(jù)網(wǎng)友的指示去MAXIM哪里申請,于是我學(xué)會了申請免費東東:)后來證實我的想法沒錯,把負壓芯片換上后,LCD就能用了:)

我覺得我弄的兩個USB——實習(xí)公司的和畢業(yè)設(shè)計的,都是自己爭取回來的,想想當(dāng)初如果我不夠勇氣,不敢接公司的USB項目,怕畢業(yè)不了而不敢選USB題目的話,恐怕現(xiàn)在還對USB一竅不通,有時候,在工作中,生活中,我們應(yīng)該付出一點勇氣來,勇敢地接受挑戰(zhàn)。特別在工作中,你要有勇氣承擔(dān)任務(wù)和責(zé)任,才能被高層相識。所以我覺得,煉蝦米的第三要素:勇氣??!

畢業(yè)答辯后有一個月才能拿到畢業(yè)證書的,我沒浪費這個空閑,繼續(xù)進修我的技術(shù),當(dāng)初發(fā)現(xiàn)51+D12傳輸速度實在是慢的很,于是又從論壇上得到信息,改用AVR單片機來做!!于是我就買了AT90S8515回來,當(dāng)時買的真是牛貴!要我35元,唉,沒辦法。買了后發(fā)現(xiàn)燒寫器不支持啊,于是把以前的哪個TOP151(呵呵,120元而已)以60元賣掉,換個TOP852:)

當(dāng)然又得花錢啦,幸好家里人支持我開發(fā),給了不少資金上的輔助。

搞AVR一切又要從頭開始了,當(dāng)然,因為之前有了51的底子,學(xué)起來很快,基本一個星期就算弄懂了,然后又用2個星期的時間把之前用51做的東西全部搬到8515上并做了條下載線來玩。其實在弄AVR的時候,把程序搬到我的128*64LCD上出現(xiàn)花屏問題的,這個問題弄了很久,最后發(fā)現(xiàn)AVR控制我哪個LCD不能用標(biāo)準(zhǔn)的時序的,標(biāo)準(zhǔn)時序51可以驅(qū)動,但AVR就不可以。

畢業(yè)前最后這個月其實我并沒做到什么東西,因為這個月我真的都拿來玩了,玩了。。于是我從小學(xué)到大學(xué)的學(xué)生時代,結(jié)束了....

第七章 回首

我的高中老師當(dāng)年為了要我們努力應(yīng)付高考,這樣說過:你們應(yīng)該在高中這段時間好好努力,當(dāng)你們升上大學(xué)的時候就會覺得很幸福的了,因為比現(xiàn)在高中自由的多知道嗎?所以想以后過快樂的大學(xué)生活,就應(yīng)該現(xiàn)在好好努力上進,再拼搏多一些時間,你們就可以上大學(xué)了,自由了??!

于是一片期待中,我就上了大學(xué),發(fā)現(xiàn)高中老師在騙人啊,大學(xué)原來還要努力復(fù)習(xí),考試,不然重修要給錢的,很慘!??!但是我的初期的大學(xué)生活還是用來玩,一旦到了快考試的前2個月,我就拼啊,復(fù)習(xí)啊,然后,嘿嘿,拿60分到70分,穩(wěn)守重修陣線也!!考完試啦,當(dāng)然又是玩玩玩,然后開學(xué)了,還是玩玩玩!

快到考試了 ??拼拼拼!!。。。

看到這里,各位還在讀大學(xué)的兄弟姐妹們是否覺得這樣的生活似曾相識??如果你們有同感的話,請你們馬上結(jié)束這樣的生活吧,不然,到你們在離開大學(xué)回首當(dāng)年的時候,恐怕會追悔莫及,無比痛心!

生命每天都在消逝,時間從不等人,大學(xué)4年間,你們都有好好地享受了嗎?我覺得,大多數(shù)人都是認為大學(xué)生活是幸福的,愉快的。因為我們在那個時間曾經(jīng)享受過年輕的快樂,毫無驅(qū)束,不用承擔(dān)任何社會責(zé)任,不用面對社會的壓力,不用為生活而煩惱。說到這里,大家是否都有那么一點余味還在腦海中游蕩,感覺到一股難得的輕松的快感?

不妨回想一下當(dāng)新生入學(xué)軍訓(xùn),剛剛認識新朋友的時候,當(dāng)學(xué)校舉辦交誼舞會,電子系的學(xué)生鼓氣了生平第一次的勇氣,走過對面外語系邀請MM跳舞的時候,當(dāng)你偶然得知學(xué)校舉辦文藝晚會,立刻放下手上的作業(yè),直奔到會堂的時候,當(dāng)你發(fā)現(xiàn)哪個文藝晚會原來很納悶,于是決定中途和朋友們溜到外面夜宵的時候,當(dāng)你發(fā)現(xiàn)明天早上原來沒有課,正欣喜若狂,在晚上1點鐘和室友打CS和星際的時候,當(dāng)學(xué)校舉辦校運會,放假3天,你正考慮如何去瘋狂地度過這從天而降的‘橫財’’’’假期的時候,當(dāng)你覺得別人在運動會上無比的牛B吸引了對面的女生而感到向往,決定明天開始放學(xué)就到后山操場鍛煉準(zhǔn)備下一年的比賽的時候,當(dāng)你在空閑中陪MM打籃球的時候,甚至當(dāng)某天下午沒有課,決定一覺睡到夜宵的時候,朋友們,是否覺得那種生活無比地幸福,并且很想過一次呢?

但事實上你真的想再這樣過一次嗎??

我曾經(jīng)在某個VC論壇上看到一個朋友發(fā)了個帖子:如果讓你再讀一次大學(xué),你會做什么?

回貼是:

我會大學(xué)一年級就開始學(xué)C和C++,二年級就學(xué)好VC,然后再學(xué)JAVA。。。。

我會不再打游戲機,專心學(xué)習(xí)。。。。

我要先過英語4級,再過6級,然后計算機1,2,3級,再考高級程序員。。

我會在VC上下大工夫,并在大學(xué)期間成為學(xué)校最牛的程序高手。。。

我會努力學(xué)習(xí),然后考研究生。。。

我將不再浪費時間,我要活出我的精彩。。。。

看到嗎?沒有一個提到上面那種悠閑生活,為什么?那么你不妨自己去想想,當(dāng)真的給你回到幾年前的大學(xué),你會如何?我想,你會第一時間把電腦的游戲刪除掉,拿起書本好好學(xué)習(xí),是嗎?

如果是這樣,那就證明一樣?xùn)|西:你認為你浪費了大學(xué)的4年了。

其實,這也許和人的某種心態(tài)有關(guān),就是無論你過的如何,心里總有一種懷念當(dāng)年的感 覺,認為你之前過的還是有點遺憾。所以,在走出大學(xué)門口的那瞬間,我們都曾經(jīng)有過這樣那樣的不舍。

我以前對一個朋友說過一句話:無論你是活的精彩還是無奈,對于一個平凡人在說,人生總有遺憾,好象一個好玩樂的大學(xué)生沒有好好珍惜他的學(xué)業(yè),到后來一事無成的時候,他會說后悔。如果他在大學(xué)年間比較努力地完成學(xué)業(yè),而且也有痛快過一番,那么他后來可能為自己的一份平凡的工作而感到難奈。但如果他非常努力地學(xué)習(xí),最后考取了研究生并繼續(xù)努力成為一個牛人,他也許會為他當(dāng)年的低頭發(fā)奮而忘記周圍的風(fēng)光而遺憾,更無奈地,當(dāng)他看到那些年輕的紅男綠女在身邊嬉笑打罵的時候,他只能為自己走幾步樓梯也喘氣而發(fā)出力不從心的一聲嘆息。

人生總有遺憾,然而我們不能因為必然會出現(xiàn)的無奈而感到嘆息,幸福的路,其實就是一條最少遺憾發(fā)生的路,當(dāng)我們挑選出遺憾最少的路的時候,正代表我們已經(jīng)挑選出能夠得到最多幸福的一種生活??!

現(xiàn)在回頭看來,我的確是浪費了大學(xué)的4年了,我是1999年入學(xué)的,但我本來就應(yīng)該走的路,在2002年10月才開始跨出第一步,我真的浪費了很多很多啊。而唯一的幸運是,我在大學(xué)一年級就開始學(xué)習(xí)C語言。以使我后來的路走的不算太艱苦。


關(guān)鍵詞: 單片

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉