|
講述老百姓自己的故事 今天跟大家講述一下我是如何學(xué)習(xí)單片機(jī)技術(shù)的,以及對(duì)于初學(xué)者應(yīng)該怎樣學(xué)習(xí),談?wù)勛约旱目捶ǎ?br/> 我是電子系的03屆學(xué)生,當(dāng)時(shí)進(jìn)入我們創(chuàng)新院的時(shí)候,也是什么都不懂,但是看到有的學(xué)長(zhǎng)在用單片機(jī)做實(shí)驗(yàn),比如數(shù)字鐘、智能車、LED顯示屏等等,覺(jué)得這個(gè)東西很神奇,愛(ài)好這個(gè)嘛,所以就問(wèn),這個(gè)東西怎么學(xué),需要那些基礎(chǔ)知識(shí)。學(xué)長(zhǎng)有好心的就告訴我,到圖書(shū)館借書(shū),看看,如果一點(diǎn)都不懂的話,給你講也不明白。大一的第一個(gè)寒假,我記得當(dāng)時(shí)回家,帶了3本書(shū),2本英語(yǔ),一本單片機(jī),結(jié)果看了一個(gè)假期,還是迷迷糊糊。 大一下學(xué)期,開(kāi)始學(xué)習(xí)C語(yǔ)言,由于這門課結(jié)課早,大概五一的時(shí)候就結(jié)束了,當(dāng)時(shí)就愛(ài)上編程了,到網(wǎng)上開(kāi)始找資料,編寫(xiě)C程序,調(diào)試。但是還不知道單片機(jī)怎樣學(xué),既然感興趣就總要?jiǎng)邮值模瑔?wèn)學(xué)長(zhǎng)這個(gè)東西怎么動(dòng)手開(kāi)始學(xué),他們說(shuō)要編程器什么之類的(當(dāng)時(shí)S系列單片機(jī)剛剛出來(lái))我大概在04年6月的時(shí)候,從“偉納”電子上購(gòu)買了一個(gè)編程器,挺好用的,現(xiàn)在偶爾用C51的話,還用它燒寫(xiě)程序,當(dāng)時(shí)畫(huà)了135元,也是第一次網(wǎng)購(gòu)。回來(lái)之后就開(kāi)始制作電路板,編程。到期末的時(shí)候也沒(méi)有什么大的進(jìn)展,也就是編編流水燈之類的。真正有進(jìn)展的時(shí)候,是大一的暑假,一個(gè)假期就在創(chuàng)新院度過(guò)了,只回家待了7天。通過(guò)這一個(gè)假期,把單片機(jī)內(nèi)部資源,常用的外設(shè)弄得差不多了,做了一個(gè)數(shù)字鐘,有案件可以調(diào)試。從大二開(kāi)始,就一發(fā)不可收拾,有時(shí)候逃課也要來(lái)編程,9月份的時(shí)候,參加立項(xiàng),更加鍛煉了單片機(jī)的設(shè)計(jì)和電路的設(shè)計(jì)能力。05年的4月份,幫著2個(gè)大四的學(xué)長(zhǎng)做畢業(yè)設(shè)計(jì),其實(shí)軟件硬件都是我一個(gè)人做的,是一個(gè)“魚(yú)缸的溫度控制系統(tǒng)”那兩個(gè)學(xué)長(zhǎng)去了華為,但是不懂硬件,一個(gè)去的是銷售,一個(gè)是市場(chǎng)。所以就是我?guī)椭龅娜浚?dāng)時(shí)采用的是DS1302、DS18B20和LCD1602液晶,還有3路繼電器,控制加熱和喂食等等。到4月底的時(shí)候參加校內(nèi)的電子設(shè)計(jì)比賽,參賽的題目是:基于Ds1307的多功能時(shí)鐘系統(tǒng),含DS1307、DS18B20、LCD1602,獲得了一等獎(jiǎng)。這個(gè)后來(lái)被我整理出來(lái)發(fā)到電子制作了,好像是去年10月份發(fā)表的。 5月份參加學(xué)校組織的電子設(shè)計(jì)比賽,題目是波形存儲(chǔ)與回放系統(tǒng),用的時(shí)max197 AD采集、hd7279鍵盤控制、LCD1602液晶顯示、max525DA還原信號(hào)、AD637峰值有效值轉(zhuǎn)換模塊等等,系統(tǒng)實(shí)現(xiàn)采集外部信號(hào)并存儲(chǔ),外部可以通過(guò)按鍵調(diào)出存儲(chǔ)的波形數(shù)據(jù),包括頻率、幅度,并可以通過(guò)DA還原,這個(gè)也獲得了校一等獎(jiǎng)。 在以后就是9月份的全國(guó)電子設(shè)計(jì)大賽了,同樣的選題還是信號(hào)之類的,第一題:正弦信號(hào)發(fā)生器。 采用的也是51單片機(jī),用了2片,一個(gè)的功能不夠用了,采用AD9851DDS信號(hào)源,最高輸出10M信號(hào),并實(shí)現(xiàn)了題名要求的調(diào)頻、調(diào)幅等發(fā)揮要求,只是在最后的信號(hào)輸出負(fù)載的地方?jīng)]有達(dá)到指標(biāo),最終獲得了國(guó)家二等獎(jiǎng),有點(diǎn)遺憾,但是我們?nèi)齻(gè)參賽的隊(duì)員都是03屆的,當(dāng)時(shí)剛剛上到大三,能拿到這樣的成績(jī)也算不錯(cuò)了,現(xiàn)在我們3個(gè)人,2個(gè)都保送了研究生,另外一個(gè)保送本校,他給拒絕了,自己考外校了,但是考的有點(diǎn)不理想,分?jǐn)?shù)有點(diǎn)低,分?jǐn)?shù)線還沒(méi)有出來(lái),只能住他好運(yùn)了,我相信,只要能進(jìn)復(fù)試,就沒(méi)有問(wèn)題的! 以上就是我自己學(xué)習(xí)單片機(jī)的一個(gè)過(guò)程,以及在學(xué)習(xí)的過(guò)程中做過(guò)的一些實(shí)際的比賽和項(xiàng)目之類的。其間也接觸過(guò)其他種類的單片機(jī),但是還是習(xí)慣于用51系列的,呵呵,有點(diǎn)戀舊吧,但是也打算換avr的了,性價(jià)比比較好,msp430系列的也不錯(cuò),但是都是貼片封裝的,開(kāi)發(fā)起來(lái)有點(diǎn)不方便。適合做工業(yè)級(jí)產(chǎn)品。 下面簡(jiǎn)單的說(shuō)一下,初學(xué)者如何學(xué)習(xí)單片機(jī)技術(shù),從我自身的角度來(lái)講,我覺(jué)得學(xué)習(xí)單片機(jī)的最好的辦法就是實(shí)踐,至于說(shuō)基礎(chǔ),比如模擬電路和數(shù)字電路當(dāng)然懂得越多越好,如果不是很懂得話,也沒(méi)有關(guān)系,可以慢慢補(bǔ)充,其實(shí)單片機(jī)不外乎硬件和軟件,硬件上呢,了解了最小系統(tǒng)之后就可以設(shè)計(jì)了,時(shí)鐘電路、復(fù)位電路、電源等等就可以了。都有典型的電路,不用費(fèi)時(shí)間,至于軟件呢,現(xiàn)在網(wǎng)上也有,比較流行的都是keil,開(kāi)發(fā)方便,我也寫(xiě)了一篇keil的入門教程,比較詳細(xì)了。
接下來(lái)的話,就是編程,說(shuō)一下編程的學(xué)習(xí)過(guò)程,一個(gè)最好的辦法就是模仿,你先找到一個(gè)別人的現(xiàn)成的程序,能夠編譯生成代碼,下載進(jìn)去,看到現(xiàn)象,之后在自己寫(xiě),如果有錯(cuò)誤,對(duì)照正確的,比較一下,成功了之后,再往下學(xué)習(xí)。 最煩的就是一種人,把別人的程序拿過(guò)來(lái),直接編譯,下載了之后,以為自己就會(huì)了,但是要讓自己動(dòng)手寫(xiě)的時(shí)候,又寫(xiě)不出來(lái)了,哪怕是抄寫(xiě),也要熟悉一下的。這是一個(gè)必須的過(guò)程,最后需要達(dá)到一個(gè)什么程度呢,那就是單片機(jī)最基本的定時(shí)器、中斷、I/O口可以直接拿過(guò)來(lái)就寫(xiě),不需要再翻書(shū)或者找別人的代碼了。 至于編程語(yǔ)言,我還是建議C語(yǔ)言,怎么說(shuō)呢,開(kāi)發(fā)方便吧,有的人說(shuō)匯編的直接易于理解,但是你要是寫(xiě)100行的匯編可以,1000行以上呢? 做一個(gè)乘除法,匯編就不行了,C語(yǔ)言通用,移植方便,你學(xué)匯編,51單片機(jī)一套,avr單片機(jī)又是一套,msp430還不一樣,但是C語(yǔ)言都是一樣的,算法拿過(guò)來(lái)就可以了,改一下I/O口就可以用了,開(kāi)發(fā)方便。 最后,給大家算一下,現(xiàn)在學(xué)習(xí)單片機(jī)的成本,以前我學(xué)習(xí)的時(shí)候,需要購(gòu)買編程器等等,現(xiàn)在不用了。入門來(lái)講,51單片機(jī)最好了,資料多,通用,簡(jiǎn)單。市場(chǎng)上現(xiàn)在比較好的有S系列的,C51系列的,STC系列的,當(dāng)然了還有各個(gè)公司的增強(qiáng)型的。從學(xué)習(xí)的角度講,推S系列和STC系列,可以ISP下載,我現(xiàn)在用的STC系列,最小開(kāi)發(fā)系統(tǒng): 單片機(jī)一個(gè) 6元 Max232一個(gè) 3元 串口線一根 5元(可以自制,就是3根線) 阻容元件 2元 晶振 1元 發(fā)光二極管 1元 萬(wàn)能板 2元 加起來(lái)一共20元,當(dāng)然了這些只是最基本的,如果自己開(kāi)發(fā)的話,還需要有電烙鐵、電源、焊錫等等。其他的資源,比如數(shù)碼管、蜂鳴器、液晶等等可以慢慢在擴(kuò)充,軟件呢,就更方便了,keil可以直接在網(wǎng)上下載,我的網(wǎng)站就有,下載軟件,網(wǎng)上也有。 總之,現(xiàn)在資源已經(jīng)很豐富了,學(xué)習(xí)單片機(jī)已經(jīng)不是什么難事了,只要用心學(xué),我相信一個(gè)月的時(shí)間應(yīng)該可以差不多的了。
交流地址:http://bbs.21ic.com/forum.php?mo ... st%3D1%26digest%3D1 |
|