怎么玩單片機(一家之言,僅供參考)
一句話(huà):要像愛(ài)女朋友一樣,愛(ài)單片機。
本文引用地址:http://dyxdggzs.com/article/201611/322489.htm模擬電路,數字電路基礎,對C語(yǔ)言或匯編語(yǔ)言有一定的了解。硬件條件的話(huà),電腦一臺,實(shí)驗板一套。有些人一看,哎呀我的媽呀,這沒(méi)學(xué)那沒(méi)學(xué),等學(xué)了模擬電路,數字電路,C再來(lái)學(xué),你OUT了。
我的觀(guān)點(diǎn)是:我們要什么就學(xué)什么,現學(xué)現用。對公司來(lái)說(shuō),不問(wèn)你學(xué)過(guò)什么,而是問(wèn)你用過(guò)什么;不問(wèn)你懂什么,問(wèn)你會(huì )什么;對于電子類(lèi)的同學(xué),沒(méi)搭過(guò)電路,你不知道LED怎么亮的;沒(méi)有編過(guò)單片機程序,你真不知道C語(yǔ)言能做什么,你還以為C語(yǔ)言 TMD好像就算些數學(xué)公式還行,光理論不實(shí)踐學(xué)也白學(xué)。
一句話(huà):我們要什么就學(xué)什么,現學(xué)現用。
二. 該玩哪種單片機?
單片機型號有很多,常見(jiàn)的有51,PIC,AVR幾個(gè)系列,每個(gè)系列又有很多型號。那么,作為初學(xué)者的我們,該玩哪款單片機呢?
其實(shí)單片機都是一樣的,就像電腦一樣,不同的電腦只是配置不同,不同的單片機也只是配置不同(匯編指令不一樣是后話(huà))只要認真學(xué)了,掌握了任一一款單片機,在學(xué)習其他款,最長(cháng)一個(gè)月搞定。51系列作為經(jīng)典的一款單片機,它的資料非常的豐富,也比較容易掌握,因此,從51開(kāi)始入門(mén)應該是非常明智的選擇。
在這里我要批判一些觀(guān)點(diǎn),有人老是叫囂:51早就過(guò)時(shí)了,還學(xué)這玩意,要玩起碼玩ARM。他連基本的道理都不懂,不學(xué)會(huì )初等數學(xué),你能直接學(xué)會(huì )高等數學(xué)嗎?(除非你是天才另當別論)不學(xué)51,你學(xué)ARM你那是一口氣要上珠峰,多半“死”在半路,估計你從此連51的小山都沒(méi)信心爬了。再說(shuō)俺們是以51入門(mén),不是就只學(xué)51,俺將來(lái)也是要登“珠峰”的人。
一句話(huà):什么簡(jiǎn)單學(xué)什么,入門(mén)最重要。
三. 要不要買(mǎi)開(kāi)發(fā)板
1 買(mǎi)
買(mǎi)板子可以把注意力集中在軟件開(kāi)發(fā)上,軟件開(kāi)發(fā)可以不必擔心自己硬件上的問(wèn)題。咱本來(lái)就剛起步,寫(xiě)個(gè)程序半天沒(méi)反應,也不知道是硬件還是軟件,到頭來(lái),雄性壯志磨沒(méi)了。另外,買(mǎi)板子更省時(shí)間,再有就是買(mǎi)的資料相對來(lái)說(shuō)比較全,但是不要指望有技術(shù)支持!都是騙人的,賣(mài)你之后就不會(huì )理你。
2 做
自己做可以更了解底層硬件,可以按照自己的要求加東西,就是時(shí)間要多花些,剛開(kāi)始的困難也會(huì )多很多,你要有恒心,做也沒(méi)問(wèn)題,關(guān)鍵是要找到正確的電路圖。
一句話(huà):你喜歡怎樣就怎樣。
四.該學(xué)匯編還是學(xué)C51?
這估計是爭論最大的一個(gè)問(wèn)題了,有些人堅持學(xué)單片機軟件一定要匯編,也有人堅持選擇高級語(yǔ)言,這主要是C51推行不久時(shí),那時(shí)候單片機內部資源比較寶貴,而且C51本身的編譯器效率也不夠高,導致當時(shí)很多人選擇用匯編來(lái)寫(xiě)代碼。
現在的情況是怎樣的呢?編譯器效率高了,單片機內部的資源也豐富了,用C來(lái)寫(xiě)單片機軟件不會(huì )再遇到以前程序代碼太大的問(wèn)題。
外面的企業(yè),大部分都是用C,C好寫(xiě),可讀性強,可移植性強。那么匯編就不用學(xué)了嗎?光會(huì )C也還是不夠的,你還得了解匯編,實(shí)際上不是了解匯編指令,是了解單片機的體系結構。所以我以為學(xué)習單片機,還是推薦用C來(lái)寫(xiě)代碼,但是平時(shí)也得多看看匯編代碼,最低要求就是:
這里匯報個(gè)情況,在大學(xué)里老師基本都是用匯編教學(xué),我老師也是用匯編教,剛出來(lái)公司要求用C,當時(shí)大家都一頓罵老師,現在明白老師的良苦用心了,用C教學(xué),老師要輕松很多,而老師卻選擇匯編,為什么在大家眼中的“壞老師”要如此吃力不討好呢?
這是因為,用匯編教,能讓大家更清晰的掌握單片機的體系結構,運行機理,掌握單片機的核心本質(zhì),用匯編你才會(huì )掌握什么是立即尋址,直接尋址,什么是間接尋址,什么是偏移量?等等一系列的問(wèn)題。你不知道這些,用C也能把程序玩轉,但你不知道運行機理,你不覺(jué)得心慌嗎?你學(xué)ARM時(shí)你能看懂啟動(dòng)代碼嗎?你能寫(xiě)啟動(dòng)代碼嗎?
一句話(huà):先學(xué)用C寫(xiě)代碼,后學(xué)匯編,研究單片機體系結構.老師在教匯編,那是一種幸福。
五.要什么軟件,怎么下載程序
Keil c趕緊下一個(gè)不管什么版本的,再下一個(gè)Keil的使用說(shuō)明。就OK了。單片機我們選支持 ISP下載的,(買(mǎi)開(kāi)發(fā)板都會(huì )帶下載線(xiàn)的)89S系列的帶ISP下載功能。
要想在線(xiàn)調試,就要買(mǎi)個(gè)仿真器了。
心態(tài)擺正了,型號選好了,板子咱有了(無(wú)論買(mǎi),還是做,最起碼要有),管他過(guò)不過(guò)時(shí),管他C好還是匯編好,疑問(wèn)可以帶著(zhù),爭論可以有,“上路”不能耽擱!
評論