- 相關(guān)推薦
自學(xué)MCS-51單片機(jī)心得體會(huì)
標(biāo)簽:MCS-51單片機(jī)無(wú)論是作為一名業(yè)余的電子愛(ài)好者還是一名電子行業(yè)的相關(guān)從業(yè)人員,掌握單片機(jī)技術(shù)無(wú)疑可以使您如虎添翼,為您的電子小制作或者開(kāi)發(fā)設(shè)計(jì)電子產(chǎn)品時(shí)打開(kāi)方便的大門(mén)!而且現(xiàn)在學(xué)習(xí)單片機(jī)技術(shù)的熱潮正在不斷升溫,時(shí)下多家電子類(lèi)的報(bào)刊雜志如:《電子制作》《無(wú)線(xiàn)電》《電子報(bào)》《電子世界》都開(kāi)設(shè)了詳細(xì)的單片機(jī)學(xué)習(xí)專(zhuān)欄,對(duì)于想學(xué)習(xí)單片機(jī)的朋友來(lái)說(shuō)幫助很大,可以說(shuō)現(xiàn)在的單片機(jī)學(xué)習(xí)環(huán)境是最好的,經(jīng)過(guò)一段時(shí)間的努力,采用單片機(jī)來(lái)開(kāi)發(fā)設(shè)計(jì)電子產(chǎn)品已經(jīng)不再是專(zhuān)業(yè)電子工程師的"專(zhuān)利"!作為一個(gè)普通的電子愛(ài)好者完全可以通過(guò)一番努力后熟練掌握!國(guó)外的電子愛(ài)好者采用單片機(jī)來(lái)設(shè)計(jì)小制作非常普及,一些智能機(jī)器人、智能自動(dòng)裝置內(nèi)部都離不開(kāi)單片機(jī)的身影~
現(xiàn)今單片機(jī)學(xué)習(xí)環(huán)境真的是太好了,有網(wǎng)絡(luò),有書(shū)籍,有報(bào)刊雜志,還有視頻教程,元件的采購(gòu)方面也非常充足,相關(guān)的器材又多有便宜,相比而言,本人當(dāng)初的學(xué)習(xí)條件就只可以"寒磣"二字來(lái)形容了:
站長(zhǎng)的單片機(jī)技術(shù)是通過(guò)看書(shū)、動(dòng)手自學(xué)學(xué)會(huì)的。又因?yàn)檎鹃L(zhǎng)的專(zhuān)業(yè)不是電子專(zhuān)業(yè),所以單片機(jī)對(duì)于我來(lái)說(shuō)是完全陌生的--最初我對(duì)單片機(jī)的概念都不清楚,還弄了一年多時(shí)間的單板機(jī)(i8085)--直到后來(lái)在圖書(shū)城"蹲點(diǎn)"(當(dāng)時(shí)上網(wǎng)還是件奢侈的事情,何況我也沒(méi)電腦),才總算明白什么是單片機(jī)。
當(dāng)時(shí)(7年前,我還上高中的時(shí)候),可以供選擇的單片機(jī)種類(lèi)并不如現(xiàn)今這么多,因此通常說(shuō)起單片機(jī)就是特指MCS-51,因此我也就學(xué)了它。不過(guò),正是因?yàn)橛盟娜硕,所以能夠獲得的也多,元件也比較好購(gòu),因此我的自學(xué)之路才得以順利走下去。
當(dāng)時(shí)那個(gè)窮啊,不敢買(mǎi)新零件,只能在廢舊家電上拆,參數(shù)不匹配也將就著用,而且還多虧了商鋪老板看我可憐而以6折的價(jià)給了我一片i8051和一片2864,要知道當(dāng)時(shí)這兩個(gè)東東加起來(lái)有七十多塊啊,夠我三個(gè)月的零花錢(qián)了(都高中了,三個(gè)月才這么點(diǎn)零花錢(qián)!)。
元件基本上差不多了,沒(méi)有電腦寫(xiě)程序怎么辦呢,好在我買(mǎi)的那本書(shū)上提供了指令的機(jī)器碼,所以我就先用筆在紙上把匯編源程序?qū)懗鰜?lái),然后根據(jù)書(shū)上的指令表把源程序手工翻譯成機(jī)器碼,就是10001111這樣的代碼,寫(xiě)在源程序旁邊。這就是我的"編輯環(huán)境"和"編譯器"!
程序也有了,可是怎樣把它弄到存儲(chǔ)器里去呢,買(mǎi)編程器是不現(xiàn)實(shí)的,一來(lái)沒(méi)有電腦,二來(lái),當(dāng)時(shí)一只編程器上千元的價(jià)格也只能讓我嘖嘖搖頭。
那怎么辦呢…想來(lái)想去,找來(lái)找去,最后我利用以前做小實(shí)驗(yàn)的那幾塊面包板,拼在一塊合適大小的木板上,然后把存儲(chǔ)器按照要求插好,用插線(xiàn)連好電源和地,用電阻做出高低電平,然后通上電,再根據(jù)地址和數(shù)據(jù)的狀態(tài),用鑷子把那些連線(xiàn)一根一根插到高或低電平,核對(duì)之后再把WR引線(xiàn)接一下地,這樣就可以寫(xiě)入一個(gè)字節(jié),寫(xiě)下面的字節(jié)的時(shí)候就重復(fù)以上這些步驟就行了。若是程序要改動(dòng)一點(diǎn),那個(gè)工作量就"非常龐大"了。
這就是我的"編程器"!我寫(xiě)的第一個(gè)MCS-51單片機(jī)程序--點(diǎn)亮一只LED,以及后來(lái)的流水燈程序等,就是在這樣的條件下來(lái)完成的。
現(xiàn)在,一個(gè)最廉價(jià)的仿真器也才人民幣幾十元,一塊功能多些的單片機(jī)實(shí)驗(yàn)板也才上百元,簡(jiǎn)直就是學(xué)習(xí)者的天堂了。
從51系列開(kāi)始學(xué)單片機(jī)是個(gè)不錯(cuò)的選擇:
1.書(shū)多、資料多
2.掌握51技術(shù)的人多,碰到問(wèn)題能請(qǐng)教的老師也就多了
3.51系列的實(shí)驗(yàn)芯片AT89C51價(jià)格低廉而且很容易買(mǎi)到,AT89C51芯片而且可以反復(fù)擦寫(xiě)1000次以上,對(duì)于初學(xué)者來(lái)說(shuō)真是太合適了,就算以后考慮工業(yè)運(yùn)用,也可以先學(xué)透51后再學(xué)其他類(lèi)型的單片機(jī),畢竟技術(shù)是相通的。
4.相關(guān)的器材很廉價(jià),具有絕大多數(shù)功能的下載型仿真器才幾十元,最簡(jiǎn)單的專(zhuān)用編程器也才幾十元,如果有能力自己做編程器就更便宜。
學(xué)習(xí)單片機(jī)的第一步是看書(shū),單片機(jī)是一個(gè)知識(shí)密集的東東,不看書(shū)是絕對(duì)不行的,北航出版社(北京航空航天大學(xué)出版社)出版了大量單片機(jī)方面的好書(shū),可以直接登錄他們的網(wǎng)站進(jìn)行郵購(gòu)。本人認(rèn)為第一本書(shū)應(yīng)該是8051單片機(jī)的基礎(chǔ)原理書(shū)。我看的第一本書(shū)是咬牙買(mǎi)的兵器工業(yè)出版社的《8051/8098單片機(jī)原理幾接口設(shè)計(jì)》,這本書(shū)不是別人向我推薦的,也不是教材,但它比較系統(tǒng)地介紹了51芯片的基礎(chǔ)知識(shí),我正是通過(guò)這本書(shū)入門(mén)的,可以很系統(tǒng)地了解51單片機(jī)。對(duì)比我后來(lái)買(mǎi)的其它51方面的書(shū)籍,我還是推薦這本。雖然這些書(shū)籍一開(kāi)始不一定能懂,不過(guò)確實(shí)很有用,很有嚼頭,可以先大致看一遍,不消化的可以以后在試驗(yàn)實(shí)踐中反復(fù)研究。
學(xué)習(xí)單片機(jī)的第二步是購(gòu)買(mǎi)工具,單片機(jī)芯片必須借助編程器才能寫(xiě)入程序,本人用的編程器是一種性能較好的TOP2003通用編程器,通用編程器的特點(diǎn)是專(zhuān)為開(kāi)發(fā)單片機(jī)和燒寫(xiě)各類(lèi)存儲(chǔ)器而設(shè)計(jì)的通用機(jī)型,它的編程可靠性高,支持的器件品種很多,不過(guò)這些商品化的設(shè)備價(jià)格偏高,不太適合初學(xué)者,或者說(shuō)有一定程度上的浪費(fèi)。
本人向初學(xué)者推薦一類(lèi)廉價(jià)的編程器,注意,我說(shuō)的是"一類(lèi)",而不是一種特定型號(hào)的。
這種編程器一般具有以下特點(diǎn):
1.沒(méi)有外殼,而是以*露的線(xiàn)路板直接銷(xiāo)售
2.通常支持常用的單片機(jī)和一些其它的芯片,例如存儲(chǔ)器等
3.通常不是USB接口,一般采用串行或并行接口連接電腦
4.價(jià)格一般在一兩百元左右
本站暫時(shí)不打算做這樣的編程器,但若朋友們有需要,本人也可以考慮做一些提供給大家。
不過(guò)從長(zhǎng)遠(yuǎn)的方面考慮,購(gòu)置一臺(tái)通用編程器還是有必要的,需要了解的朋友可以搜索一下"單片機(jī)編程器"。
學(xué)習(xí)單片機(jī)的第三步是反復(fù)編程實(shí)踐,一個(gè)好的實(shí)驗(yàn)平臺(tái)非常重要,實(shí)驗(yàn)平臺(tái)的類(lèi)型有許多,那些專(zhuān)業(yè)的產(chǎn)品動(dòng)輒幾千元,不是普通愛(ài)好者能承受的,也完全沒(méi)有必要使用那樣的產(chǎn)品。象編程器一樣,有廉價(jià)實(shí)驗(yàn)板作為替代,有的產(chǎn)品比那些專(zhuān)業(yè)器材更好,例如本站推出的MCS-51 Study Board V3.0和V5.0板,就是非常貼近實(shí)際使用的設(shè)計(jì),如果給它們配上適當(dāng)?shù)能浖,是完全可以直接作為工業(yè)控制板而安裝在機(jī)械設(shè)備中使用的。
仿真器對(duì)單片機(jī)初學(xué)者來(lái)說(shuō)既是那么耳熟,同時(shí)又有些陌生,這主要是因?yàn)槭袌?chǎng)上傳統(tǒng)的仿真器價(jià)格都在千元以上,對(duì)經(jīng)濟(jì)不是非常寬裕的人來(lái)說(shuō)是不小的開(kāi)支。同時(shí)仿真器是用來(lái)提高調(diào)試程序效率的,也不是非需不可的,所以站長(zhǎng)在自學(xué)單片機(jī)的時(shí)候沒(méi)有用過(guò)仿真器,碰到程序出錯(cuò)的時(shí)候,只好苦思冥想,或者在程序中插入一些驅(qū)動(dòng)端口的指令,然后再接上一些發(fā)光二極管做簡(jiǎn)單指示,一般調(diào)試一個(gè)程序,反復(fù)燒寫(xiě)幾十次芯片是很經(jīng)常的。
具備了必要的工具以后就可以開(kāi)始學(xué)習(xí)單片機(jī)了,對(duì)單片機(jī)進(jìn)行編程可以采用匯編語(yǔ)言或者C語(yǔ)言,匯編語(yǔ)言的特點(diǎn)是代碼緊湊,對(duì)初學(xué)者的電腦水平要求低、上手快,但是程序編寫(xiě)工作量大,站長(zhǎng)網(wǎng)站的程序范例就是采用匯編語(yǔ)言編寫(xiě)的,這里說(shuō)的C語(yǔ)言是專(zhuān)用于51單片機(jī)的C語(yǔ)言,它的特點(diǎn)是編寫(xiě)效率高,但是對(duì)使用者的電腦水平要求高,最好是已經(jīng)會(huì)C語(yǔ)言了,站長(zhǎng)網(wǎng)站上也有單片機(jī)C語(yǔ)言教程,是磁動(dòng)力工作室網(wǎng)站明浩站長(zhǎng)編寫(xiě)的,站長(zhǎng)不會(huì)C語(yǔ)言,所以是從匯編語(yǔ)言開(kāi)始學(xué)編程的。我認(rèn)為初學(xué)單片機(jī)的人最好懂一些匯編語(yǔ)言,匯編語(yǔ)言可以直接控制單片機(jī)的資源,比如具體的單片機(jī)引腳、內(nèi)存地址,掌握這些也是很有必要的,學(xué)會(huì)匯編語(yǔ)言可以打下比較好的基礎(chǔ),很多參考書(shū)也是這么說(shuō)的,如果你是專(zhuān)業(yè)單片機(jī)開(kāi)發(fā)人員,那么C語(yǔ)言效率高,更適合你。
自學(xué)匯編語(yǔ)言,首先要學(xué)會(huì)看懂別人的匯編語(yǔ)言程序,可以將匯編語(yǔ)言的指令翻譯成自己容易理解的功能描述性文字,詳細(xì)注釋在程序后面,這樣便于自己以后引用或者別人容易看懂。站長(zhǎng)看到別人寫(xiě)的一些匯編程序的注釋都非常少,這非常不利于初學(xué)者學(xué)習(xí)和互相交流,所以只要是站長(zhǎng)寫(xiě)的程序都做了非常詳細(xì)的注釋。
學(xué)習(xí)匯編語(yǔ)言可以參考相關(guān)的書(shū),匯編語(yǔ)言有100多條指令,但是常用的指令也就二三十條,可以先記住常用的匯編指令,如果一時(shí)記不住可以打印在紙上慢慢熟悉,然后對(duì)別人的匯編程序再加以試驗(yàn)驗(yàn)證,最后還可以在自己理解的基礎(chǔ)上對(duì)匯編程序的相關(guān)參數(shù)修改再反復(fù)試驗(yàn)。
最后告訴朋友們一個(gè)秘密:學(xué)習(xí)單片機(jī)沒(méi)有捷徑!
自賽微電子技術(shù)論壇
【自學(xué)MCS-51單片機(jī)心得體會(huì)】相關(guān)文章:
單片機(jī)實(shí)驗(yàn)心得體會(huì)09-05
單片機(jī)實(shí)驗(yàn)心得體會(huì)04-05
單片機(jī)的實(shí)訓(xùn)心得體會(huì)04-01
單片機(jī)實(shí)訓(xùn)心得體會(huì)12-19
單片機(jī)學(xué)習(xí)心得體會(huì)11-29
單片機(jī)實(shí)訓(xùn)的心得體會(huì)11-25
單片機(jī)實(shí)訓(xùn)心得體會(huì)03-25