新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 怎么玩單片機(jī)(一家之言,僅供參考)

怎么玩單片機(jī)(一家之言,僅供參考)

作者: 時(shí)間:2016-11-27 來(lái)源:網(wǎng)絡(luò) 收藏
我喜歡用“玩”,而不喜歡用“學(xué)”來(lái)描述怎么掌握單片機(jī)。我們要以玩的心態(tài)來(lái)學(xué),而不是為了完成任務(wù)的來(lái)學(xué)。

一句話:要像愛女朋友一樣,愛單片機(jī)。

本文引用地址:http://butianyuan.cn/article/201611/322489.htm

一.玩單片機(jī)需要哪些基本條件?

模擬電路,數(shù)字電路基礎(chǔ),對(duì)C語(yǔ)言或匯編語(yǔ)言有一定的了解。硬件條件的話,電腦一臺(tái),實(shí)驗(yàn)板一套。有些人一看,哎呀我的媽呀,這沒學(xué)那沒學(xué),等學(xué)了模擬電路,數(shù)字電路,C再來(lái)學(xué),你OUT了。

我的觀點(diǎn)是:我們要什么就學(xué)什么,現(xiàn)學(xué)現(xiàn)用。對(duì)公司來(lái)說(shuō),不問你學(xué)過(guò)什么,而是問你用過(guò)什么;不問你懂什么,問你會(huì)什么;對(duì)于電子類的同學(xué),沒搭過(guò)電路,你不知道LED怎么亮的;沒有編過(guò)單片機(jī)程序,你真不知道C語(yǔ)言能做什么,你還以為C語(yǔ)言 TMD好像就算些數(shù)學(xué)公式還行,光理論不實(shí)踐學(xué)也白學(xué)。

一句話:我們要什么就學(xué)什么,現(xiàn)學(xué)現(xiàn)用。

二. 該玩哪種單片機(jī)?

單片機(jī)型號(hào)有很多,常見的有51,PIC,AVR幾個(gè)系列,每個(gè)系列又有很多型號(hào)。那么,作為初學(xué)者的我們,該玩哪款單片機(jī)呢?

其實(shí)單片機(jī)都是一樣的,就像電腦一樣,不同的電腦只是配置不同,不同的單片機(jī)也只是配置不同(匯編指令不一樣是后話)只要認(rèn)真學(xué)了,掌握了任一一款單片機(jī),在學(xué)習(xí)其他款,最長(zhǎng)一個(gè)月搞定。51系列作為經(jīng)典的一款單片機(jī),它的資料非常的豐富,也比較容易掌握,因此,從51開始入門應(yīng)該是非常明智的選擇。

在這里我要批判一些觀點(diǎn),有人老是叫囂:51早就過(guò)時(shí)了,還學(xué)這玩意,要玩起碼玩ARM。他連基本的道理都不懂,不學(xué)會(huì)初等數(shù)學(xué),你能直接學(xué)會(huì)高等數(shù)學(xué)嗎?(除非你是天才另當(dāng)別論)不學(xué)51,你學(xué)ARM你那是一口氣要上珠峰,多半“死”在半路,估計(jì)你從此連51的小山都沒信心爬了。再說(shuō)俺們是以51入門,不是就只學(xué)51,俺將來(lái)也是要登“珠峰”的人。

一句話:什么簡(jiǎn)單學(xué)什么,入門最重要。

三. 要不要買開發(fā)板
我的答案是“看你個(gè)人的學(xué)習(xí)方法”,但是如果大家是需要看這篇文章的水平,個(gè)人推薦還是買現(xiàn)成的。
1 買
買板子可以把注意力集中在軟件開發(fā)上,軟件開發(fā)可以不必?fù)?dān)心自己硬件上的問題。咱本來(lái)就剛起步,寫個(gè)程序半天沒反應(yīng),也不知道是硬件還是軟件,到頭來(lái),雄性壯志磨沒了。另外,買板子更省時(shí)間,再有就是買的資料相對(duì)來(lái)說(shuō)比較全,但是不要指望有技術(shù)支持!都是騙人的,賣你之后就不會(huì)理你。
2 做
自己做可以更了解底層硬件,可以按照自己的要求加?xùn)|西,就是時(shí)間要多花些,剛開始的困難也會(huì)多很多,你要有恒心,做也沒問題,關(guān)鍵是要找到正確的電路圖。

一句話:你喜歡怎樣就怎樣。

四.該學(xué)匯編還是學(xué)C51?

這估計(jì)是爭(zhēng)論最大的一個(gè)問題了,有些人堅(jiān)持學(xué)單片機(jī)軟件一定要匯編,也有人堅(jiān)持選擇高級(jí)語(yǔ)言,這主要是C51推行不久時(shí),那時(shí)候單片機(jī)內(nèi)部資源比較寶貴,而且C51本身的編譯器效率也不夠高,導(dǎo)致當(dāng)時(shí)很多人選擇用匯編來(lái)寫代碼。

現(xiàn)在的情況是怎樣的呢?編譯器效率高了,單片機(jī)內(nèi)部的資源也豐富了,用C來(lái)寫單片機(jī)軟件不會(huì)再遇到以前程序代碼太大的問題。

外面的企業(yè),大部分都是用C,C好寫,可讀性強(qiáng),可移植性強(qiáng)。那么匯編就不用學(xué)了嗎?光會(huì)C也還是不夠的,你還得了解匯編,實(shí)際上不是了解匯編指令,是了解單片機(jī)的體系結(jié)構(gòu)。所以我以為學(xué)習(xí)單片機(jī),還是推薦用C來(lái)寫代碼,但是平時(shí)也得多看看匯編代碼,最低要求就是:能熟練運(yùn)用C寫代碼,能讀懂匯編代碼。

這里匯報(bào)個(gè)情況,在大學(xué)里老師基本都是用匯編教學(xué),我老師也是用匯編教,剛出來(lái)公司要求用C,當(dāng)時(shí)大家都一頓罵老師,現(xiàn)在明白老師的良苦用心了,用C教學(xué),老師要輕松很多,而老師卻選擇匯編,為什么在大家眼中的“壞老師”要如此吃力不討好呢?

這是因?yàn)?,用匯編教,能讓大家更清晰的掌握單片機(jī)的體系結(jié)構(gòu),運(yùn)行機(jī)理,掌握單片機(jī)的核心本質(zhì),用匯編你才會(huì)掌握什么是立即尋址,直接尋址,什么是間接尋址,什么是偏移量?等等一系列的問題。你不知道這些,用C也能把程序玩轉(zhuǎn),但你不知道運(yùn)行機(jī)理,你不覺得心慌嗎?你學(xué)ARM時(shí)你能看懂啟動(dòng)代碼嗎?你能寫啟動(dòng)代碼嗎?

一句話:先學(xué)用C寫代碼,后學(xué)匯編,研究單片機(jī)體系結(jié)構(gòu).老師在教匯編,那是一種幸福。

五.要什么軟件,怎么下載程序

Keil c趕緊下一個(gè)不管什么版本的,再下一個(gè)Keil的使用說(shuō)明。就OK了。單片機(jī)我們選支持 ISP下載的,(買開發(fā)板都會(huì)帶下載線的)89S系列的帶ISP下載功能。

要想在線調(diào)試,就要買個(gè)仿真器了。

心態(tài)擺正了,型號(hào)選好了,板子咱有了(無(wú)論買,還是做,最起碼要有),管他過(guò)不過(guò)時(shí),管他C好還是匯編好,疑問可以帶著,爭(zhēng)論可以有,“上路”不能耽擱!



評(píng)論


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

關(guān)閉