和初學(xué)者說說我學(xué)單片機(jī)的經(jīng)過(ZT)
中專畢業(yè)后在家鄉(xiāng)任教.但對電子的愛好還是那么瘋狂,于是一邊教書,一邊繼續(xù)我的電子方面的學(xué)習(xí).偶爾一次在學(xué)習(xí)機(jī)上看到了一個編程語言:G-Basic,馬上就迷上了.于是不分日夜的啃Basic.可惜那時候我的工資是265 RMB,根本沒有錢來買電腦于是用學(xué)習(xí)機(jī)編Basic學(xué)了1年.1999年公務(wù)員加了點(diǎn)工資,工資漲到了430 RMB,終于積了一點(diǎn)錢,于是在1999年冬花了1xxxRMB在舊貨市場買了一部486 DX2(66MHZ),那是一個高興啊.于是學(xué)點(diǎn)Quick Baci,Foxpro,然后學(xué)Borland C++5.0,再后來就學(xué)Visual C++6.0.
真正對單片機(jī)有感性認(rèn)識,是在2002年冬.我有一個朋友在東莞一家公司做電子工程師,他知道我是學(xué)編程的,剛好他公司需要一個單片機(jī)編程的,就打電話問我.我此時不知道單片機(jī)為何物,自然沒有下文,但他告訴我,月薪有2800RMB,這句話讓我真正認(rèn)識到了單片機(jī)(^_^)
接下來就是上網(wǎng),搜索"單片機(jī)",搜索到的第一個地址就是這里.然后下了一些資料.我現(xiàn)在還記得我下了"陳明計"的一個OS(當(dāng)然那時是胡亂下的),還下了一個2K 的Keil C,買了一本<<基于C語言的mcs-51單片機(jī)程序設(shè)計>>和<<數(shù)字電路>>,狂K了三個月,然后就跑出來了.
說真的,我學(xué)單片機(jī),要感謝Keil C.因為如果不是他提供給我2K限制版,我就不會一直去專注搞匯編.那時候?qū)懙某绦螂m然很小(我們那個城市非常落后,我想買片子,都買不到,學(xué)習(xí)板就更別說了,一句話,就是看書而已,說上說什么我就跟著做什么--瞎蒙).后來實(shí)在討厭了2K的限制,于是就仔細(xì)分析了Keil C生成的代碼,一行一行,終于發(fā)現(xiàn)了ASM對應(yīng)的機(jī)器代碼和編碼規(guī)律,于是就寫了一個<>,直接對ASM匯編成hex或者bin.雖然從來沒有燒錄過軟件,但我的編譯程序生成的代碼被仿真軟件調(diào)入,匯編代碼基本一致,也是很有成就感的.再后來,就仿照Keil C,加入了
模擬調(diào)試的代碼,正是寫這些代碼的過程,讓我明白了51的內(nèi)部都大概多了些什么.使我對51單片機(jī)理解得比較深了.本來是想做C編譯的,后來一直沒有時間,加上后來找到了D版的Keil C,這個計劃就不了了之了(^_^).現(xiàn)在想起來那段日子確實(shí)過得很苦,沒有人教,學(xué)得非常辛苦.我還記得有一次,一連幾天都弄不明白一個設(shè)備的地址為什么是0xfffe,想得頭都痛了,后來不知道怎么搞的,突然就明白了,這種快感...嘿嘿,原諒我說快感兩個字.
在后來,在廣州找了一家開發(fā)公司做了,這是我第一次看到單片機(jī).第一個項目很簡單,用2051完成了.可惜的是,我一直都沒有聽說過2051,因為書上都寫的是89C51之類的,所以第一個電路也是用89C51做的,多了n個IO啊,老板也不懂,但他知道多那么多IO不好,于是項目老不做板.直到有一天,有人拿著2051做的板子,我和老板才知道,這51原來還有20個腳的啊.這個丑,讓老板知道我的簡歷是吹牛的了(偶在簡歷中寫了偶有n年經(jīng)驗,哈哈).
再接著,跳啊,跳啊,不過一直沒有停下學(xué)習(xí)的腳步.雖然到現(xiàn)在還是小蝦一個,不過經(jīng)過這兩年,我想,對單片機(jī)的運(yùn)用,應(yīng)該是問題不大,但還有很多需要學(xué)習(xí)的東西.我想,一個人只要肯學(xué)習(xí),那么不管他怎么笨,都應(yīng)該鼓勵他.我就是笨鳥,雖然沒有先飛,但希望和各位DX一起飛翔在單片機(jī)的天空.
我學(xué)單片機(jī)最深的感受是:單片機(jī)難不難,不難,難在入門.單片機(jī)簡單嗎,也不簡單,要精通運(yùn)用也很難.不過總的來說,有電子基礎(chǔ),加點(diǎn)軟件基礎(chǔ),學(xué)單片機(jī)就不是很難了.