學(xué)單片機該怎樣入門(mén)
先說(shuō)說(shuō)單片機,一般我們現在用的比較多的的MCS-51的單片機,它的資料比較多,用的人也很多,市場(chǎng)也很大.就我個(gè)人的體會(huì )怎么樣才能更快的學(xué)會(huì )單片機這門(mén)課.單片機這門(mén)課是一項非常重視動(dòng)手實(shí)踐的科目,不能總是看書(shū),但是學(xué)習它首先必須得看書(shū),因為從書(shū)中你需要大概了解一下,單片機的各個(gè)功能寄存器,而說(shuō)明白點(diǎn),我們使用單片機就是用軟件去控制單片機的各個(gè)功能寄存器,再說(shuō)明白點(diǎn),就是控制單片機那些管腳的電平什么時(shí)候輸出高,什么時(shí)候輸出低,由這些高低電平的變化來(lái)控制你的系統板,實(shí)現我們需要的各個(gè)功能至于看書(shū),只需大概了解單片機各管腳都是干什么的?能實(shí)現什么樣的功能?第一次,第二次你可能看不明白,但這不要緊,因為還缺少實(shí)際的感觀(guān)認識。所以我總是說(shuō),學(xué)單片機看書(shū)看兩三天的就夠了,看小說(shuō)你一天能看五六本, 看單片機你兩三天看兩三遍就夠了可以不用仔細的看。推薦一本書(shū),就這一本就足夠,書(shū)名是《新編MCS-51單片機應用設計》,是哈爾濱工業(yè)大學(xué)出版社出的的,
方法二:
你身邊如果有單片機方面的高手,向他求助,讓他幫你搭個(gè)簡(jiǎn)單的最小系統板。對于高手來(lái)說(shuō),做個(gè)單片機的最小系統板只需要一分鐘的時(shí)間,而對于初學(xué)者可就難多了,因為只有對硬件了解了,才能熟練運用。而如果你身邊沒(méi)有這樣的高手,又找不到可以幫助你的人,那我勸你最好是自己買(mǎi)上一塊,畢竟自己有一塊要方便的多,以后做單片機類(lèi)的小實(shí)驗時(shí)都能用得上,還省事。
有了單片機學(xué)習板之后你就要多練習,最好是自己有臺電腦,一天少看電影,少打游戲,把學(xué)習板和電腦連好,打開(kāi)調試軟件坐在電腦前,先學(xué)會(huì )怎么用調試軟件,然后從最簡(jiǎn)單的流水燈實(shí)驗做起,等你能讓那八個(gè)流水燈按照你的意愿隨意流動(dòng)時(shí)你已經(jīng)入門(mén)了,你會(huì )發(fā)現單片機是多么迷人的東西啊,太好玩了,這不是在學(xué)習知識,而是在玩,當你編寫(xiě)的程序按你的意愿實(shí)現時(shí)你比做什么事都開(kāi)心,你會(huì )上癮的,真的。做電子類(lèi)的人真的會(huì )上癮。然后讓數碼管亮起來(lái),這兩項會(huì )了后,你已經(jīng)不能自拔了,你已經(jīng)開(kāi)始考慮你這輩子要走哪一行了就是要這樣練習,在寫(xiě)程序的時(shí)候你肯定會(huì )遇到很多問(wèn)題,而這時(shí)你再去翻書(shū)找,或是問(wèn)別人,當得到解答后你會(huì )記住一輩子的,知識必須用于現實(shí)生活中,解決實(shí)際問(wèn)題,這樣才能發(fā)揮它的作用,你自己好好想想,上了這么多年大學(xué),天天上課,你在課堂上學(xué)到了什么?是不是為了期末考試而忙碌呢?考完得了90分,哈哈哈好高興啊,下學(xué)期開(kāi)學(xué)回來(lái)忘的一干二凈,是不是?你學(xué)到什么了但是我告訴你單片機一旦學(xué)會(huì ),永遠不會(huì )忘了。另外我再說(shuō)說(shuō)用匯編和C語(yǔ)言編程的問(wèn)題。很多同學(xué)大一二就開(kāi)設了C語(yǔ)言的課,我也上過(guò)我知道那時(shí)天天就是幾乘幾,幾加幾啊,求個(gè)階乘啊。學(xué)完了有什么用?讓你用C語(yǔ)言編單片機的程序你是不是就傻了?書(shū)上的東西我們必須要會(huì )運用。單片機編程用C語(yǔ)言或匯編語(yǔ)言都可以,但是我建議用C語(yǔ)言比較好,如果原來(lái)有C語(yǔ)言的基礎那學(xué)起來(lái)會(huì )更好,如果沒(méi)有,也可以邊學(xué)單片機邊學(xué)C語(yǔ)言,C語(yǔ)言也挺簡(jiǎn)單,只是一門(mén)工具而已,我勸你最好學(xué)會(huì ),將來(lái)肯定用得著(zhù),要不你以后也得學(xué),你一點(diǎn)匯編都不會(huì )根本無(wú)所謂,但你一點(diǎn)C語(yǔ)言都不會(huì )那你將來(lái)會(huì )吃苦頭。匯編寫(xiě)程序代碼效率高,但相對難度較大,而且很羅嗦,尤其是遇到算法方面的問(wèn)題時(shí),根本是麻煩的不得了,現在單片機的主頻在不斷的提高,我們完全不需要那么高效率的代碼,因為有高頻率的時(shí)鐘,單片機的ROM也在不斷的提高,足夠裝得下你用C語(yǔ)言寫(xiě)的任何代碼,C語(yǔ)言的資料又多又好找將來(lái)可移植性非常好,只需要變一個(gè)IO口寫(xiě)個(gè)溫度傳感器的程序在哪里都能用,所以我勸大家用C語(yǔ)言。
接下來(lái)的話(huà),就是編程,說(shuō)一下編程的學(xué)習過(guò)程,一個(gè)最好的辦法就是模仿,你先找到一個(gè)別人的現成的程序能夠編譯生成代碼,下載進(jìn)去,看到現象,之后再自己寫(xiě),如果有錯誤,對照正確的,比較一下,成功了之后,再往下學(xué)習.最煩的就是一種人,把別人的程序拿過(guò)來(lái),直接編譯,下載了之后,以為自己就會(huì )了,但是要讓自己動(dòng)手寫(xiě)的時(shí)候,又寫(xiě)不出來(lái)了,哪怕是抄寫(xiě),也要熟悉一下的.這是一個(gè)必須的過(guò)程,最后需要達到一個(gè)什么程度呢那就是單片機最基本的定時(shí)器、中斷、I/O口可以直接拿過(guò)來(lái)就寫(xiě),不需要再翻書(shū)或者找別人的代碼了。有的人說(shuō)匯編的直接易于理解,但是你要是寫(xiě)100行的匯編可以,1000行以上呢? 做一個(gè)乘除法,匯編就不行了,C語(yǔ)言通用,移植方便,你學(xué)匯編,51單片機一套,avr單片機又是一套,msp430還不一樣,但是C語(yǔ)言都是一樣的,算法拿過(guò)來(lái)就可以了,改一下I/O口就可以用了,開(kāi)發(fā)方便。
最后,給大家算一下,現在學(xué)習單片機的成本,以前我學(xué)習的時(shí)候,需要購買(mǎi)編程器等等,現在不用了。入門(mén)來(lái)講,51單片機最好了,資料多,通用,簡(jiǎn)單.市場(chǎng)上現在比較好的有S系列的,C51系列的,STC系列的,當然了還有各個(gè)公司的增強型的.從學(xué)習的角度講,推S系列和STC系列,可以ISP下載,我現在用的STC系列,最小開(kāi)發(fā)系統:
單片機一個(gè) 8元
Max232一個(gè) 3元
串口線(xiàn)一根 6元(可以自制,就是3根線(xiàn))
阻容元件 3元
晶 振 1元
發(fā)光二極管 2元
萬(wàn)能板 3元
總結上面,只要你有信心,做事能堅持到底,有不成功不放棄的強烈意志,對于學(xué)個(gè)單片機來(lái)說(shuō)就是件非常容易的事啦。
步
1.找本書(shū)大概了解一下單片機結構,大概了解就行。不用都看懂,又不讓你出書(shū)的。(三天)
2.自己網(wǎng)上找些小電路類(lèi)的資料練習設計外圍電路。焊好后自己調試,熟悉過(guò)程。 (十天)
3.找學(xué)習板練習編寫(xiě)程序,學(xué)單片機就是練編程序,遇到不會(huì )的再問(wèn)人或查書(shū)。我當初就是買(mǎi)了一塊開(kāi)發(fā)板,二十天就搞定了。
4.自己完全設計具有個(gè)人風(fēng)格的電路,產(chǎn)品.....你已經(jīng)是高手了....看到了嗎?下功夫一個(gè)多月你就能成為高手,我就講這么多了,學(xué)不學(xué)得會(huì ),下不下得了功夫就看你的了!
評論