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