如何學(xué)好單片機(jī)

姓名:李浩然

學(xué)號(hào):16030410020

轉(zhuǎn)自:http://www.51hei.com/bbs/dpj-39925-1.html(有刪改)

【嵌牛導(dǎo)讀 】:在大學(xué)的很多課程中采幌,老師都經(jīng)常提到關(guān)于單片機(jī)的內(nèi)容劲够,但由于許多大學(xué)生都是初次接觸這方面的內(nèi)容面對(duì)這種問(wèn)題,我都是不做回答休傍,因?yàn)榇_實(shí)沒(méi)法回答征绎,但是問(wèn)得人多了,不免引發(fā)了自己的思考磨取,下面人柿,我把我的學(xué)習(xí)經(jīng)歷分享出來(lái),以供初學(xué)者參考寝衫。

【嵌牛鼻子】:微機(jī)原理顷扩、51單片機(jī)、匯編語(yǔ)言學(xué)習(xí)慰毅、流程圖

【嵌牛提問(wèn)】:怎么才能學(xué)好單片機(jī)隘截?應(yīng)該從哪些方面入手學(xué)習(xí),流程應(yīng)該是怎么樣的汹胃?

【嵌牛正文】:

一婶芭、啟蒙階段

大一的時(shí)候,學(xué)習(xí)的是電路基礎(chǔ)和模電數(shù)電着饥,電路基礎(chǔ)上犀农,做一些諸如電機(jī)正反轉(zhuǎn)的電路,模電數(shù)電課上宰掉,就自己做功放呵哨、電源等小制作,當(dāng)時(shí)也是憑著自己的興趣轨奄,做起來(lái)很認(rèn)真孟害,但實(shí)事求是的說(shuō),理論知識(shí)沒(méi)記住多少挪拟,只能說(shuō)挨务,了解個(gè)大概。

二、學(xué)習(xí)微機(jī)原理

當(dāng)時(shí)我們講的是8086谎柄,這對(duì)了解計(jì)算機(jī)結(jié)構(gòu)是不可或缺的丁侄,我也是在那時(shí)候起,接觸到了匯編編程

三朝巫、匯編語(yǔ)言學(xué)習(xí)單片機(jī)

大二的時(shí)候鸿摇,開(kāi)始學(xué)習(xí)51單片機(jī),當(dāng)時(shí)我那屆學(xué)生捍歪,開(kāi)設(shè)的都是匯編語(yǔ)言教學(xué)户辱,課程上,做得也都是可以用軟件仿真的小設(shè)計(jì)糙臼,差不多學(xué)了三個(gè)月后庐镐,掌握了基本語(yǔ)法和單片機(jī)寄存器(如果有學(xué)習(xí)8086的基礎(chǔ),三個(gè)月的時(shí)間足夠了)功能变逃,就做一些實(shí)物必逆,那時(shí)候,認(rèn)識(shí)到揽乱,做實(shí)物和仿真的區(qū)別如此之大名眉。

四、進(jìn)階

認(rèn)識(shí)到仿真和實(shí)物的巨大差別后凰棉,我就放棄了仿真學(xué)習(xí)單片機(jī)的方式损拢,轉(zhuǎn)而通過(guò)實(shí)物。我的第一個(gè)作品是籃球計(jì)時(shí)計(jì)分器(不是課程設(shè)計(jì)撒犀,是真實(shí)的作品)福压,當(dāng)時(shí)很多東西都不懂,只能自己去查資料或舞,比如說(shuō)荆姆,74HC245,我那時(shí)候第一次接觸映凳,就查百度了胆筒,還有三極管電路等等,都是百度查到的诈豌,因?yàn)橛写笠淮蛳碌幕A(chǔ)仆救,電路圖一看就懂,剩下的就是焊接實(shí)物測(cè)試了矫渔。拜良師所賜派桩,我的焊接技術(shù)在速度和質(zhì)量上,都還可以蚌斩,所以,可以在很短的時(shí)間內(nèi),可以完成硬件測(cè)試送膳。

自主學(xué)習(xí)的主要過(guò)程就是查資料了员魏,對(duì)于一些基礎(chǔ)的資料(IC參數(shù)等),網(wǎng)絡(luò)上都是現(xiàn)成的叠聋,如果看不懂撕阎,那誰(shuí)也沒(méi)辦法。問(wèn)題是碌补,為什么我就可以看得懂呢虏束,這就又要回到我大一的時(shí)候所學(xué)的課程,那時(shí)候讀書(shū)還算用功厦章,培養(yǎng)了這種學(xué)習(xí)能力镇匀。換句話說(shuō),哪怕以前你是搞文科的袜啃,只要有學(xué)習(xí)汗侵、理解的能力,那么到另一個(gè)領(lǐng)域群发,也不會(huì)覺(jué)得無(wú)從下手晰韵。

