單片機(jī)是隨著電子計(jì)算機(jī)(電腦)的發(fā)展而產(chǎn)生的我們一起回憶一下電子計(jì)算機(jī)的發(fā)展過(guò)程。
電子計(jì)算機(jī)的發(fā)展大致已經(jīng)歷了四代。
第一代——電子管時(shí)代,其發(fā)展年代大約在1946~1958年。世界上公認(rèn)的第一臺(tái)電子計(jì)算機(jī)是1946年由賓夕法尼亞大學(xué)研制出來(lái)的。這臺(tái)計(jì)算機(jī)使用了18000個(gè)電子管,1500個(gè)繼電器,占地面積為150平方米,重量為30噸,耗電達(dá)140千瓦,花費(fèi)資金100多萬(wàn)美元。它的運(yùn)算速度卻只有5000每秒次。但它的發(fā)明奠定了以后計(jì)算機(jī)發(fā)展的基礎(chǔ)。
當(dāng)時(shí)計(jì)算機(jī)軟件主要用機(jī)器語(yǔ)言編制程序,其用途主要用于科學(xué)計(jì)算。
第二代--晶體管時(shí)代,其發(fā)展年代大約在1958—1964年,計(jì)算機(jī)的邏輯元件為晶體管。軟件有了很大發(fā)展,開(kāi)始使用各種高級(jí)語(yǔ)言編制程序。計(jì)算機(jī)的應(yīng)用已發(fā)展至各種事物的數(shù)據(jù)處理,并開(kāi)始用于工業(yè)控制。
第三代--集成電路時(shí)代,其發(fā)展年代大約在1964—1971年。此時(shí)計(jì)算機(jī)的邏輯元件為小規(guī)模集成電路(SSI)和中規(guī)模集成電路
(MSI)。軟件方面已出現(xiàn)了分時(shí)操作系統(tǒng),會(huì)話式的高級(jí)語(yǔ)言也有了相當(dāng)發(fā)展。計(jì)算機(jī)的應(yīng)用已開(kāi)始用于企事業(yè)管理與工業(yè)控制。
第四代--大規(guī)模集成電路時(shí)代,是從1971年以后發(fā)展起來(lái)的。計(jì)算機(jī)的邏輯元件為大規(guī)模集成電路(LSI)。軟件性能也有極大的提高,計(jì)算機(jī)應(yīng)用也進(jìn)入了網(wǎng)絡(luò)時(shí)代。
隨著社會(huì)的發(fā)展和需求的提高,計(jì)算機(jī)也在不斷地更新與發(fā)展。由于計(jì)算機(jī)的產(chǎn)生是應(yīng)數(shù)值計(jì)算而產(chǎn)生的,因此長(zhǎng)期以來(lái)電子計(jì)算機(jī)技術(shù)都是沿著滿(mǎn)足大量高速數(shù)值計(jì)算而發(fā)展的,直到20世紀(jì)70年代,電子計(jì)算機(jī)在數(shù)字邏輯運(yùn)算、推理、自動(dòng)控制等方面顯露出非凡的功能后,在各種控制領(lǐng)域開(kāi)始對(duì)計(jì)算機(jī)技術(shù)發(fā)展提出了與傳統(tǒng)大量高速計(jì)算完全不同的要求。這些要求是:面對(duì)控制對(duì)象、面對(duì)各種傳感器信號(hào)、面對(duì)人機(jī)交互操作控制、能方便地嵌入工控應(yīng)用系統(tǒng)中等。
為了實(shí)現(xiàn)上述要求,近年來(lái),單片微型計(jì)算機(jī)(簡(jiǎn)稱(chēng)單片機(jī))應(yīng)運(yùn)而生。單片機(jī)也被稱(chēng)做“微控制器”、“嵌入式微控制器”。單片機(jī)一詞最初是源于"”,簡(jiǎn)稱(chēng)SCM。在單片機(jī)誕生時(shí),SCM是一個(gè)準(zhǔn)確、流行的稱(chēng)謂,“單片機(jī)”一詞準(zhǔn)確地表達(dá)了這—概念。隨著SCM在技術(shù)上、體系結(jié)構(gòu)上不斷擴(kuò)展其控制功能,單片機(jī)已不能用“單片微型計(jì)算機(jī)”來(lái)準(zhǔn)確表達(dá)其內(nèi)涵。國(guó)際上逐漸采用"MCU"(MicroControllerUnit”)來(lái)代替,形成了單片機(jī)界公認(rèn)的、最終統(tǒng)一的名詞。在國(guó)內(nèi)因?yàn)椤皢纹瑱C(jī)”一詞已約定俗成,故而繼續(xù)沿用。
單片機(jī)基礎(chǔ)知識(shí)飛翔電子技術(shù) 2003-11-04 單片機(jī)的組成 單片機(jī)要自動(dòng)完成計(jì)算,它應(yīng)該具有哪些最重要的部分呢?我們以打算盤(pán)為例計(jì)算一道算術(shù)題。
例:36+163*156-166÷34。現(xiàn)在要進(jìn)行運(yùn)算,首先需要一把算盤(pán),其次是紙和筆。
我們把要計(jì)算的問(wèn)題記錄下來(lái),然后第一步先算163*156,把它與36相加的結(jié)果記在紙上,然后計(jì)算166÷34,再把它從上一次結(jié)果中減去,就得到最后的結(jié)果。 現(xiàn)在,我們用單片機(jī)來(lái)完成上述過(guò)程,顯然,它首先要有代替算盤(pán)進(jìn)行運(yùn)算的部件,這就是“運(yùn)算器”;其次,要有能起到紙和筆作用的器件,即能記憶原始題目、原始數(shù)據(jù)和中間結(jié)果,還要記住使單片機(jī)能自動(dòng)進(jìn)行運(yùn)算而編制的各種命令。
這類(lèi)器件就稱(chēng)為“存貯器”。此外,還需要有能代替人作用的控制器,它能根據(jù)事先給定的命令發(fā)出各種控制信號(hào),使整個(gè)計(jì)算過(guò)程能一步步地進(jìn)行。
但是光有這三部分還不夠,原始的數(shù)據(jù)與命令要輸入,計(jì)算的結(jié)果要輸出,都需要按先后順序進(jìn)行,有時(shí)還需等待。 如上例中,當(dāng)在計(jì)算163*156時(shí),數(shù)字36就不能同時(shí)進(jìn)入運(yùn)算器。
因此就需要在單片機(jī)上設(shè)置按控制器的命令進(jìn)行動(dòng)作的“門(mén)”,當(dāng)運(yùn)算器需要時(shí),就讓新數(shù)據(jù)進(jìn)入。或者,當(dāng)運(yùn)算器得到最后結(jié)果時(shí),再將此結(jié)果輸出,而中間結(jié)果不能隨便“溜出”單片機(jī)。
這種對(duì)輸入、輸出數(shù)據(jù)進(jìn)行一定管理的“門(mén)”電路在單片機(jī)中稱(chēng)為“口”(Port)。在單片機(jī)中,基本上有三類(lèi)信息在流動(dòng),一類(lèi)是數(shù)據(jù),即各種原始數(shù)據(jù)(如上例中的36、163等)、中間結(jié)果(如166÷34所得的商4、余數(shù)30等)、程序(命令的集合)等。
這樣要由外部設(shè)備通過(guò)“口”進(jìn)入單片機(jī),再存放在存貯器中,在運(yùn)算處理過(guò)程中,數(shù)據(jù)從存貯器讀入運(yùn)算器進(jìn)行運(yùn)算,運(yùn)算的中間結(jié)果要存入存貯器中,或最后由運(yùn)算器經(jīng)“出入口”輸出。 用戶(hù)要單片機(jī)執(zhí)行的各種命令(程序)也以數(shù)據(jù)的形式由存貯器送入控制器,由控制器解讀(譯碼)后變?yōu)楦鞣N控制信號(hào),以便執(zhí)行如加、減、乘、除等功能的各種命令。
所以,這一類(lèi)信息就稱(chēng)為控制命令,即由控制器去控制運(yùn)算器一步步地進(jìn)行運(yùn)算和處理,又控制存貯器的讀(取出數(shù)據(jù))和寫(xiě)(存入數(shù)據(jù))等。第三類(lèi)信息是地址信息,其作用是告訴運(yùn)算器和控制器在何處去取命令取數(shù)據(jù),將結(jié)果存放到什么地方,通過(guò)哪個(gè)口輸入和輸出信息等。
存貯器又分為只讀存貯器和讀寫(xiě)存貯器兩種,前者存放調(diào)試好的固定程序和常數(shù),后者存放一些隨時(shí)有可能變動(dòng)的數(shù)據(jù)。顧名思義,只讀存貯器一旦將數(shù)據(jù)存入,就只能讀出,不能更改(EPROM、E2PROM等類(lèi)型的ROM可通過(guò)一定的方法來(lái)更改、寫(xiě)入數(shù)據(jù)——編者注)。
而讀寫(xiě)存貯器可隨時(shí)存入或讀出數(shù)據(jù)。 實(shí)際上,人們往往把運(yùn)算器和控制器合并稱(chēng)為中央處理單元——CPU。
單片機(jī)除了進(jìn)行運(yùn)算外,還要完成控制功能。所以離不開(kāi)計(jì)數(shù)和定時(shí)。
因此,在單片機(jī)中就設(shè)置有定時(shí)器兼計(jì)數(shù)器,其基本結(jié)構(gòu)與本連載之(二)中的舉例類(lèi)似。到這里為止,我們已經(jīng)知道了單片機(jī)的基本組成,即單片機(jī)是由中央處理器(即CPU中的運(yùn)算器和控制器)、只讀存貯器(通常表示為ROM)、讀寫(xiě)存貯器(又稱(chēng)隨機(jī)存貯器通常表示為RAM)、輸入/輸出口(又分為并行口和串行口,表示為I/O口)等等組成。
實(shí)際上單片機(jī)里面還有一個(gè)時(shí)鐘電路,使單片機(jī)在進(jìn)行運(yùn)算和控制時(shí),都能有節(jié)奏地進(jìn)行。另外,還有所謂的“中斷系統(tǒng)”,這個(gè)系統(tǒng)有“傳達(dá)室”的作用,當(dāng)單片機(jī)控制對(duì)象的參數(shù)到達(dá)某個(gè)需要加以干預(yù)的狀態(tài)時(shí),就可經(jīng)此“傳達(dá)室”通報(bào)給CPU,使CPU根據(jù)外部事態(tài)的輕重緩急來(lái)采取適當(dāng)?shù)膽?yīng)付措施。
現(xiàn)在,我們已經(jīng)知道了單片機(jī)的組成,余下的問(wèn)題是如何將它們的各部分連接成相互關(guān)聯(lián)的整體呢?實(shí)際上,單片機(jī)內(nèi)部有一條將它們連接起來(lái)的“紐帶”,即所謂的“內(nèi)部總線”。此總線有如大城市的“干道”,而CPU、ROM、RAM、I/O口、中斷系統(tǒng)等就分布在此“總線”的兩旁,并和它連通。
從而,一切指令、數(shù)據(jù)都可經(jīng)內(nèi)部總線傳送,有如大城市內(nèi)各種物品的傳送都經(jīng)過(guò)干道進(jìn)行。 單片機(jī)指令系統(tǒng)與匯編語(yǔ)言程序 前面已經(jīng)講述了單片機(jī)的幾個(gè)主要組成部分,這些部分構(gòu)成了單片機(jī)的硬件。
所謂硬件(Hardware),就是看得到,摸得到的實(shí)體。但是,光有這樣的硬件,還只是有了實(shí)現(xiàn)計(jì)算和控制功能的可能性。
單片機(jī)要真正地能進(jìn)行計(jì)算和控制,還必須有軟件(Software)的配合。軟件主要指的是各種程序。
只有將各種正確的程序“灌入”(存入)單片機(jī),它才能有效地工作。單片機(jī)所以能自動(dòng)地進(jìn)行運(yùn)算和控制,正是由于人把實(shí)現(xiàn)計(jì)算和控制的步驟一步步地用命令的形式,即一條條指令(Instruction)預(yù)先存入到存貯器中,單片機(jī)在CPU的控制下,將指令一條條地取出來(lái),并加以翻譯和執(zhí)行。
就以?xún)蓚€(gè)數(shù)相加這一簡(jiǎn)單的運(yùn)算來(lái)說(shuō),當(dāng)需要運(yùn)算的數(shù)已存入存貯器后,還需要進(jìn)行以下幾步:第一步:把第一個(gè)數(shù)從它的存貯單元(Location)中取出來(lái),送至運(yùn)算器。 第二步:把第二個(gè)數(shù)從它所在的存貯單元中取出來(lái),送至運(yùn)算器; 第三步:相加; 第四步:把相加完的結(jié)果,送至存貯器中指定的單元。
所有這些取數(shù)、送數(shù)、相加、存數(shù)等等都是一種操。
我本身也是學(xué)單片機(jī)的專(zhuān)業(yè),所以個(gè)人建議,你去學(xué)習(xí)一下郭天詳10天學(xué)會(huì)單片機(jī),我也是從他的視頻開(kāi)始學(xué)習(xí)的,然后自己做出仿真,去驗(yàn)證他的程序。
首先你模仿他的程序先,基本是得看懂C語(yǔ)言,學(xué)單片機(jī)的基本都懂,
然后再慢慢變花樣:比如開(kāi)始的流水燈,你就自己設(shè)置自己想要的變化,
接下來(lái)學(xué)習(xí)到了時(shí)鐘的程序的話,你就自己加入比如按鍵調(diào)整的程序等等,在模仿以及改變程序中提升自己,初學(xué)者都是這樣做的,
更到后面的話,你就學(xué)習(xí)一下傳感器的程序,AD/DA的程序,你會(huì)接觸到中斷,定時(shí)器等這樣的知識(shí)。..
希望你有幫助!!!
學(xué)習(xí)單片機(jī)的最有效方法是理論與實(shí)踐并重 對(duì)一個(gè)初學(xué)單片機(jī)的人來(lái)說(shuō),如果按教科書(shū)式的學(xué)法,上來(lái)就是一大堆指令、名詞,學(xué)了半天還搞不清這些指令起什么作用,能夠產(chǎn)生什么實(shí)際效果,那么也許用不了幾天就會(huì)覺(jué)得枯燥乏味而半途而廢。
所以學(xué)習(xí)與實(shí)踐結(jié)合是一個(gè)好方法,邊學(xué)習(xí)、邊演練,循序漸進(jìn),這樣用不了幾次就能將用到的指令理解、吃透、扎根于腦海,甚至“根深蒂固”。也就是說(shuō),當(dāng)你此次學(xué)習(xí)完某幾條指令后(一次數(shù)量不求多,只求懂),接下去就該做實(shí)驗(yàn)了,通過(guò)實(shí)驗(yàn),使你感受剛才的指令產(chǎn)生了控制效果,眼睛看得見(jiàn)(燈光)、耳朵聽(tīng)得到(聲音),更能深刻理解指令是怎樣轉(zhuǎn)化成信號(hào)去控制電子產(chǎn)品的。
說(shuō)句過(guò)分的話,單片機(jī)與其說(shuō)是學(xué)出來(lái)的,還不如說(shuō)是做實(shí)驗(yàn)練出來(lái)的,何況做實(shí)驗(yàn)本身也是一種學(xué)習(xí)過(guò)程。《電子制作》2003~2004的《手把手教你學(xué)單片機(jī)》講座就是基于這樣一種邊學(xué)邊練的理念展開(kāi)的,從眾多的讀者反饋來(lái)看,效果特別好,許多讀者經(jīng)3~6個(gè)月的學(xué)習(xí)已能開(kāi)發(fā)簡(jiǎn)單的產(chǎn)品了(如霓紅燈廣告牌控制、累加計(jì)數(shù)器等)。
學(xué)習(xí)單片機(jī)要合理安排學(xué)習(xí)時(shí)間持之以恒 學(xué)習(xí)單片機(jī)可不能“三天打魚(yú)、二天曬網(wǎng)” ,要有持之以恒的毅力與決心,學(xué)習(xí)完幾條指令后,就應(yīng)及時(shí)做實(shí)驗(yàn),融會(huì)貫通,而不要等幾天或幾個(gè)星期有時(shí)間后再做實(shí)驗(yàn),這樣效果不好甚至前學(xué)后忘。另外要有打“持久戰(zhàn)” 的心理準(zhǔn)備,不要興趣來(lái)時(shí)學(xué)上幾天,無(wú)興趣時(shí)涼上幾星期。
學(xué)習(xí)單片機(jī)很重要的一點(diǎn)就是持之以恒。 學(xué)習(xí)單片機(jī)要使用循環(huán)學(xué)習(xí)法使之根深蒂固 《手把手教你學(xué)單片機(jī)》講座入門(mén)起點(diǎn)低,很多朋友覺(jué)得好學(xué)、易學(xué),很快就能將講座從頭至尾學(xué)完、學(xué)懂,但過(guò)了幾個(gè)月,在開(kāi)發(fā)產(chǎn)品時(shí)對(duì)指令的具體作用就有些淡忘了。
根據(jù)現(xiàn)代科學(xué)的研究,對(duì)只短暫學(xué)過(guò)一遍的知識(shí),充其量只比浮光掠影稍好。因此,較好的方法是,過(guò)一段時(shí)間后(1~2個(gè)月)再重新做一遍,這樣反復(fù)循環(huán)幾次就能徹底弄懂消化,永不忘卻。
有道是:若人生能細(xì)看《水滸傳》10遍,那么里面的故事內(nèi)容、人物場(chǎng)情將永生不忘。 學(xué)習(xí)單片機(jī)要進(jìn)行適當(dāng)投資購(gòu)買(mǎi)實(shí)驗(yàn)器材及書(shū)籍資料 單片機(jī)技術(shù)是一門(mén)含金量高的技術(shù),一旦學(xué)會(huì)后,它給你帶來(lái)的效益回報(bào)當(dāng)然也高,無(wú)論是應(yīng)聘求職還是自起爐灶開(kāi)廠辦公司,其前景是光明無(wú)限。
因此在學(xué)習(xí)時(shí)要舍得適當(dāng)投資購(gòu)買(mǎi)必要的學(xué)習(xí)、實(shí)驗(yàn)器材,另外還要經(jīng)常去科技圖書(shū)店看看,購(gòu)買(mǎi)一些適合自己學(xué)習(xí)、提高的書(shū)籍。總之,春天不播種哪來(lái)秋天的收獲?考慮到初學(xué)者的學(xué)習(xí)成本,《手把手教你學(xué)單片機(jī)》講座主要采用“程序完成后軟件仿真→單片機(jī)燒錄程序→試驗(yàn)板通電實(shí)驗(yàn)”的方法(現(xiàn)在的快閃型單片機(jī)其程序可燒寫(xiě)1000次以上),而沒(méi)有采用價(jià)格昂貴的在線仿真器(ICE)進(jìn)行實(shí)驗(yàn),這樣整套實(shí)驗(yàn)器材(不包括PC機(jī))只有幾百元,對(duì)大部分已工作的愛(ài)好者來(lái)說(shuō)都有這個(gè)經(jīng)濟(jì)能力承受。
一旦當(dāng)你掌握了單片機(jī)的編程技術(shù),成為一個(gè)水平較高的單片機(jī)設(shè)計(jì)人員時(shí),再買(mǎi)在線仿真器也不遲。 準(zhǔn)備: 單片機(jī)燒錄器 單片機(jī)仿真器 單片機(jī)(89c2051,便宜) 軟件(Keil) 1、先找本單片機(jī)入門(mén)的書(shū)來(lái)看,對(duì)于寄存器不必很深的了解 2、照書(shū)上的電路圖搭好電路(復(fù)位、晶振、IO……) 3、將書(shū)上的范例程序燒入單片機(jī)跑(或者仿真,看程序運(yùn)行) 4、當(dāng)你做完IO流水燈實(shí)驗(yàn)、串口收發(fā)數(shù)據(jù)實(shí)驗(yàn),再回去看書(shū),能有更深的體會(huì)。
5、高級(jí)應(yīng)用的書(shū),或者做更多的東西~~。
學(xué)習(xí)使用單片機(jī)就是理解單片機(jī)硬件結(jié)構(gòu),以及內(nèi)部資源的應(yīng)用,在匯編或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è)總線的硬件與軟件設(shè)計(jì) 學(xué)習(xí)USB接口、TCP/IP接口、各種工業(yè)總線的硬件與軟件設(shè)計(jì)是非常重要的,因?yàn)檫@是當(dāng)前產(chǎn)品開(kāi)發(fā)的發(fā)展方向。到此為止,相當(dāng)于學(xué)會(huì)15招降龍十八掌,但還不到打遍天下無(wú)敵手的境界。
即使如此,也算是單片機(jī)大蝦了。
學(xué)習(xí)使用單片機(jī)就是理解單片機(jī)硬件結(jié)構(gòu),以及內(nèi)部資源的應(yīng)用,在匯編或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è)總線的硬件與軟件設(shè)計(jì)
學(xué)習(xí)USB接口、TCP/IP接口、各種工業(yè)總線的硬件與軟件設(shè)計(jì)是非常重要的,因?yàn)檫@是當(dāng)前產(chǎn)品開(kāi)發(fā)的發(fā)展方向。
到此為止,相當(dāng)于學(xué)會(huì)15招降龍十八掌,但還不到打遍天下無(wú)敵手的境界。即使如此,也算是單片機(jī)大蝦了。
聲明:本網(wǎng)站尊重并保護(hù)知識(shí)產(chǎn)權(quán),根據(jù)《信息網(wǎng)絡(luò)傳播權(quán)保護(hù)條例》,如果我們轉(zhuǎn)載的作品侵犯了您的權(quán)利,請(qǐng)?jiān)谝粋€(gè)月內(nèi)通知我們,我們會(huì)及時(shí)刪除。
蜀ICP備2020033479號(hào)-4 Copyright ? 2016 學(xué)習(xí)鳥(niǎo). 頁(yè)面生成時(shí)間:3.882秒