先說說單片機(jī),一般我們現(xiàn)在用的比較多的的mcs-51的單片機(jī),它的資料比較多,用的人也很多,市場也很大。就我個(gè)人的體會(huì)怎么樣才能更快的學(xué)會(huì)單片機(jī)這門課。單片機(jī)這門課是一項(xiàng)非常重視動(dòng)手實(shí)踐的科目,不能總是看書,但是學(xué)習(xí)它首先必須得看書,因?yàn)閺臅心阈枰蟾帕私庖幌拢瑔纹瑱C(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é)出版社出的的,作者是張毅剛。大概了解一下書上的內(nèi)容,然后實(shí)踐,這是非常關(guān)鍵的,如果說學(xué)單片機(jī)你不實(shí)踐那是不可能學(xué)會(huì)的,關(guān)于實(shí)踐有兩種方法你可以選擇,一種方法:你自己花錢買一塊單片機(jī)的學(xué)習(xí)板,不要求功能太全的,對于初學(xué)者來說你買功能非常多的那種板子,上面有很多東西你這輩子都用不著,我建議有流水燈、數(shù)碼管、獨(dú)立鍵盤、矩陣鍵盤、ad或da(原理一樣)、液晶、蜂鳴器,這就差不多了。如果上面我提到的這些,你能熟練應(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)橹挥袑τ布私饬耍拍苁炀氝\(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ì)吃苦頭。匯編寫程序代碼效率高,但相對難度較大,而且很羅嗦,尤其是遇到算法方面的問題時(shí),根本是麻煩的不得了,現(xiàn)在單片機(jī)的主頻在不斷的提高,我們完全不需要那么高效率的代碼,因?yàn)橛懈哳l率的時(shí)鐘,單片機(jī)的rom也在不斷的提高,足夠裝得下你用c語言寫的任何代碼,c語言的資料又多又好找,將來可移植性非常好,只需要變一個(gè)io口寫個(gè)溫度傳感器的程序在哪里都能用,所以我勸大家用c語言。
總結(jié)上面,只要你有信心,做事能堅(jiān)持到底,有不成功不放棄的強(qiáng)烈意志,那學(xué)個(gè)單片機(jī)來說就是件非常容易的事。