然后就是編程了,很多網(wǎng)友問(wèn)我數(shù)學(xué)是不是很好熟妓,我只能表示慚愧了雪猪,高中的時(shí)候,我的數(shù)學(xué)分?jǐn)?shù)都在40分左右(滿分150)起愈,大學(xué)后只恨,在30分左右。但數(shù)學(xué)不好告材,不代表不能編程坤次,哪怕是用匯編語(yǔ)言。

那么斥赋,如何編程呢缰猴?有人說(shuō),先畫(huà)流程圖疤剑,然后再寫(xiě)程序滑绒、調(diào)試。我想隘膘,這是數(shù)學(xué)比我好的人說(shuō)的疑故,我的方法如下:

1、用文字描述自己需要的功能(假設(shè)功能大于2)

2弯菊、拆分出各個(gè)功能纵势,用文字描述每個(gè)功能是如何實(shí)現(xiàn)的

3、完成各個(gè)功能的程序,并做好測(cè)試钦铁,對(duì)于我來(lái)說(shuō)软舌,如果了解單片機(jī)的工作方式,那么編寫(xiě)程序其實(shí)就是把漢語(yǔ)翻譯成匯編語(yǔ)言牛曹。

4佛点、修改每個(gè)功能模塊的程序,盡量讓程序簡(jiǎn)短黎比,并且預(yù)留好和其他功能銜接的功能(接口超营、變量等)

5、合并簡(jiǎn)單功能模塊阅虫,復(fù)雜功能逐一合并演闭,每次合并做好程序備份,以便糾錯(cuò)

6书妻、如果上述工作做的足夠好船响,那么可以直接得到想要的結(jié)果,我的程序往往都是寫(xiě)完了就可以用躲履,這是建立在部分模塊程序的完美基礎(chǔ)之上的见间。

如果是設(shè)計(jì)了獨(dú)一無(wú)二的作品,比如說(shuō)我的立方光(我是獨(dú)立設(shè)計(jì)的原理和程序工猜,不管是新版還是舊版)米诉,那就在第一條補(bǔ)充一條:構(gòu)思,這需要你對(duì)單片機(jī)很了解篷帅,預(yù)想如何實(shí)現(xiàn)史侣,會(huì)遇到什么樣的問(wèn)題,以及解決的方案魏身。立方光我構(gòu)思了2個(gè)月惊橱,真正做實(shí)物的時(shí)間,只有一周箭昵。等到了新版立方光問(wèn)世税朴,我也是用了三周構(gòu)思,一周做實(shí)物家制。

五正林、學(xué)習(xí)c語(yǔ)言

通過(guò)一段時(shí)間的學(xué)習(xí),我認(rèn)識(shí)到了匯編語(yǔ)言的優(yōu)越性颤殴,也認(rèn)識(shí)到它的缺點(diǎn)觅廓,這點(diǎn)我們稍后再說(shuō),先說(shuō)一下我現(xiàn)在學(xué)習(xí)c語(yǔ)言的情況涵但。

因?yàn)橹坝辛俗鰧?shí)物和編程的基礎(chǔ)杈绸,我就通過(guò)項(xiàng)目來(lái)學(xué)習(xí)C帖蔓,比如,做一個(gè)溫度顯示蝇棉,用到了18B20讨阻,就自己百度資料,至于程序篡殷,我就找了開(kāi)發(fā)板上現(xiàn)成的(說(shuō)到這,買個(gè)開(kāi)發(fā)板還是很必要的埋涧,要的是程序)板辽。第一次接觸C編程,VOID是啥都不懂棘催,那就百度吧劲弦,可以說(shuō),一個(gè)程序醇坝,我要百度很久來(lái)理解里面的內(nèi)容邑跪,不懂就是問(wèn)師弟(他們現(xiàn)在是學(xué)C的),差不多一天的時(shí)間(包括查資料)呼猪,程序也就完成了画畅,當(dāng)然,我還優(yōu)化了原程序宋距,自己改寫(xiě)后的程序比以前更簡(jiǎn)短轴踱,占用RAM更少,因?yàn)橹笆菍W(xué)匯編的谚赎,一眼就看得出淫僻,程序改如何優(yōu)化。

