我們?yōu)槭裁匆獙W(xué)單片機(jī)?
單片機(jī)是大專(zhuān)學(xué)校電類(lèi)專(zhuān)業(yè)的一門(mén)普通課,有些學(xué)校甚至把它列為選修課,在眾多課程中,沒(méi)有顯出它有多么重要。為什么要學(xué)習(xí)它呢?電類(lèi)專(zhuān)業(yè)有很多專(zhuān)業(yè)課,這些專(zhuān)業(yè)課非常重要,是各個(gè)專(zhuān)業(yè)存在的必需課程,學(xué)完這些課程可以使學(xué)習(xí)者成為大學(xué)者的繼承人,市場(chǎng)對(duì)學(xué)者繼承人的需求太少,大量需要的是產(chǎn)品的研發(fā)者,研發(fā)產(chǎn)品是需要干實(shí)際事情的,需要研發(fā)工具,而單片機(jī)課程就是學(xué)習(xí)研發(fā)工具使用的課程。學(xué)習(xí)單片機(jī)課程與理論課程不一樣,不能只做作業(yè),而是要實(shí)際使用單片機(jī),下面就如何準(zhǔn)備學(xué)習(xí)單片機(jī)的條件和學(xué)習(xí)步驟簡(jiǎn)述一些不成熟的想法。1. 硬件
(1)編程硬件
所謂編程就是把單片機(jī)運(yùn)行的程序燒寫(xiě)到單片機(jī)的存儲(chǔ)器中,目前大部分單片機(jī)都是使用FLASH存儲(chǔ)器,這些存儲(chǔ)器的寫(xiě)入次數(shù)一般是1000次左右,也有1萬(wàn)次或是10萬(wàn)次的。編程也叫程序下載或是燒寫(xiě)。
(2)實(shí)時(shí)仿真硬件
實(shí)時(shí)仿真是使用PC機(jī),用軟件監(jiān)視在單片機(jī)中實(shí)際運(yùn)行的程序,也就是當(dāng)程序下載到單片機(jī)中后,實(shí)時(shí)運(yùn)行程序,在程序中設(shè)置斷點(diǎn),通過(guò)仿真接口,監(jiān)視和控制程序的運(yùn)行。這個(gè)過(guò)程其實(shí)就是調(diào)試程序(實(shí)際驗(yàn)證程序的正確性)。
編程器和仿真器可以是一個(gè)裝置,也可以是各自獨(dú)立的裝置。
2. 軟件
單片機(jī)開(kāi)發(fā)需要單片機(jī)開(kāi)發(fā)軟件的支持,軟件分為:
(1)編程軟件
該軟件支持編程器工作,幫助編程器把程序?qū)懭雴纹瑱C(jī)。
(2)實(shí)時(shí)仿真軟件
該軟件可以在仿真接口的支持下,調(diào)試單片機(jī)程序。
(3)虛擬仿真
該類(lèi)軟件支持在沒(méi)有單片機(jī)硬件情況下的單片機(jī)程序調(diào)試。
(4)支持C語(yǔ)言
所有的單片機(jī)開(kāi)發(fā)軟件都支持匯編語(yǔ)言編程,但是目前人們更喜歡C語(yǔ)言編程,主要是C語(yǔ)言功能強(qiáng)大,可以縮短開(kāi)發(fā)時(shí)間。
目前就有支持上述功能的軟件,例如51系列的Keil 51、PIC系列的MPLAB,MSP430系列的IAR等。
3. 學(xué)習(xí)單片機(jī)的手段
按照經(jīng)濟(jì)實(shí)力,學(xué)習(xí)單片機(jī)的手段分為如下幾種:
(1)買(mǎi)本單片機(jī)書(shū),仔細(xì)研究。
(2)網(wǎng)上下載一個(gè)具有仿真功能的單片機(jī)開(kāi)發(fā)軟件(最好支持C語(yǔ)言),在計(jì)算機(jī)上對(duì)單片機(jī)虛擬仿真。
(3)購(gòu)編程器(支持編程器的下載軟件有編程器商提供)和實(shí)驗(yàn)板(又稱(chēng)為演示板或是目標(biāo)板),網(wǎng)上下載開(kāi)發(fā)軟件。在開(kāi)發(fā)軟件的支持下對(duì)單片機(jī)虛擬仿真,確認(rèn)單片機(jī)程序正確后,用編程器將程序下載到單片機(jī)中,觀察程序的實(shí)際運(yùn)行。
(4)購(gòu)仿真接口和實(shí)驗(yàn)板,在網(wǎng)上下載單片機(jī)開(kāi)發(fā)軟件(支持編程、虛擬仿真、實(shí)時(shí)仿真和C語(yǔ)言),在虛擬仿真完成后,將程序下載到單片機(jī)中實(shí)時(shí)仿真。
對(duì)于個(gè)人學(xué)習(xí)單片機(jī),具有上述(4)的條件已經(jīng)是很好了。
4. 學(xué)習(xí)單片機(jī)過(guò)程中的困擾
單片機(jī)種類(lèi)很多,各個(gè)公司提供的單片機(jī)、開(kāi)發(fā)硬件和軟件功能、價(jià)格都不一樣,對(duì)于初學(xué)單片機(jī)有很多困惑。
(1)單片機(jī)問(wèn)題
目前單片機(jī)很多,學(xué)哪一個(gè),其實(shí)學(xué)哪一個(gè)都可以,單片機(jī)雖然型號(hào)不同,但是芯片內(nèi)部的資源種類(lèi)都差不多,而且這些資源的使用方法也大同小異,可以說(shuō)學(xué)會(huì)一種,其他種將融會(huì)貫通。究竟學(xué)哪一種,主要看具備的條件。
51系列是老型號(hào),書(shū)多、資料多、軟件開(kāi)放和硬件支持還可以,特別是Atmel公司的產(chǎn)品AT89系列,很多人就是學(xué)習(xí)這款單片機(jī)發(fā)家致富的。
AVR90系列,該系列也是Atmel公司的產(chǎn)品,指令少,學(xué)起來(lái)容易,芯片種類(lèi)多,適合各種場(chǎng)合和需要,根據(jù)有關(guān)資料顯示,目前該單片機(jī)芯片的使用數(shù)量很大,大有超過(guò)51系列芯片數(shù)量的趨勢(shì)。
PIC系列,該系列是Microchip公司的產(chǎn)品,種類(lèi)多,芯片抗干擾能力強(qiáng),使用的人很多,特別是PIC 16F877芯片,由于適合學(xué)校使用,在該公司大學(xué)計(jì)劃的支持下,免費(fèi)贈(zèng)送開(kāi)發(fā)器和實(shí)驗(yàn)板,因而使用該芯片的人群大增,也是可以和51系列單片機(jī)抗衡的單片機(jī)。
MSP430系列,是TI公司的產(chǎn)品,最近幾年才被杭州利爾達(dá)公司引進(jìn),是16位、超低功耗單片機(jī),特別適合手持設(shè)備等低功耗設(shè)備的開(kāi)發(fā),實(shí)際上,由于該系列引腳多,內(nèi)部資源多(具有硬件乘法器),所以在很多產(chǎn)品開(kāi)發(fā)上都有用武之地,據(jù)有關(guān)人士預(yù)測(cè),該系列是最具前途的單片機(jī)。
還有很多單片機(jī)型號(hào),由于不太了解,不敢妄加評(píng)論,但可以想象,一定是不錯(cuò)的單片機(jī),否則就不會(huì)在競(jìng)爭(zhēng)激烈的市場(chǎng)中存在。
(2)開(kāi)發(fā)軟件問(wèn)題
不同種類(lèi)的單片機(jī)都配套有相應(yīng)的開(kāi)發(fā)軟件,這些軟件很多都是專(zhuān)業(yè)軟件公司開(kāi)發(fā)的。
51系列,目前開(kāi)發(fā)軟件是Keil 51,該軟件支持C語(yǔ)言,但是在網(wǎng)上下載的版本,只支持2K程序。
PIC系列的開(kāi)發(fā)軟件是MPLAB,在HI-TECH公司C語(yǔ)言支持軟件PICC的支持下,該軟件很好用,但是PICC是需要激活密碼才能運(yùn)行的。
MSP430系列的開(kāi)發(fā)軟件是IAR,該軟件有開(kāi)放1個(gè)月的全功能限期版本和C語(yǔ)言4k支持版本,可見(jiàn)該系列的軟件開(kāi)放是最好的。
哪種單片機(jī)的開(kāi)發(fā)軟件開(kāi)放的好,就會(huì)引起人們對(duì)該單片機(jī)的興趣,單片機(jī)提供商也深諳此道,所以網(wǎng)上經(jīng)常可以找到更開(kāi)放版本的軟件。
(3)仿真接口
仿真接口,又稱(chēng)為仿真器,老式單片機(jī)由于沒(méi)有FLASH存儲(chǔ)器,所以仿真編程難度很大,新型號(hào)的單片機(jī),幾乎都有FLASH存儲(chǔ)器的芯片,這樣的芯片都支持在電路編程(在系統(tǒng)編程),所謂在電路編程,就是用3~5根線(xiàn)就可以將程序?qū)懭雴纹瑱C(jī),并能夠?qū)纹瑱C(jī)內(nèi)的程序運(yùn)行情況、寄存器內(nèi)容等信息傳輸?shù)絇C機(jī)上。這種編程方法需要在單片機(jī)與PC機(jī)之間安裝一個(gè)仿真接口,該接口一般需要購(gòu)買(mǎi)。
AT89S51、PIC16F877就是具有這種能力的單片機(jī),但是,對(duì)于初學(xué)者來(lái)說(shuō),支持該單片機(jī)編程和仿真的接口需要購(gòu)買(mǎi),而且簡(jiǎn)單接口在仿真時(shí)會(huì)占用芯片資源,給單片機(jī)系統(tǒng)開(kāi)發(fā)帶來(lái)不便。
MSP430系列單片機(jī)也是具有這種能力的單片機(jī),但是該單片機(jī)采用標(biāo)準(zhǔn)JTAG接口,JTAG是一種標(biāo)準(zhǔn)(IEEE 1149.1),是為測(cè)試芯片而制定的,目的是用TCK、TDI、TDO和TMS四個(gè)信號(hào)來(lái)測(cè)試芯片的內(nèi)部狀態(tài),為什么測(cè)試芯片還需要專(zhuān)門(mén)制定標(biāo)準(zhǔn)呢?這是因?yàn)閺?fù)雜芯片引腳太多,特別是還有些芯片一旦安裝到多層電路板上就無(wú)法看到引腳,更不要說(shuō)測(cè)量了,這時(shí)就可以在計(jì)算機(jī)軟件的支持下通過(guò)JTAG接口,對(duì)芯片進(jìn)行測(cè)量,如果各個(gè)公司的芯片都符合該標(biāo)準(zhǔn),就可以將各個(gè)芯片的JTAG口串聯(lián)起來(lái)(外國(guó)人稱(chēng)為菊花鏈),無(wú)論在電路板上有多少芯片,只需4個(gè)引腳,就可以測(cè)量電路板上的所有芯片。既然可以測(cè)量芯片,當(dāng)然可以將數(shù)據(jù)寫(xiě)入芯片,在可編程邏輯器件的數(shù)據(jù)下載中也使用JTAG接口,出現(xiàn)了在系統(tǒng)編程(ISP)的概念,也就是,即使可編程邏輯器件安裝到了系統(tǒng)中,也可以對(duì)其內(nèi)部電路進(jìn)行修改,JTAG技術(shù)和EDA軟件的進(jìn)步,使可編程邏輯器件的開(kāi)發(fā)與使用得到快速發(fā)展。單片機(jī)也是在向這個(gè)方向努力,前幾年出現(xiàn)在市場(chǎng)上的C8051單片機(jī)就是使用JTAG接口的單片機(jī),不幸的是該單片機(jī)JTAG接口裝置和開(kāi)發(fā)軟件很貴,阻礙人們使用該單片機(jī)。
使用JTAG口,必須在計(jì)算機(jī)與芯片JTAG接口之間連接一個(gè)接口裝置,該裝置隨芯片而異,實(shí)際上JTAG接口裝置都是很簡(jiǎn)單的(就是一個(gè)緩沖器),但是由于各個(gè)公司的早期產(chǎn)品不完全支持JTAG接口,而JTAG接口裝置又必須兼容這些早期產(chǎn)品,就使得JTAG接口裝置變的復(fù)雜了。
目前,TI公司的MSP430系列芯片就是支持JTAG接口的單片機(jī),該公司稱(chēng)該JTAG接口裝置為FET,通過(guò)FET就可以對(duì)該系列單片機(jī)編程與仿真。特別是該接口非常簡(jiǎn)單,適合自制,網(wǎng)上很多該單片機(jī)愛(ài)好者就是使用自制的FET開(kāi)發(fā)該系列的單片機(jī),非常成功。
(4)實(shí)驗(yàn)板
實(shí)驗(yàn)板是學(xué)習(xí)單片機(jī)所必須的,實(shí)驗(yàn)板又稱(chēng)為演示板、目標(biāo)板,其實(shí)就是具有單片機(jī)的電路板,實(shí)驗(yàn)板可以購(gòu)買(mǎi),各個(gè)單片機(jī)的供應(yīng)商都提供多種多樣的實(shí)驗(yàn)板。實(shí)驗(yàn)板也可以根據(jù)需要自制,自制實(shí)驗(yàn)板是具有挑戰(zhàn)的,需要學(xué)會(huì)畫(huà)電路板圖。
(5)選擇單片機(jī)類(lèi)型
軟件:支持C語(yǔ)言,免費(fèi)下載。
仿真器:用于仿真編程的JTAG接口裝置可以自制(很重要,可以節(jié)省開(kāi)支)。
單片機(jī):型號(hào)多、功能強(qiáng)、資源多、功耗低,程序存儲(chǔ)器容量大。
資料:書(shū)多、資料多,特別是網(wǎng)上資料多。
滿(mǎn)足上述條件的單片機(jī)只有MSP430系列。新型單片機(jī)都具有很多資源,資源多才能節(jié)省外部芯片,一般說(shuō)來(lái),一個(gè)系統(tǒng)的芯片數(shù)量不能超過(guò)5片,否則這個(gè)系統(tǒng)就是個(gè)復(fù)雜的系統(tǒng)。說(shuō)起51系列,開(kāi)始人們學(xué)習(xí)31芯片,必須要有外部程序存儲(chǔ)器才能工作,學(xué)習(xí)單片機(jī)先學(xué)系統(tǒng)擴(kuò)展,直到現(xiàn)在,很多51的書(shū)還在講31芯片,講如何組成最小單片機(jī)系統(tǒng),這樣的最小系統(tǒng)早就沒(méi)人用了。至于AT89S51系列,雖然帶有程序存儲(chǔ)器,但是由于I/O少,內(nèi)部資源少,實(shí)際中很少能夠組成單片系統(tǒng)。51系列之所以書(shū)多,是由于幾年前,只有51,現(xiàn)在不同了,很多新型單片機(jī),功能強(qiáng),資源多,I/O多,可以組成真正的單片系統(tǒng),這些單片機(jī)的開(kāi)發(fā)軟件支持好,開(kāi)發(fā)仿真器便宜,極低功耗,低電源電壓符合電子器件的發(fā)展方向,同樣是學(xué)習(xí)單片機(jī),應(yīng)該學(xué)習(xí)新的,好的。至于說(shuō)到復(fù)雜,51系列的100多條指令是不是更復(fù)雜一些,MSP430的指令數(shù)不到51系列指令數(shù)的一半是不是簡(jiǎn)單一些。學(xué)單片機(jī),就學(xué)新的,喜新厭舊才是正確的,(有些歲數(shù)大的人,由于惰性,不學(xué)新機(jī)型,千萬(wàn)不要學(xué)他們,學(xué)校的老師,就經(jīng)常是這種情況,所以學(xué)校教51的老師多,近一兩年情況正在變),例如5V系統(tǒng)是個(gè)很成熟的系統(tǒng),但是人們?yōu)樯兑?.3V,2.5V,和1.8V呢?這就因?yàn)橹挥械碗娫措妷翰拍芙档凸,才能使集成度提高,目前很?V器件已經(jīng)不生產(chǎn)了,不用新器件就沒(méi)法設(shè)計(jì)產(chǎn)品。學(xué)習(xí)可以循序漸進(jìn),先學(xué)引腳的第一功能,再學(xué)第二、第三功能,不斷努力,就會(huì)融會(huì)貫通,其實(shí)學(xué)習(xí)51系列也是這樣學(xué)的。
低價(jià)位的仿真器,開(kāi)放的軟件,芯片I/O多,芯片內(nèi)部資源多,大的程序存儲(chǔ)器和RAM,在系統(tǒng)可編程,這些應(yīng)該是學(xué)習(xí)單片機(jī)之前考慮的問(wèn)題。MSP430基本滿(mǎn)足這些條件。
學(xué)習(xí)哪個(gè)機(jī)型,本來(lái)就是仁者見(jiàn)仁,智者見(jiàn)智的事,還是要自己拿主意。5. 如何學(xué)習(xí)單片機(jī)
學(xué)習(xí)就是迎接挑戰(zhàn)、解決困難的過(guò)程,沒(méi)有挑戰(zhàn),就沒(méi)有人生的樂(lè)趣。
下面以MSP430系列單片機(jī)為例,解釋一下學(xué)習(xí)單片機(jī)的過(guò)程。
(1)獲取資料
購(gòu)買(mǎi)有關(guān)書(shū)籍,并到杭州利爾達(dá)公司網(wǎng)站和TI網(wǎng)站獲取資料,例如,在網(wǎng)上可以找到FET使用指導(dǎo)、MSP430 F1xx系列、F4xx系列的使用說(shuō)明和具體單片機(jī)芯片的數(shù)據(jù)說(shuō)明,可以找到仿真器FET的電路圖、實(shí)驗(yàn)板電路圖、芯片封裝知識(shí)等大量的實(shí)際應(yīng)用參考電路,當(dāng)然有些資料是英文的,看懂英文資料是個(gè)挑戰(zhàn),學(xué)會(huì)4、6級(jí)英語(yǔ)就是為看資料的。英語(yǔ)難學(xué),但是看資料容易,只要下決心,看完一本資料,就可以看懂所有的相關(guān)資料。
(2)購(gòu)買(mǎi)仿真器FET和實(shí)驗(yàn)電路板
如果經(jīng)濟(jì)條件不錯(cuò),可以直接購(gòu)買(mǎi)。
(3)自制仿真器FET和實(shí)驗(yàn)電路板
自制仿真器FET,首先要到網(wǎng)上找到FET電路圖,然后就可以使用畫(huà)電路板軟件畫(huà)電路圖和電路板圖,這又是個(gè)挑戰(zhàn)。FET電路非常簡(jiǎn)單,但要把它制作出來(lái)還是需要下一番工夫的,找一本有關(guān)書(shū),然后練習(xí)畫(huà)原理圖,畫(huà)完原理圖后,就學(xué)習(xí)認(rèn)識(shí)元件封裝,再購(gòu)買(mǎi)元件,這時(shí)就可以畫(huà)電路板圖了,一旦畫(huà)好,將形成的PCB文件交給電路板制作公司,10天后,就可以得到電路板,焊上元件和電纜,等實(shí)驗(yàn)電路板做好后,就可以與實(shí)驗(yàn)電路板一起調(diào)試了。
自制實(shí)驗(yàn)電路板,需要單片機(jī)芯片內(nèi)部工作原理的知識(shí)、封裝知識(shí),清楚的知道每一個(gè)引腳的功能,還需要數(shù)碼管、按鈕、排電阻、三端穩(wěn)壓器、二極管、散熱器、電解電容、普通電容、電阻、鈕子開(kāi)關(guān)等元件的知識(shí),對(duì)于初學(xué)者,可以做一個(gè)只有3個(gè)數(shù)碼管、8個(gè)按鈕、8個(gè)發(fā)光二極管的簡(jiǎn)單實(shí)驗(yàn)板,這樣的實(shí)驗(yàn)板,雖然簡(jiǎn)單,但足可以幫助初學(xué)者入門(mén)單片機(jī)。自制實(shí)驗(yàn)電路板與自制FET一樣,首先畫(huà)電路圖,然后買(mǎi)元件,再畫(huà)電路板。由于MSP430系列芯片是扁平封裝,焊接起來(lái)有一定難度,這好象是個(gè)挑戰(zhàn),但實(shí)際上很簡(jiǎn)單,方法如下:首先在焊盤(pán)上涂上松香水,在松香水未干的情況下,將芯片放在焊盤(pán)上,注意芯片第一引腳的位置,并使引腳與焊盤(pán)對(duì)齊,將擦干凈的電烙鐵(不能有任何焊錫)接觸引腳,引腳只要一熱,焊盤(pán)上的焊錫就自動(dòng)將引腳焊住了,千萬(wàn)注意電烙鐵上不能有焊錫,焊接時(shí)最好配備一個(gè)放大鏡。焊接電路板時(shí),每一個(gè)元件都要核對(duì)參數(shù),可以用萬(wàn)用表測(cè)量的元件一定要測(cè)量。
(4)從網(wǎng)上獲得IAR軟件
到利爾達(dá)公司或TI公司的網(wǎng)站下載IAR軟件,并安裝到計(jì)算機(jī)上。
(5)調(diào)試FET和實(shí)驗(yàn)板
將FET的一端與PC機(jī)的并行口相連,另一端連接實(shí)驗(yàn)板的JTAG接口,上電后,檢查FET芯片、實(shí)驗(yàn)板上的單片機(jī)芯片是否發(fā)熱(用手模),PC機(jī)是否工作正常后,運(yùn)行IAR軟件,找個(gè)C語(yǔ)言或匯編語(yǔ)言的例子,編譯成功后下載到單片機(jī)中,如果能夠下載,說(shuō)明一切成功。否則還需要仔細(xì)研究,一般情況下,只要電路板上的電路正確,元件參數(shù)準(zhǔn)確,沒(méi)有不成功的。
(6)分步驟學(xué)習(xí)單片機(jī)
學(xué)習(xí)使用單片機(jī)就是理解單片機(jī)硬件結(jié)構(gòu),在匯編或C語(yǔ)言中學(xué)會(huì)各種功能的初始化設(shè)置,以及實(shí)現(xiàn)各種功能的程序編制。
第一步:數(shù)字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),千萬(wàn)不要怕麻煩,所有的單片機(jī)都是這樣。
第二步:定時(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ǔ)。
第三步:中斷
單片機(jī)的特點(diǎn)是一段程序反復(fù)執(zhí)行,程序中的每個(gè)指令的執(zhí)行都需要一定的執(zhí)行時(shí)間,如果程序沒(méi)有執(zhí)行到某指令,則該指令的動(dòng)作就不會(huì)發(fā)生,這樣就會(huì)耽誤很多快速發(fā)生的事情,例如,按鈕按下時(shí)的下降沿。要使單片機(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)該干什么等等。
中斷學(xué)會(huì)后,就可以編制更復(fù)雜結(jié)構(gòu)的程序,這樣的程序可以干著一件事,監(jiān)視著一件事,一旦監(jiān)視的事情發(fā)生,就中斷正在干的事情,處理監(jiān)視的事情,當(dāng)然也可以監(jiān)視多個(gè)事情,形象的比喻,中斷功能使單片機(jī)具有吃著碗里的,看著鍋里的功能。
以上三步學(xué)會(huì),就相當(dāng)于降龍十八掌武功,會(huì)了三掌了,可以勉強(qiáng)護(hù)身。
第四步:與PC機(jī)進(jìn)行RS232通信
單片機(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)板上得到顯示,將是多么有意思的事情!
第五步:學(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è)電壓表。
第六步:學(xué)會(huì)PCI、I2C接口和液晶顯示器接口
這些接口的使用可以使單片機(jī)更容易連接外部設(shè)備,在擴(kuò)展單片機(jī)功能方面非常重要。
第七步:學(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)于學(xué)會(huì)十招降龍十八掌,可以出手攻擊了。
第八步:學(xué)習(xí)USB接口、TCP/IP接口、各種工業(yè)總線(xiàn)的硬件與軟件設(shè)計(jì)
學(xué)習(xí)USB接口、TCP/IP接口、各種工業(yè)總線(xiàn)的硬件與軟件設(shè)計(jì)是非常重要的,因?yàn)檫@是當(dāng)前產(chǎn)品開(kāi)發(fā)的發(fā)展方向。
到此為止,相當(dāng)于學(xué)會(huì)15招降龍十八掌,但還不到打遍天下無(wú)敵手的境界。即使如此,也算是單片機(jī)大蝦了。順便說(shuō)一句,MSP430單片機(jī)的技術(shù)支持是非常好的,負(fù)責(zé)任的工程師大蝦會(huì)在關(guān)鍵時(shí)候,挺身而出,使你化險(xiǎn)為夷。
6. 達(dá)到理想境界
達(dá)到理想境界是困難的,在知識(shí)爆炸的年代里,即使天天學(xué)習(xí),也很難跟上科學(xué)技術(shù)的發(fā)展,更何況每天還要為找工作、提職稱(chēng)、寫(xiě)論文、搞科研經(jīng)費(fèi)、政治學(xué)習(xí)、買(mǎi)房、購(gòu)車(chē)、柴、米、油、鹽、醬、醋、茶等忙活,那么,還需要學(xué)習(xí)嗎?回答是肯定的,人就是為興趣而活,愛(ài)好單片機(jī)才能學(xué)會(huì)單片機(jī),不為什么目的,只為學(xué)習(xí)的樂(lè)趣,當(dāng)然要是興趣也能賺錢(qián),則是一舉兩得。
學(xué)會(huì)使用單片機(jī)其實(shí)是學(xué)會(huì)了使用工具,充其量是個(gè)補(bǔ)鍋、鋦碗的匠人。如果再要進(jìn)步,就需要在信號(hào)識(shí)別、控制理論、數(shù)字信號(hào)處理理論、通信理論等方面下工夫,只有這樣,才能開(kāi)發(fā)出高水平、高附加值、具有知識(shí)產(chǎn)權(quán)的產(chǎn)品,達(dá)到熟練運(yùn)用降龍十八掌,打遍天下無(wú)敵手的至高境界。
單片機(jī)是DSP、嵌入式操作系統(tǒng)等高級(jí)硬件產(chǎn)品開(kāi)發(fā)的基礎(chǔ)。如果想要進(jìn)一步的發(fā)展,必須學(xué)會(huì)單片機(jī)的開(kāi)發(fā)。
如果在學(xué)會(huì)單片機(jī)的基礎(chǔ)之上,學(xué)會(huì)CPLD和FPGA的開(kāi)發(fā)以及硬件描述語(yǔ)言,就可以在高速產(chǎn)品的開(kāi)發(fā)方面獲得一杯羹。
編輯:admin 最后修改時(shí)間:2018-05-08