講述老百姓自己的故事
今天跟大家講述一下我是如何學(xué)習(xí)單片機(jī)技術(shù)的,以及對(duì)于初學(xué)者應(yīng)該怎樣學(xué)習(xí),談?wù)勛约旱目捶?
我是電子系的03屆學(xué)生,當(dāng)時(shí)進(jìn)入我們創(chuàng)新院的時(shí)候,也是什么都不懂,但是看到有的學(xué)長(zhǎng)在用單片機(jī)做實(shí)驗(yàn),比如數(shù)字鐘、智能車、LED顯示屏等等,覺得這個(gè)東西很神奇,愛好這個(gè)嘛,所以就問,這個(gè)東西怎么學(xué),需要那些基礎(chǔ)知識(shí).學(xué)長(zhǎng)有好心的就告訴我,到圖書館借書,看看,如果一點(diǎn)都不懂的話,給你講也不明白.大一的第一個(gè)寒假,我記得當(dāng)時(shí)回家,帶了3本書,2本英語,一本單片機(jī),結(jié)果看了一個(gè)假期,還是迷迷糊糊.
大一下學(xué)期,開始學(xué)習(xí)C語言,由于這門課結(jié)課早,大概五一的時(shí)候就結(jié)束了,當(dāng)時(shí)就愛上編程了,到網(wǎng)上開始找資料,編寫C程序,調(diào)試.但是還不知道單片機(jī)怎樣學(xué),既然感興趣就總要?jiǎng)邮值?問學(xué)長(zhǎng)這個(gè)東西怎么動(dòng)手開始學(xué),他們說要編程器什么之類的(當(dāng)時(shí)S系列單片機(jī)剛剛出來)我大概在04年6月的時(shí)候,從“偉納”電子上購(gòu)買了一個(gè)編程器,挺好用的,現(xiàn)在偶爾用C51的話,還用它燒寫程序,當(dāng)時(shí)花了135元,也是第一次網(wǎng)購(gòu).回來之后就開始制作電路板,編程.到期末的時(shí)候也沒有什么大的進(jìn)展,也就是編編流水燈之類的.真正有進(jìn)展的時(shí)候,是大一的暑假,一個(gè)假期就在創(chuàng)新院度過了,只回家待了7天.通過這一個(gè)假期,把單片機(jī)內(nèi)部資源,常用的外設(shè)弄得差不多了,做了一個(gè)數(shù)字鐘,有按鍵可以調(diào)試.從大二開始,就一發(fā)不可收拾,有時(shí)候逃課也要來編程,9月份的時(shí)候,參加立項(xiàng),更加鍛煉了單片機(jī)的設(shè)計(jì)和電路的設(shè)計(jì)能力.05年的4月份,幫著2個(gè)大四的學(xué)長(zhǎng)做畢業(yè)設(shè)計(jì),其實(shí)軟件硬件都是我一個(gè)人做的,是一個(gè)“魚缸的溫度控制系統(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è)后來被我整理出來發(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ǔ),外部可以通過按鍵調(diào)出存儲(chǔ)的波形數(shù)據(jù),包括頻率、幅度,并可以通過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ù)線還沒有出來,只能住他好運(yùn)了,我相信,只要能進(jìn)復(fù)試,就沒有問題的!
以上就是我自己學(xué)習(xí)單片機(jī)的一個(gè)過程,以及在學(xué)習(xí)的過程中做過的一些實(shí)際的比賽和項(xiàng)目之類的.其間也接觸過其他種類的單片機(jī),但是還是習(xí)慣于用51系列的,呵呵,有點(diǎn)戀舊吧,但是也打算換avr的了,性價(jià)比比較好,msp430系列的也不錯(cuò),但是都是貼片封裝的,開發(fā)起來有點(diǎn)不方便.適合做工業(yè)級(jí)產(chǎn)品.
下面簡(jiǎn)單的說一下,初學(xué)者如何學(xué)習(xí)單片機(jī)技術(shù),從我自身的角度來講,我覺得學(xué)習(xí)單片機(jī)的最好的辦法就是實(shí)踐,至于說基礎(chǔ),比如模擬電路和數(shù)字電路當(dāng)然懂得越多越好,如果不是很懂得話,也沒有關(guān)系,可以慢慢補(bǔ)充,其實(shí)單片機(jī)不外乎硬件和軟件,硬件上呢,了解了最小系統(tǒng)之后就可以設(shè)計(jì)了,時(shí)鐘電路、復(fù)位電路、電源等等就可以了.都有典型的電路,不用費(fèi)時(shí)間,至于軟件呢,現(xiàn)在網(wǎng)上也有,比較流行的都是keil,開發(fā)方便,我也寫了一篇keil的入門教程,比較詳細(xì)了.
接下來的話,就是編程,說一下編程的學(xué)習(xí)過程,一個(gè)最好的辦法就是模仿,你先找到一個(gè)別人的現(xiàn)成的程序,能夠編譯生成代碼,下載進(jìn)去,看到現(xiàn)象,之后再自己寫,如果有錯(cuò)誤,對(duì)照正確的,比較一下,成功了之后,再往下學(xué)習(xí).
最煩的就是一種人,把別人的程序拿過來,直接編譯,下載了之后,以為自己就會(huì)了,但是要讓自己動(dòng)手寫的時(shí)候,又寫不出來了,哪怕是抄寫,也要熟悉一下的.這是一個(gè)必須的過程,最后需要達(dá)到一個(gè)什么程度呢,那就是單片機(jī)最基本的定時(shí)器、中斷、I/O口可以直接拿過來就寫,不需要再翻書或者找別人的代碼了.
至于編程語言,我還是建議C語言,怎么說呢,開發(fā)方便吧,有的人說匯編的直接易于理解,但是你要是寫100行的匯編可以,1000行以上呢? 做一個(gè)乘除法,匯編就不行了,C語言通用,移植方便,你學(xué)匯編,51單片機(jī)一套,avr單片機(jī)又是一套,msp430還不一樣,但是C語言都是一樣的,算法拿過來就可以了,改一下I/O口就可以用了,開發(fā)方便.
最后,給大家算一下,現(xiàn)在學(xué)習(xí)單片機(jī)的成本,以前我學(xué)習(xí)的時(shí)候,需要購(gòu)買編程器等等,現(xiàn)在不用了.入門來講,51單片機(jī)最好了,資料多,通用,簡(jiǎn)單.市場(chǎng)上現(xiàn)在比較好的有S系列的,C51系列的,STC系列的,當(dāng)然了還有各個(gè)公司的增強(qiáng)型的.從學(xué)習(xí)的角度講,推S系列和STC系列,可以ISP下載,我現(xiàn)在用的STC系列,最小開發(fā)系統(tǒng):
單片機(jī)一個(gè) 6元
Max232一個(gè) 3元
串口線一根 5元(可以自制,就是3根線)
阻容元件 2元
晶振 1元
發(fā)光二極管 1元
萬能板 2元
加起來一共20元,當(dāng)然了這些只是最基本的,如果自己開發(fā)的話,還需要有電烙鐵、電源、焊錫等等.其他的資源,比如數(shù)碼管、蜂鳴器、液晶等等可以慢慢在擴(kuò)充,軟件呢,就更方便了,keil可以直接在網(wǎng)上下載,我的網(wǎng)站就有,下載軟件,網(wǎng)上也有.
總之,現(xiàn)在資源已經(jīng)很豐富了,學(xué)習(xí)單片機(jī)已經(jīng)不是什么難事了,只要用心學(xué),我相信一個(gè)月的時(shí)間應(yīng)該可以差不多的了.
最后,再為我的Study-3 開發(fā)板做一下廣告:(如果你沒有時(shí)間和工具自制的話,可以考慮)
100元,你可以購(gòu)買到以下東西:
1. Study-3 51單片機(jī)開發(fā)板一塊
2. 串口下載線一條
3. USB電源線一條
4. 開發(fā)光盤一張
5. LCD1602液晶一塊
Qq已經(jīng)不加好友了,有問題到我的網(wǎng)站留言,email留言也可以,當(dāng)然如果買了板子的朋友,可以給我email,我加你,可以提供技術(shù)支持!
講講我是如何學(xué)習(xí)單片機(jī)的!
全部回復(fù)(0)
正序查看
倒序查看
現(xiàn)在還沒有回復(fù)呢,說說你的想法