很多想學(xué)單片機(jī)的人問(wèn)的第一句話(huà)就是:“怎樣才能學(xué)好單片機(jī)”?今天和大家討論對(duì)于如何開(kāi)始學(xué)單片機(jī)、如何開(kāi)始上手、如何開(kāi)始熟練這些問(wèn)題。
第一關(guān):看書(shū)了解單片機(jī)功能
先說(shuō)說(shuō)單片機(jī),一般我們現(xiàn)在用的比較多的的MCS-51的單片機(jī),它的資料比較多,用的人也很多,市場(chǎng)也很大。怎么樣才能更快的學(xué)會(huì)單片機(jī)這門(mén)課?單片機(jī)這門(mén)課是一項(xiàng)非常重視動(dòng)手實(shí)踐的科目,不能總是看書(shū),但是學(xué)習(xí)它首先必須得看書(shū),因?yàn)閺臅?shū)中你需要大概了解一下,單片機(jī)的各個(gè)功能寄存器。
換句話(huà)說(shuō),我們使用單片機(jī)就是用軟件去控制單片機(jī)的各個(gè)功能寄存器,再說(shuō)明白點(diǎn),就是控制單片機(jī)那些管腳的電平什么時(shí)候輸出高,什么時(shí)候輸出低,由這些高低電平的變化來(lái)控制你的系統(tǒng)板,實(shí)現(xiàn)我們需要的各個(gè)功能。
至于看書(shū),只需大概了解單片機(jī)各管腳都是干什么的,能實(shí)現(xiàn)什么樣的功能,開(kāi)始看書(shū)時(shí)你可能看不明白,但這不要緊,因?yàn)檫€缺少實(shí)際的感觀認(rèn)識(shí)。所以學(xué)單片機(jī)看書(shū)看兩三天的就夠了,兩三天內(nèi)看兩三遍不用仔細(xì)的看,大概了解一下書(shū)上的內(nèi)容,然后實(shí)踐,這是非常關(guān)鍵的。
第二關(guān):實(shí)踐練習(xí)單片機(jī)
你不實(shí)踐那是不可能學(xué)會(huì)單片機(jī)的,關(guān)于實(shí)踐有兩種方法可以選擇,方法一:自己花錢(qián)買(mǎi)一塊單片機(jī)的學(xué)習(xí)板,不需要功能太全,對(duì)于初學(xué)者來(lái)說(shuō)功能非常多的板子,上面有很多東西你這輩子都用不著。
建議有流水燈、數(shù)碼管、獨(dú)立鍵盤(pán)、矩陣鍵盤(pán)、AD或DA(原理一樣)、液晶、蜂鳴器,有這些就差不多了。如果上面提到的這些,你能熟練應(yīng)用,那可以說(shuō)對(duì)于單片機(jī)方面的硬件你已經(jīng)入門(mén)了,剩下的就是自己練習(xí)設(shè)計(jì)電路,不斷的積累經(jīng)驗(yàn)。
方法二:你身邊如果有單片機(jī)方面的高手,可以向他求助,讓他幫助你搭個(gè)簡(jiǎn)單的最小系統(tǒng)板。對(duì)于高手而言,做個(gè)單片機(jī)的最小系統(tǒng)板只需要一分鐘的時(shí)間,而對(duì)于初學(xué)者可就難多了,因?yàn)橹挥袑?duì)硬件了解了才能熟練運(yùn)用。而如果找不到可以幫助你的人,那么最好是自己買(mǎi)上一塊,畢竟自己有一塊要方便的多,在以后做單片機(jī)類(lèi)的小實(shí)驗(yàn)時(shí)也都能用得上。
有了單片機(jī)學(xué)習(xí)板之后要多練習(xí)。把學(xué)習(xí)板和電腦連好,打開(kāi)調(diào)試軟件坐在電腦前,先學(xué)會(huì)怎么用調(diào)試軟件,然后從最簡(jiǎn)單的流水燈實(shí)驗(yàn)做起,等你能讓那八個(gè)流水燈按照你的意愿隨意流動(dòng)時(shí)你已經(jīng)入門(mén)了,然后讓數(shù)碼管亮起來(lái),這兩項(xiàng)會(huì)了后,也許你就會(huì)開(kāi)始考慮你這輩子要走哪一行了。
就是要這樣練習(xí),在寫(xiě)程序的時(shí)候你肯定會(huì)遇到很多問(wèn)題,而這時(shí)再去翻書(shū)找或是問(wèn)別人,當(dāng)?shù)玫浇獯鸷竽銜?huì)記住一輩子,知識(shí)必須用于現(xiàn)實(shí)生活中,解決實(shí)際問(wèn)題,這樣才能發(fā)揮它的作用。
第三關(guān):學(xué)習(xí)編程語(yǔ)言
另外再說(shuō)說(shuō)用匯編和C語(yǔ)言編程的問(wèn)題,單片機(jī)編程用C語(yǔ)言或匯編語(yǔ)言都可以,但是建議用C語(yǔ)言比較好,如果原來(lái)有C語(yǔ)言的基礎(chǔ)那學(xué)起來(lái)會(huì)更好,如果沒(méi)有,也可以邊學(xué)單片機(jī)邊學(xué)C語(yǔ)言,你一點(diǎn)匯編都不會(huì)可能根本無(wú)所謂,但你一點(diǎn)C語(yǔ)言都不會(huì)那將來(lái)也許會(huì)吃苦頭。
匯編寫(xiě)程序代碼效率高,但相對(duì)難度較大而且很繁瑣,尤其是遇到算法方面的問(wèn)題時(shí),現(xiàn)在單片機(jī)的主頻在不斷的提高,我們完全不需要那么高效率的代碼。因?yàn)橛懈哳l率的時(shí)鐘,單片機(jī)的ROM也在不斷的提高,足夠裝得下C語(yǔ)言寫(xiě)的任何代碼,并且C語(yǔ)言的資料又多又好找,將來(lái)可移植性非常高,只需要改變IO口,寫(xiě)個(gè)溫度傳感器的程序在哪里都能用。
學(xué)習(xí)編程步驟:
找本書(shū)大概了解一下單片機(jī)結(jié)構(gòu),大概了解就行,不需要都看懂(三天)
找學(xué)習(xí)板練習(xí)編寫(xiě)程序,學(xué)單片機(jī)就是練編程序,遇到不會(huì)的再問(wèn)人或查書(shū)(二十天)
網(wǎng)上找些小電路類(lèi)的資料練習(xí)設(shè)計(jì)外圍電路,焊好后自己調(diào)試,熟悉過(guò)程 (十天)
單片機(jī)的學(xué)習(xí)實(shí)踐步驟
使用單片機(jī)就是理解單片機(jī)硬件結(jié)構(gòu),以及內(nèi)部資源的應(yīng)用,在匯編或C語(yǔ)言中學(xué)會(huì)各種功能的初始化設(shè)置,以及實(shí)現(xiàn)各種功能的程序編制。
1、I/O的使用
使用按鈕輸入信號(hào),發(fā)光二極管顯示輸出電平,就可以學(xué)習(xí)引腳的數(shù)字I/O功能,在按下某個(gè)按鈕后,某發(fā)光二極管發(fā)亮,這就是數(shù)字電路中組合邏輯的功能。
雖然很簡(jiǎn)單,但是可以學(xué)習(xí)一般的單片機(jī)編程思想,例如,必須設(shè)置很多寄存器對(duì)引腳進(jìn)行初始化處理,才能使引腳具備有數(shù)字輸入和輸出輸出功能。每使用單片機(jī)的一個(gè)功能,就要對(duì)控制該功能的寄存器進(jìn)行設(shè)置,這就是單片機(jī)編程的特點(diǎn)。
2、定時(shí)器的使用
學(xué)會(huì)定時(shí)器的使用,就可以用單片機(jī)實(shí)現(xiàn)時(shí)序電路,時(shí)序電路的功能是強(qiáng)大的,在工業(yè)、家用電氣設(shè)備的控制中有很多應(yīng)用,例如,可以用單片機(jī)實(shí) 現(xiàn)一個(gè)具有一個(gè)按鈕的樓道燈開(kāi)關(guān),該開(kāi)關(guān)在按鈕按下一次后,燈亮3分鐘后自動(dòng)滅,當(dāng)按鈕連續(xù)按下兩次后,燈常亮不滅,當(dāng)按鈕按下時(shí)間超過(guò)2s,則燈滅。
數(shù)字集成電路可以實(shí)現(xiàn)時(shí)序電路,可編程邏輯器件(PLD)可以實(shí)現(xiàn)時(shí)序電路,可編程控制器(PLC)也可以實(shí)現(xiàn)時(shí)序電路,但是只有單片機(jī)實(shí)現(xiàn)起來(lái)最簡(jiǎn)單,成本最低。定時(shí)器的使用是非常重要的,邏輯加時(shí)間控制是單片機(jī)使用的基礎(chǔ)。
3、中斷
單片機(jī)的特點(diǎn)是一段程序反復(fù)執(zhí)行,程序中的每個(gè)指令的執(zhí)行都需要一定的執(zhí)行時(shí)間,如果程序沒(méi)有執(zhí)行到某指令,則該指令的動(dòng)作就不會(huì)發(fā)生,這樣就會(huì)耽誤很多快速發(fā)生的事情。
要使單片機(jī)在程序正常運(yùn)行過(guò)程中,對(duì)快速動(dòng)作做出反應(yīng),就必須使用單片機(jī)的中斷功能。該功能就是在快速動(dòng)作發(fā)生后,單片機(jī)中斷正常運(yùn)行的程序,處理快速發(fā)生的動(dòng)作,處理完成后,在返回執(zhí)行正常的程序。
中斷功能使用中的困難是:需要精確地知道什么時(shí)候不允許中斷發(fā)生(屏蔽中斷)、什么時(shí)候允許中斷發(fā)生(開(kāi)中斷)、需要設(shè)置哪些寄存器才能使某種中斷起作用、中斷開(kāi)始時(shí)程序應(yīng)該干什么、中斷完成后程序應(yīng)該干什么等等。
單片機(jī)都有USART接口,特別是MSP430系列中很多型號(hào),都具有兩個(gè)USART接口。USART接口不能直接與PC機(jī)的RS232接口連接,它們之間的邏輯電平不同,需要使用一個(gè)MAX3232芯片進(jìn)行電平轉(zhuǎn)換。
USART接口的使用是非常重要的,通過(guò)該接口可以使單片機(jī)與PC機(jī)之間交換信息,雖然RS232通信并不先進(jìn),但是對(duì)于接口的學(xué)習(xí)是非常重要的。正確使用USART接口,需要學(xué)習(xí)通信協(xié)議,PC機(jī)的RS232接口編程等等知識(shí)。試想,單片機(jī)實(shí)驗(yàn)板上的數(shù)據(jù)顯示在PC機(jī)監(jiān)視器上,而PC機(jī)的鍵盤(pán)信號(hào)可以在單片機(jī)實(shí)驗(yàn)板上得到顯示,是多么有趣的事情。
5、學(xué)會(huì)A/D轉(zhuǎn)換
MAP430單片機(jī)帶有多通道12位A/D轉(zhuǎn)換器,通過(guò)這些A/D轉(zhuǎn)換器可以使單片機(jī)操作模擬量,顯示和檢測(cè)電壓、電流等信號(hào)。學(xué)習(xí)時(shí)注意模擬地與數(shù)字地、參考電壓、采樣時(shí)間,轉(zhuǎn)換速率,轉(zhuǎn)換誤差等概念。使用A/D轉(zhuǎn)換功能的簡(jiǎn)單的例子是設(shè)計(jì)一個(gè)電壓表。
6、學(xué)會(huì)PCI、I2C接口和液晶顯示器接口
這些接口的使用可以使單片機(jī)更容易連接外部設(shè)備,在擴(kuò)展單片機(jī)功能方面非常重要。
7、學(xué)會(huì)比較、捕捉、PWM功能
這些功能可以使單片機(jī)能夠控制電機(jī),檢測(cè)轉(zhuǎn)速信號(hào),實(shí)現(xiàn)電機(jī)調(diào)速器等控制起功能。如果以上七步都學(xué)會(huì),就可以設(shè)計(jì)一般的應(yīng)用系統(tǒng)了。
當(dāng)然,每個(gè)人的方可能是不一樣的,歡迎過(guò)來(lái)人說(shuō)說(shuō)自己的經(jīng)歷!
-
單片機(jī)
+關(guān)注
關(guān)注
6063文章
44925瀏覽量
646997 -
寄存器
+關(guān)注
關(guān)注
31文章
5421瀏覽量
123353
原文標(biāo)題:如何上手學(xué)習(xí)單片機(jī)?又快又好?
文章出處:【微信號(hào):WW_CGQJS,微信公眾號(hào):傳感器技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
ISP單片機(jī)實(shí)驗(yàn)板學(xué)習(xí)

PIC單片機(jī)教程_PIC單片機(jī)學(xué)習(xí)要點(diǎn)

單片機(jī)視頻教程01:如何學(xué)習(xí)單片機(jī)

新手學(xué)習(xí)單片機(jī)的首選:51單片機(jī)
應(yīng)該如何學(xué)習(xí)單片機(jī)?單片機(jī)的學(xué)習(xí)方法總結(jié)

51單片機(jī)是什么?應(yīng)該如何學(xué)習(xí)51單片機(jī)
單片機(jī)入門(mén)學(xué)習(xí)教程單片機(jī)的詳細(xì)概述

如何快速學(xué)習(xí)單片機(jī)?聊聊單片機(jī)學(xué)習(xí)基礎(chǔ)

如何學(xué)習(xí)STC單片機(jī)

【單片機(jī)學(xué)習(xí)】01初識(shí)單片機(jī)

評(píng)論