以上就是我的學(xué)習(xí)經(jīng)驗(yàn)了壶唤,在這里我還是建議大家雳灵,要先學(xué)匯編語(yǔ)言,這沒(méi)壞處闸盔,比如我悯辙,因?yàn)橛袇R編的基礎(chǔ),學(xué)起c來(lái)就覺(jué)得很上手蕾殴,特別是自己可以寫(xiě)出更優(yōu)化的程序笑撞。但有人說(shuō),匯編難學(xué)钓觉,就算學(xué)了茴肥,以后編程也用不到。那么我要說(shuō)荡灾,我的立方光程序就是匯編的瓤狐,怎么用不到了?很多單片機(jī)的參考資料瞬铸,也都是以匯編作為原始資料的,你不懂匯編础锐,怎么學(xué)習(xí)新的功能嗓节?學(xué)了匯編后,你會(huì)知道皆警,單片機(jī)可以做哪些事情拦宣,哪些事情不能做,以及如何做好一件事情信姓,這是單純學(xué)C的人體會(huì)不到的鸵隧。

那么匯編語(yǔ)言和C語(yǔ)言比起來(lái),優(yōu)劣勢(shì)在哪里呢意推?我根據(jù)我的學(xué)習(xí)經(jīng)驗(yàn)豆瘫,寫(xiě)一點(diǎn)個(gè)人心得,仁者見(jiàn)仁智者見(jiàn)智菊值,各位也可以發(fā)表自己的看法外驱。

匯編做為測(cè)試程序最合適不過(guò)了,比如你想測(cè)試最小系統(tǒng)的好壞腻窒,那么隨便更改一組IO的輸出就可以了昵宇,用匯編的話,寫(xiě)三行足矣定页。如果測(cè)試某些IC的好壞趟薄,特別是需要脈沖的模塊,那么匯編就更有優(yōu)勢(shì)典徊,可以精確的控制時(shí)間杭煎,而且代碼量極短。最后就是在RAM占用上卒落,匯編語(yǔ)言羡铲,總是把RAM的占用在最低,而純學(xué)C的人往往忽略這一點(diǎn)儡毕,都是想用多少變量就定義多少變量也切,對(duì)于RAM小的可憐的單片機(jī)來(lái)說(shuō),是一種災(zāi)難腰湾,在實(shí)際生產(chǎn)中雷恃,往往選用的都是廉價(jià)單片機(jī),IO和RAM费坊、ROM資源都很小倒槐,沒(méi)有多少你發(fā)揮的余地,如果你的程序可以讓公司把40P單片機(jī)換成28P的單片機(jī)附井,那么PCB板就節(jié)約了讨越,如果你的程序能從2K簡(jiǎn)化到1K两残,那么單片機(jī)的購(gòu)買成本也會(huì)降低,對(duì)于企業(yè)來(lái)說(shuō)把跨,一個(gè)板子省一毛錢都是巨大的利潤(rùn)人弓,所以說(shuō),你程序的好壞着逐,是影響的企業(yè)利益的崔赌,何況很多人也想自己創(chuàng)業(yè)呢!至于說(shuō)滨嘱,如何才能優(yōu)化程序峰鄙、寫(xiě)出最短的程序,那必須先要對(duì)單片機(jī)有足夠的了解太雨,而學(xué)習(xí)單片機(jī)的內(nèi)部原理,是非匯編不可的魁蒜。加上有人學(xué)單片機(jī)是為了向嵌入式進(jìn)階囊扳,那么學(xué)習(xí)匯編就是更是必不可少的了。C語(yǔ)言的優(yōu)勢(shì)我就不多少了兜看,現(xiàn)在幾乎都是在用C編程锥咸,我最近在學(xué)習(xí)C編程,也體會(huì)到了C強(qiáng)大细移,但這不代表我以前學(xué)的匯編就浪費(fèi)了搏予,比如stc的eeprom程序,官方給的就是匯編弧轧,可實(shí)際來(lái)說(shuō)雪侥,寫(xiě)成C更好,如果你不懂匯編精绎,自然也無(wú)法翻譯這些程序速缨,談何C的應(yīng)用?關(guān)于這兩種語(yǔ)言的話題代乃,我就不再往下說(shuō)了旬牲,免得又引起口水戰(zhàn),如果想學(xué)單片機(jī)搁吓,我建議學(xué)C原茅,如果你想學(xué)好單片機(jī),那就先學(xué)匯編再學(xué)C堕仔,這就我給初學(xué)者的建議擂橘。最后要說(shuō)的是,匯編編程贮预,非常鍛煉人的思維贝室,這也就是為什么都說(shuō)匯編難學(xué)了契讲,如果你在匯編上有一定的編程能力,那么再掌握其他編程語(yǔ)言的時(shí)候滑频,學(xué)習(xí)過(guò)程就會(huì)變得很容易捡偏。

