新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 怎么學(xué)好單片機(jī)

怎么學(xué)好單片機(jī)

作者: 時(shí)間:2016-11-24 來源:網(wǎng)絡(luò) 收藏
很多單片機(jī)初學(xué)者問我的第一句話就是怎樣才能學(xué)好單片機(jī)?對于這個(gè)問題我今天就我自己是如何開始學(xué)單片機(jī)、如何開始上手、如何開始熟練這個(gè)過程給大家講講。先說說單片機(jī),我們現(xiàn)在用的比較多的是8051單片機(jī),它的資料比較多,用的人也較多,市場也很大,51單片機(jī)內(nèi)部結(jié)構(gòu)比較簡單,非常適合初學(xué)者學(xué)習(xí),建議初學(xué)者將51單片機(jī)做為入門級芯片。單片機(jī)屬于硬件,我強(qiáng)烈不推薦大家使用單片機(jī)仿真軟件來學(xué)習(xí)單片機(jī),也可以肯定的告訴大家,使用仿真軟件是學(xué)不會(huì)單片機(jī)的,硬件只有把它擺在你的面前,親自操作它,才會(huì)有深刻的體會(huì),才能學(xué)明白它。單片機(jī)這門課是一科非常重視動(dòng)手實(shí)踐的科目,不能總是看書,但是也不能完全不看書,我們需要從書中大概了解一下單片機(jī)的各個(gè)功能寄存器,如果看的多了反而容易搞亂,尤其是現(xiàn)在市場上大多數(shù)講單片機(jī)的書一開始就講解較復(fù)雜的內(nèi)存、地址、存儲(chǔ)器什么的,更讓初學(xué)者感到不知所云、難以入門。簡單的說,當(dāng)我們使用單片機(jī)時(shí),實(shí)際上就是用我們自己編寫的軟件去控制單片機(jī)的各個(gè)功能寄存器,再簡單些,就是控制單片機(jī)哪些引腳的電平什么時(shí)候輸出高,什么時(shí)候輸出低。由這些高低變化的電平來控制外圍電路,實(shí)現(xiàn)我們需要的各個(gè)功能。
關(guān)于看書,大家只需大概了解單片機(jī)各引腳的功能,了解下寄存器。第一次、第二次你可能看不明白,但這不要緊,因?yàn)檫€缺少實(shí)際的感觀認(rèn)識。所以我總是說,學(xué)單片機(jī)看書看兩三天就夠了,而我們要把更多的時(shí)間放到實(shí)踐中去,這才是最關(guān)鍵的,在實(shí)踐的過程有不懂之處再查書,這樣記憶才深刻。關(guān)于實(shí)踐有兩種方法你可以選擇,方法一、你自己花錢買一塊單片機(jī)的學(xué)習(xí)板,不要求那種價(jià)格上千塊功能太太全的,對于初學(xué)者來說你買功能太全的板子,上面有很多東西你這輩子都用不著,我建議有流水燈、數(shù)碼管、獨(dú)立鍵盤、矩陣鍵盤、AD 和DA、液晶、蜂鳴器、IIC總線、有USB擴(kuò)展也最好,這些就差不多了。如果說我上面提到的這些功能你能熟練應(yīng)用,那可以說對于單片機(jī)本身的操作你已經(jīng)入門了,剩下的就是自己練習(xí)設(shè)計(jì)外圍電路,不斷的積累經(jīng)驗(yàn)。只要過了第一關(guān),后面的路就好走多了,萬事開頭難,大家都聽過。方法二、你身邊如果有單片機(jī)方面的高手,向他求助,讓他幫你搭個(gè)簡單的最小系統(tǒng)板。對于高手來說,做個(gè)單片機(jī)的最小系統(tǒng)板可能只需要幾分鐘的時(shí)間,而對于初學(xué)者可就難多了,因?yàn)橹挥袑τ布氐琢私饬?,你才能熟練的駕馭它。而如果你身邊沒有這樣的高手,又找不到可以幫助你的人,那我勸你還是選擇方法一,畢竟自己有一塊學(xué)習(xí)板要方便的多,以后做單片機(jī)類的小實(shí)驗(yàn)時(shí)經(jīng)常都能用得上,省時(shí)又省事。
有了單片機(jī)學(xué)習(xí)板之后你就要多練習(xí),最好是自己有臺電腦,少看電影,少打游戲,把學(xué)習(xí)板和電腦連好,打開調(diào)試軟件坐在電腦前,先學(xué)會(huì)怎么用調(diào)試軟件,然后從最簡單的流水燈實(shí)驗(yàn)做起,等你能讓那八個(gè)流水燈按照你的意愿隨意流動(dòng)時(shí)你已經(jīng)入門了,你會(huì)發(fā)現(xiàn)單片機(jī)是多么迷人的東西啊,太好玩了,這不是在學(xué)習(xí)知識,而是在玩,比起跑跑卡丁車,比起魔獸世界,要好玩的多的多。當(dāng)你編寫的程序按你的意愿實(shí)現(xiàn)時(shí),你比做任何事都開心,你會(huì)上癮的,真的,做電子設(shè)計(jì)的人真的會(huì)上癮。然后讓數(shù)碼管亮起來,這兩項(xiàng)會(huì)了后,你已經(jīng)不能自拔了。就是要這樣練習(xí),在寫程序的時(shí)候你肯定會(huì)遇到很多問題,而這時(shí)你再去翻書找,或是問別人,或是上網(wǎng)搜索。當(dāng)?shù)玫浇獯鸷竽銜?huì)記住一輩子的,知識必須應(yīng)用于現(xiàn)實(shí)生活中,解決實(shí)際問題,這樣才能發(fā)揮它的作用,你自己好好想想,上了這么多年大學(xué),天天上課,你在課堂上學(xué)到了什么?是不是為了期末考試而忙碌呢?考完得了90分,哈哈哈好高興啊,過一個(gè)假期,甚至過一個(gè)周末,然后忘的一干二凈,是不是?你學(xué)到什么了?我認(rèn)為這樣的生活沒有意義。但是我告訴你單片機(jī)一旦學(xué)會(huì),永遠(yuǎn)不會(huì)忘了。
另外我再說說關(guān)于用匯編語言還是C語言編程的問題。很多同學(xué)大一、二就開設(shè)了C語言的課,我也上過,我知道那時(shí)上課老師講的就是幾乘幾、幾加幾、求個(gè)階乘、畫個(gè)星星、編個(gè)月亮什么的。學(xué)完了有什么用?雖然考試我考了90分,可我心里比誰都明白,C語言到底是什么?它有什么用?到底它能做什么我一無所知。我們不能過多的評價(jià)當(dāng)今的高校教育,但我們必須得為自己負(fù)責(zé)任。讓你用C語言編單片機(jī)的程序你是不是就傻了?單片機(jī)編程用C語言或匯編語言都可以,但是我建議用C語言比較好,如果原來有C語言的基礎(chǔ)那學(xué)起來會(huì)更好,如果沒有,也可以邊學(xué)單片機(jī)邊學(xué)C語言,C語言很簡單,只是一門工具而已,我勸大家最好學(xué)好學(xué)精它,將來肯定用得著,要不然以后也得學(xué),你一點(diǎn)匯編都不會(huì)根本無所謂,但你一點(diǎn)C語言都不會(huì)那你將來會(huì)吃苦頭。給大家推薦一本書,作者譚浩強(qiáng),書名<程序設(shè)計(jì)>>,清華大學(xué)出版社,大家在學(xué)習(xí)本書的同時(shí)再參考上面提到的這本書更有利C語言學(xué)習(xí)。也根本沒必要再從頭把<程序設(shè)計(jì)>>學(xué)一邊,就算再學(xué)一邊也許結(jié)果還是和你現(xiàn)在一樣,最好的辦法就是用到哪里學(xué)哪里。匯編寫程序代碼效率高,但相對難度較大,而且很繁瑣,尤其是遇到算法方面的問題時(shí),根本是麻煩的不得了,現(xiàn)在單片機(jī)的主頻在不斷的提高,我們完全不需要那么高效率的代碼,因?yàn)橛懈哳l率的時(shí)鐘,單片機(jī)的ROM也在不斷的提高,足夠裝得下你用C語言寫的任何代碼,C語言的資料又多又好找,將來可移植性非常好,所以我勸大家用C語言。
總結(jié)上面,只要你有信心,做事能堅(jiān)持到底,有不成功絕不放棄的強(qiáng)烈意志,那學(xué)個(gè)單片機(jī)對你來說就是件非常容易的事。建議步驟:
1 、看書大概了解一下單片機(jī)結(jié)構(gòu),大概了解就行。不用都看懂,又不讓你出書。
2 、用學(xué)習(xí)板練習(xí)編寫程序,學(xué)單片機(jī)主要就是練編程序,遇到不會(huì)的再問人或查書。
3 、自己網(wǎng)上找些小電路類的資料練習(xí)設(shè)計(jì)外圍電路。焊好后自己調(diào)試,熟悉過程。
4 、自己完全設(shè)計(jì)具有個(gè)人風(fēng)格的電路、產(chǎn)品 … 你已經(jīng)是高手了。


關(guān)鍵詞: 單片機(jī)805

評論


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

關(guān)閉