學(xué)習(xí)使用單片機(jī)就是理解單片機(jī)硬件結(jié)構(gòu),在匯編或C語言中學(xué)會各種功能的初始化設(shè)置,以及實(shí)現(xiàn)各種功能的程序編制。
第一步:數(shù)字I/O的使用
使用按鈕輸入信號,發(fā)光二極管顯示輸出電平,就可以學(xué)習(xí)引腳的數(shù)字I/O功能,在按下某個按鈕后,某發(fā)光二極管發(fā)亮,這就是數(shù)字電路中組合邏輯的功能,雖
然很簡單,但是可以學(xué)習(xí)一般的單片機(jī)編程思想,例如,必須設(shè)置很多寄存器對引腳進(jìn)行初始化處理,才能使引腳具備有數(shù)字輸入和輸出輸出功能。每使用單片機(jī)的
一個功能,就要對控制該功能的寄存器進(jìn)行設(shè)置,這就是單片機(jī)編程的特點(diǎn),千萬不要怕麻煩,所有的單片機(jī)都是這樣。
第二步:定時器的使用
學(xué)會定時器的使用,就可以用單片機(jī)實(shí)現(xiàn)時序電路,時序電路的功能是強(qiáng)大的,在工業(yè)、家用電氣設(shè)備的控制中有很多應(yīng)用,例如,可以用單片機(jī)實(shí)現(xiàn)一個具有一個
按鈕的樓道燈開關(guān),該開關(guān)在按鈕按下一次后,燈亮3分鐘后自動滅,當(dāng)按鈕連續(xù)按下兩次后,燈常亮不滅,當(dāng)按鈕按下時間超過2s,則燈滅。數(shù)字集成電路可以
實(shí)現(xiàn)時序電路,可編程邏輯器件(PLD)可以實(shí)現(xiàn)時序電路,可編程控制器(PLC)也可以實(shí)現(xiàn)時序電路,但是只有單片機(jī)實(shí)現(xiàn)起來最簡單,成本最低。
定時器的使用是非常重要的,邏輯加時間控制是單片機(jī)使用的基礎(chǔ)。
第三步:中斷
單片機(jī)的特點(diǎn)是一段程序反復(fù)執(zhí)行,程序中的每個指令的執(zhí)行都需要一定的執(zhí)行時間,如果程序沒有執(zhí)行到某指令,則該指令的動作就不會發(fā)生,這樣就會耽誤很多
快速發(fā)生的事情,例如,按鈕按下時的下降沿。要使單片機(jī)在程序正常運(yùn)行過程中,對快速動作做出反應(yīng),就必須使用單片機(jī)的中斷功能,該功能就是在快速動作發(fā)
生后,單片機(jī)中斷正常運(yùn)行的程序,處理快速發(fā)生的動作,處理完成后,在返回執(zhí)行正常的程序。中斷功能使用中的困難是需要精確地知道什么時候不允許中斷發(fā)生
(屏蔽中斷)、什么時候允許中斷發(fā)生(開中斷),需要設(shè)置哪些寄存器才能使某
種中斷起作用,中斷開始時,程序應(yīng)該干什么,中斷完成后,程序應(yīng)該干什么等等 。
中斷學(xué)會后,就可以編制更復(fù)雜結(jié)構(gòu)的程序,這樣的程序可以干著一件事,監(jiān)視著一件事,一旦監(jiān)視的事情發(fā)生,就中斷正在干的事情,處理監(jiān)視的事情,當(dāng)然也可以監(jiān)視多個事情,形象的比喻,中斷功能使單片機(jī)具有吃著碗里的,看著鍋里的功能。
以上三步學(xué)會,就相當(dāng)于降龍十八掌武功,會了三掌了,可以勉強(qiáng)護(hù)身。
第四步:與PC機(jī)進(jìn)行RS232通信
單片機(jī)都有USART接口,特別是MSP430系列中很多型號,都具有兩個USART接口。USART接口不能直接與PC機(jī)的RS232接口連接,它們之間的邏輯電平不同,需要使用一個MAX3232芯片進(jìn)行電平轉(zhuǎn)換。
USART接口的使用是非常重要的,通過該接口,可以使單片機(jī)與PC機(jī)之間交換信息,雖然RS232通信并不先進(jìn),但是對于接口的學(xué)習(xí)是非常重要的。正確
使用USART接口,需要學(xué)習(xí)通信協(xié)議,PC機(jī)的RS232接口編程等等知識。試想,單片機(jī)實(shí)驗(yàn)板上的數(shù)據(jù)顯示在PC機(jī)監(jiān)視器上,而PC機(jī)的鍵盤信號可以
在單片機(jī)實(shí)驗(yàn)板上得到顯示,將是多么有意思的事情啊!
第五步:學(xué)會A/D轉(zhuǎn)換
MSP430單片機(jī)帶有多通道12位A/D轉(zhuǎn)換器,通過這些A/D轉(zhuǎn)換器可以使單片機(jī)操作模擬量,顯示和檢測電壓、電流等信號。學(xué)習(xí)時注意模擬地與數(shù)字地、參考電壓、采樣時間,轉(zhuǎn)換速率,轉(zhuǎn)換誤差等概念。
使用A/D轉(zhuǎn)換功能的簡單的例子是設(shè)計一個電壓表。
第六步:學(xué)會PCI、I2C接口和液晶顯示器接口
這些接口的使用可以使單片機(jī)更容易連接外部設(shè)備,在擴(kuò)展單片機(jī)功能方面非常重要。
第七步:學(xué)會比較、捕捉、PWM功能
這些功能可以使單片機(jī)能夠控制電機(jī),檢測轉(zhuǎn)速信號,實(shí)現(xiàn)電機(jī)調(diào)速器等控制起功能。
如果以上七步都學(xué)會,就可以設(shè)計一般的應(yīng)用系統(tǒng),相當(dāng)于學(xué)會十招降龍十八掌,可以出手攻擊了。
第八步:學(xué)習(xí)USB接口、TCP/IP接口、各種工業(yè)總線的硬件與軟件設(shè)計
學(xué)習(xí)USB接口、TCP/IP接口、各種工業(yè)總線的硬件與軟件設(shè)計是非常重要的,因?yàn)檫@是當(dāng)前產(chǎn)品開發(fā)的發(fā)展方向。
到此為止,相當(dāng)于學(xué)會15招降龍十八掌,但還不到打遍天下無敵手的境界。即使如此,也算是單片機(jī)大蝦了。順便說一句,MSP430單片機(jī)的技術(shù)支持是非常好的,負(fù)責(zé)任的工程師大蝦會在關(guān)鍵時候,挺身而出,使你化險為夷。
達(dá)到理想境界
達(dá)到理想境界是困難的,在知識爆炸的年代里,即使天天學(xué)習(xí),也很難跟上科學(xué)技術(shù)的發(fā)展,更何況每天還要為找工作、提職稱、寫論文、搞科研經(jīng)費(fèi)、政治學(xué)習(xí)、
買房、購車、柴、米、油、鹽、醬、醋、茶等忙活,那么,還需要學(xué)習(xí)嗎?回答是肯定的,人就是為興趣而活,愛好單片機(jī)才能學(xué)會單片機(jī),不為什么目的,只為學(xué)
習(xí)的樂趣,當(dāng)然要是興趣也能賺錢,則是一舉兩得。
學(xué)會使用單片機(jī)其實(shí)是學(xué)會了使用工具,充其量是個補(bǔ)鍋、鋦碗的匠人。如果再要進(jìn)步,就需要在信號識別、控制理論、數(shù)字信號處理理論、通信理論等方面下工
夫,只有這樣,才能開發(fā)出高水平、高附加值、具有知識產(chǎn)權(quán)的產(chǎn)品,達(dá)到熟練運(yùn)用降龍十八掌,打遍天下無敵手的至高境界。
單片機(jī)是DSP、嵌入式操作系統(tǒng)等高級硬件產(chǎn)品開發(fā)的基礎(chǔ)。如果想要進(jìn)一步的發(fā)展,必須學(xué)會單片機(jī)的開發(fā)。
如果在學(xué)會單片機(jī)的基礎(chǔ)之上,學(xué)會CPLD和FPGA的開發(fā)以及硬件描述語言,就可以在高速產(chǎn)品的開發(fā)方面獲得一杯羹。