我想寫(xiě)到這里就差不多了,學(xué)單片機(jī)沒(méi)什么竅門(mén)峡迷,作為一門(mén)知識(shí)银伟,學(xué)它和學(xué)其他科目都用共性,謙虛绘搞、嚴(yán)謹(jǐn)彤避、勤勞是必須的,不同的是夯辖,僅僅靠興趣維持是不行的琉预,它帶給你的困難會(huì)很快讓你失去興趣,單片機(jī)蒿褂,要的更多的是毅力圆米,面對(duì)困難,只有勤勞啄栓,而不是所謂的靈感娄帖。大多數(shù)人,都是經(jīng)歷幾十次失敗就停手了昙楚,我不是很聰明的人近速,我經(jīng)歷最多的失敗足有300多次,我的成功堪旧,都是源于我的堅(jiān)持削葱,堅(jiān)持正確的思路并持之以恒!

希望這些文字或多或少的給初學(xué)者一些幫助崎场, 早日入門(mén)佩耳!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市谭跨,隨后出現(xiàn)的幾起案子干厚,更是在濱河造成了極大的恐慌,老刑警劉巖螃宙,帶你破解...
    沈念sama閱讀 222,000評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蛮瞄,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡谆扎,警方通過(guò)查閱死者的電腦和手機(jī)挂捅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)堂湖,“玉大人闲先,你說(shuō)我怎么就攤上這事状土。” “怎么了伺糠?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,561評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵蒙谓,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我训桶,道長(zhǎng)累驮,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,782評(píng)論 1 298
  • 正文 為了忘掉前任舵揭,我火速辦了婚禮谤专,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘午绳。我一直安慰自己置侍,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,798評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布拦焚。 她就那樣靜靜地躺著墅垮,像睡著了一般。 火紅的嫁衣襯著肌膚如雪耕漱。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,394評(píng)論 1 310
  • 那天抬伺,我揣著相機(jī)與錄音螟够,去河邊找鬼。 笑死峡钓,一個(gè)胖子當(dāng)著我的面吹牛妓笙,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播能岩,決...
    沈念sama閱讀 40,952評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼寞宫,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了拉鹃?” 一聲冷哼從身側(cè)響起辈赋,我...
    開(kāi)封第一講書(shū)人閱讀 39,852評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎膏燕,沒(méi)想到半個(gè)月后钥屈,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,409評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡坝辫,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,483評(píng)論 3 341
  • 正文 我和宋清朗相戀三年篷就,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片近忙。...
    茶點(diǎn)故事閱讀 40,615評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡竭业,死狀恐怖智润,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情未辆,我是刑警寧澤窟绷,帶...
    沈念sama閱讀 36,303評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站鼎姐,受9級(jí)特大地震影響钾麸,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜炕桨,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,979評(píng)論 3 334
  • 文/蒙蒙 一饭尝、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧献宫,春花似錦钥平、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,470評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至捷兰,卻和暖如春立叛,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背贡茅。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,571評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工秘蛇, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人顶考。 一個(gè)月前我還...
    沈念sama閱讀 49,041評(píng)論 3 377
  • 正文 我出身青樓赁还,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親驹沿。 傳聞我的和親對(duì)象是個(gè)殘疾皇子艘策,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,630評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • Microcontrollers 1.單片機(jī)(Microcontrollers)是一種集成電路芯片,是采用超大規(guī)模...
    yansicing閱讀 980評(píng)論 0 4
  • 跟串兒來(lái)個(gè)約會(huì)渊季,它是孤寂無(wú)聊時(shí)的陪伴朋蔫,是興奮快活的消遣,是插科打諢時(shí)的牙祭梭域,是粗茶淡飯后的驚喜斑举。 串兒,已不僅僅是...
    周可波羅閱讀 377評(píng)論 0 0
  • 相愛(ài)容易赎懦,相處難雀鹃,且行且珍惜。在感情里我們其實(shí)都是單翼的天使励两,單翼黎茎,注定了我們需要有另一只翅膀的配合,才能飛起來(lái)当悔!...
    王園園2016閱讀 1,372評(píng)論 6 2
  • 序言 前幾天公交車上看了一篇百度大神的關(guān)于 KVO 探索的博客傅瞻。我實(shí)地驗(yàn)證了一下子,也遇到了好多問(wèn)題盲憎,一番各種查閱...
    黃小夢(mèng)閱讀 1,190評(píng)論 8 29
  • 同學(xué)們好嗅骄,我們的祖先造出的漢字,實(shí)在是世界文字史上的一朵奇葩饼疙,世界文化史上一道雄奇的豐碑溺森。《淮南子·本經(jīng)》...
    死生契闊i閱讀 1,653評(píng)論 0 5