學習使用單片機就是理(lǐ)解單片機硬件結構,以及內(nèi)部資源的應用,在彙編或C語言中學會(huì)各種功能的初始化設置,以及實現各種功能的程序編制(zhì)。
第一步:數(shù)字I/O的使用
使用按鈕輸入信号,發光二極管顯示輸出電(diàn)平,就可(kě)以學習引腳的數(shù)字I/O功能,在按下某個(gè)按鈕後,某發光二極管發亮,這就是數(shù)字電(diàn)路中組合邏輯的功能,雖然很(hěn)簡單,但(dàn)是可(kě)以學習一般的單片機編程思想,例如,必須設置很(hěn)多(duō)寄存器(qì)對引腳進行(xíng)初始化處理(lǐ),才能使引腳具備有(yǒu)數(shù)字輸入和(hé)輸出輸出功能。每使用單片機的一個(gè)功能,就要對控制(zhì)該功能的寄存器(qì)進行(xíng)設置,這就是單片機編程的特點,千萬不要怕麻煩,所有(yǒu)的單片機都是這樣。
第二步:定時(shí)器(qì)的使用
學會(huì)定時(shí)器(qì)的使用,就可(kě)以用單片機實現時(shí)序電(diàn)路,時(shí)序電(diàn)路的功能是強大(dà)的,在工業、家(jiā)用電(diàn)氣設備的控制(zhì)中有(yǒu)很(hěn)多(duō)應用,例如,可(kě)以用單片機實現一個(gè)具有(yǒu)一個(gè)按鈕的樓道(dào)燈開(kāi)關,該開(kāi)關在按鈕按下一次後,燈亮3分鍾後自動滅,當按鈕連續按下兩次後,燈常亮不滅,當按鈕按下時(shí)間(jiān)超過2s,則燈滅。數(shù)字集成電(diàn)路可(kě)以實現時(shí)序電(diàn)路,可(kě)編程邏輯器(qì)件(PLD)可(kě)以實現時(shí)序電(diàn)路,可(kě)編程控制(zhì)器(qì)(PLC)也可(kě)以實現時(shí)序電(diàn)路,但(dàn)是隻有(yǒu)單片機實現起來(lái)最簡單,成本最低(dī)。定時(shí)器(qì)的使用是非常重要的,邏輯加時(shí)間(jiān)控制(zhì)是單片機使用的基礎。
第三步:中斷
單片機的特點是一段程序反複執行(xíng),程序中的每個(gè)指令的執行(xíng)都需要一定的執行(xíng)時(shí)間(jiān),如果程序沒有(yǒu)執行(xíng)到某指令,則該指令的動作(zuò)就不會(huì)發生(shēng),這樣就會(huì)耽誤很(hěn)多(duō)快速發生(shēng)的事情,例如,按鈕按下時(shí)的下降沿。要使單片機在程序正常運行(xíng)過程中,對快速動作(zuò)做(zuò)出反應,就必須使用單片機的中斷功能,該功能就是在快速動作(zuò)發生(shēng)後,單片機中斷正常運行(xíng)的程序,處理(lǐ)快速發生(shēng)的動作(zuò),處理(lǐ)完成後,在返回執行(xíng)正常的程序。中斷功能使用中的困難是需要精确地知道(dào)什麽時(shí)候不允許中斷發生(shēng)(屏蔽中斷)、什麽時(shí)候允許中斷發生(shēng)(開(kāi)中斷),需要設置哪些(xiē)寄存器(qì)才能使某 種中斷起作(zuò)用,中斷開(kāi)始時(shí),程序應該幹什麽,中斷完成後,程序應該幹什麽等等 。
中斷學會(huì)後,就可(kě)以編制(zhì)更複雜結構的程序,這樣的程序可(kě)以幹着一件事,監視(shì)着一件事,一旦監視(shì)的事情發生(shēng),就中斷正在幹的事情,處理(lǐ)監視(shì)的事情,當然也可(kě)以監視(shì)多(duō)個(gè)事情,形象的比喻,中斷功能使單片機具有(yǒu)吃(chī)着碗裏的,看着鍋裏的功能。
第四步:與PC機進行(xíng)RS232通(tōng)信
單片機都有(yǒu)USART接口,特别是MSP430系列中很(hěn)多(duō)型号,都具有(yǒu)兩個(gè)USART接口。USART接口不能直接與PC機的RS232接口連接,它們之間(jiān)的邏輯電(diàn)平不同,需要使用一個(gè)MAX3232芯片進行(xíng)電(diàn)平轉換。
USART接口的使用是非常重要的,通(tōng)過該接口,可(kě)以使單片機與PC機之間(jiān)**信息,雖然RS232通(tōng)信并不先進,但(dàn)是對于接口的學習是非常重要的。正确使用USART接口,需要學習通(tōng)信協議,PC機的RS232接口編程等等知識。試想,單片機實驗闆上(shàng)的數(shù)據顯示在PC機監視(shì)器(qì)上(shàng),而PC機的鍵盤信号可(kě)以在單片機實驗闆上(shàng)得(de)到顯示,将是多(duō)麽有(yǒu)意思的事情!
第五步:學會(huì)A/D轉換
MAP430單片機帶有(yǒu)多(duō)通(tōng)道(dào)12位A/D轉換器(qì),通(tōng)過這些(xiē)A/D轉換器(qì)可(kě)以使單片機操作(zuò)模拟量,顯示和(hé)檢測電(diàn)壓、電(diàn)流等信号。學習時(shí)注意模拟地與數(shù)字地、參考電(diàn)壓、采樣時(shí)間(jiān),轉換速率,轉換誤差等概念。使用A/D轉換功能的簡單的例子是設計(jì)一個(gè)電(diàn)壓表。
第六步:學會(huì)PCI、I2C接口和(hé)液晶顯示器(qì)接口
這些(xiē)接口的使用可(kě)以使單片機更容易連接外部設備,在擴展單片機功能方面非常重要。
第七步:學會(huì)比較、捕捉、PWM功能
這些(xiē)功能可(kě)以使單片機能夠控制(zhì)電(diàn)機,檢測轉速信号,實現電(diàn)機調速器(qì)等控制(zhì)起功能。
第八步:學習USB接口、TCP/IP接口、各種工業總線的硬件與軟件設計(jì)。
學習USB接口、TCP/IP接口、各種工業總線的硬件與軟件設計(jì)是非常重要的,因為(wèi)這是當前産品開(kāi)發的發展方向。