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