色yeye在线视频观看_亚洲人亚洲精品成人网站_一级毛片免费播放_91精品一区二区中文字幕_一区二区三区日本视频_成人性生交大免费看

當(dāng)前位置:首頁 > 嵌入式培訓(xùn) > IT培訓(xùn)問題庫 > 怎樣能學(xué)好單片機(jī),牛人告訴你

怎樣能學(xué)好單片機(jī),牛人告訴你 時(shí)間:2018-05-14      來源:未知

單片機(jī)(Microcontrollers)是一種集成電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU、隨機(jī)存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統(tǒng)、定時(shí)器/計(jì)數(shù)器等功能(可能還包括顯示驅(qū)動(dòng)電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個(gè)小而完善的微型計(jì)算機(jī)系統(tǒng),在工業(yè)控制領(lǐng)域廣泛應(yīng)用。

單片機(jī)誕生于20世紀(jì)70年代。所謂單片機(jī)是利用大規(guī)模集成電路技術(shù)把中央處理單元(Center Processing Unit,也即常稱的CPU)和數(shù)據(jù)存儲器(RAM)、程序存儲器(ROM)及其他I/O通信口集成在一塊芯片上,構(gòu)成一個(gè)最小的計(jì)算機(jī)系統(tǒng),再加上了中斷單元,定時(shí)單元及A/D轉(zhuǎn)換等更復(fù)雜、更完善的電路,使得單片機(jī)的功能越來越強(qiáng)大,應(yīng)用更廣泛[1]。現(xiàn)在更多單片機(jī)的發(fā)展已經(jīng)進(jìn)入了嵌入式系統(tǒng)時(shí)代, 由于制造工藝的進(jìn)步,有如 VHDL、RTOS、CPLD、FPGA、DSP、ARM等這一系列可編程器件的體積越來越小、成本越來越低,而功能是越來越能滿足人們的需要。自上世紀(jì) 80年代以來,單片機(jī)技術(shù)在我國各個(gè)控制領(lǐng)域得到了廣泛應(yīng)用,各個(gè)世界半導(dǎo)體公司都非常看好中國這個(gè)龐大的市場而紛紛到中國來投資建廠,如在蘇州就有日本的瑞薩、松下、美國的快捷等半導(dǎo)體公司在中的生產(chǎn)廠地。同時(shí)面對這一技術(shù)的不斷發(fā)展,我國大部分高校都已經(jīng)把單片機(jī)方面的課程作為學(xué)生的必修課,這為我國近些年來的科技、工業(yè)控制等方面的發(fā)展培養(yǎng)了大量人才,而且社會對此方面的人才需求還在不斷的增加。面對如此情況,作為在校學(xué)生,又該從何學(xué)起?如何學(xué)好這門課程呢?又怎樣才能不讓自己學(xué)了等于沒學(xué)呢?本文在多年實(shí)踐的基礎(chǔ)上,介紹自已的一些感受和經(jīng)驗(yàn)。

1.理解單片機(jī)的結(jié)構(gòu)

對于一個(gè)初學(xué)者,最迷糊的就是對單片機(jī)芯片里面的結(jié)構(gòu)的理解,小小的一個(gè)芯片為何能完成如此神奇的功能。

第一次從事電子方面的工作,也總對那黑黑的芯片里面感到不可思意的神奇。直到有一天,在檢修一臺日本二手電子市場里買來的程控交換機(jī)時(shí),發(fā)現(xiàn)里面有一塊黑東西上的黑膠已經(jīng)裂開,把它撬開一看,里面就是一塊電路板,上面焊滿了密密麻麻的電子零件。終于有點(diǎn)明白,原來芯片也可以這樣做成。當(dāng)然當(dāng)時(shí)所見的那塊電路板是不能被稱之為芯片的,那只是日本的電子制造公司為了防止別人抄襲而把整個(gè)電路板密封起來或其它原因,只引出幾個(gè)的引腳與其它電路連接。不過它可以讓人聯(lián)想到芯片的基本結(jié)構(gòu)與此相類似,如果把那些內(nèi)眼看得見的電子零件再縮小一千倍或更小以至于能把所有電子零件做在一個(gè)硅片上,那也就成了名副其實(shí)的芯片了。我們不防以圖1所示的電路及電路板來做一個(gè)生動(dòng)形象的介紹。該圖是一個(gè)直流馬達(dá)可以正反兩個(gè)方向轉(zhuǎn)動(dòng)的電路,做成電路板并焊好電子元件后,經(jīng)測試沒有問題就可以用黑膠(通常采用酚醛樹脂等材料)把所有電子元件封起來,只留六個(gè)引腳來與外部電路連接,這樣看起來就好像是一個(gè)芯片。

知道了一般芯片的原理,同樣可以更進(jìn)一步想象單片機(jī)為什么會執(zhí)行邏輯運(yùn)算等功能,這就牽涉到數(shù)字電路和模擬電路的知識。其實(shí)不管一個(gè)單片機(jī)的功能是如何的強(qiáng)大,其只不過是把許多以微米,甚至是納米為單位級的數(shù)字的和模擬電子器件組成。要做到對單片機(jī)內(nèi)部結(jié)果真正的了解,還必須得先要有很扎實(shí)的電路基礎(chǔ)、模擬電路、數(shù)字電路等方面的知識,否則可能就是空中樓閣。

2.理清邏輯思維

學(xué)習(xí)單片機(jī)是最重要的一點(diǎn)就是不能糊涂,不能把邏輯關(guān)系搞得亂七八糟。對于初學(xué)單片機(jī)時(shí),要學(xué)會把一個(gè)程式的邏輯性關(guān)系用流程圖的形式清楚的表示出來。至于用來編寫程式的單片機(jī)的語言是很簡單的,不要把它想象得很神秘,不管是匯編語言、C語言、還是更高級的VC++和圖示化語言(如LABVIEW),都只不過是把我們清楚的邏輯思維告訴單片機(jī)處理器,并指令它將要被如何進(jìn)行邏輯操作。把單片機(jī)的指令看得很重要應(yīng)該是我們大家在學(xué)習(xí)單片機(jī)時(shí)的一個(gè)最大的誤區(qū),老是擔(dān)心指令記不住、不會用,這也是學(xué)習(xí)單片機(jī)還沒入門、上路的主要表現(xiàn)。其實(shí)這樣有什么擔(dān)心的呢,記不住就不要強(qiáng)求好了,把指令放在旁邊,當(dāng)把邏輯關(guān)系清理好之后,再來對著指令表確定哪個(gè)邏輯關(guān)系由哪些指令來完成,當(dāng)一條指令運(yùn)用得幾次后,根本就用不著擔(dān)心不知道指令不會用了。退一步講,即使真的記不得指令,參照書本的指令用法也完全可行,現(xiàn)在的知識量是海量,全把所學(xué)的知識死記在腦子里肯定會把腦袋漲破。在寫程序時(shí),只要程序的邏輯關(guān)系調(diào)理清楚了,寫起來就好比做簡單的翻譯工作,把邏輯關(guān)系翻譯成計(jì)算機(jī)語言來表示。3對微觀世界的想象曾經(jīng)在設(shè)計(jì)電路板時(shí),為了讓線路中的電流能流暢的通過線路,為了所設(shè)計(jì)的電路板能滿足各種測試條件下的安全標(biāo)準(zhǔn),如UL標(biāo)準(zhǔn)要求最長的電源地線不能過 0.02歐姆(其測試條件是在20A的電流情況下測量它的功率P=I2R)。如果假如是0.02歐姆,通以20A的電流,那這條線路的發(fā)熱功率將會是 8W。把電流看作是我們宏觀世界里的水,線路就好比一條水溝。要讓水在水溝里怎么流,這理所當(dāng)然是很容易控制的了。如水在急轉(zhuǎn)彎的地方會起漩渦,會對急轉(zhuǎn)達(dá)彎的溝的對面產(chǎn)生沖擊。同樣在電路板上的線路如果存在急轉(zhuǎn)彎的情況,電流也會引起渦流,也會對線路的拐點(diǎn)處有一個(gè)沖擊作用而產(chǎn)生輻射。這樣一來,在理解了這一原理之后,每一次電路板的設(shè)計(jì)完成之后,所有的測試都能一次通過。可見把微觀世界想象成宏觀世界相類似的事物或過程是非常有幫助的。現(xiàn)代電子世界,特別是微電子,要想看清他的真面目,只有在高清昕度的顯微鏡下才能看到他的外形,可是即使了解了它的外形,也只不過是知其然而不知其所以然,它的工作過程根本無法看得到。

現(xiàn)在單片機(jī)結(jié)構(gòu)越來越復(fù)雜,集成度越來越高,存儲量越來越大,將來還可能采用分子級電子晶體管呢。它的運(yùn)行速度也是如此的越來越快,現(xiàn)在已經(jīng)是采用納秒級來定義它的運(yùn)行時(shí)間了,最長的運(yùn)行一條指令的時(shí)間最多不過一兩個(gè)微秒,簡直就是比一閃而過還要少好多好多。既然我們可以在空間上利用放大鏡把外形放大后來了解,那么同樣可以在時(shí)間上把時(shí)間拉長來解。不訪把一微秒當(dāng)作時(shí)一分鐘或一小時(shí)來理解,這樣我們就不難理解CPU就如人一樣在處理某一條指令。比如指令 “MOV A,01H”就是CPU把數(shù)據(jù)01H送到A累加器,在這個(gè)運(yùn)送的過程就如人搬運(yùn)東西的過程,這個(gè)過程的處理時(shí)間就是CPU處理一個(gè)指令的時(shí)間,通常稱之為指令周期。有些時(shí)候單片機(jī)會出現(xiàn)對某個(gè)操作處理的時(shí)間不夠,如進(jìn)行數(shù)據(jù)采集時(shí),被采集的信號相對于單片機(jī)處理時(shí)間比較快就會出現(xiàn)數(shù)據(jù)遺失的情況,這就要求單片機(jī)的運(yùn)行速度更快。如果沒有這處微觀時(shí)間的概念,就很難理解怎么會出現(xiàn)這種情況。

那么如何編程呢?有人說先畫流程圖,然后再寫程序、調(diào)試。我想,這是數(shù)學(xué)比我好的人說的,我的方法如下:

1、用文字描述自己需要的功能

2、拆分出各個(gè)功能,用文字描述每個(gè)功能是如何實(shí)現(xiàn)的

3、完成各個(gè)功能的程序,并做好測試,對于我來說,如果了解單片機(jī)的工作方式,那么編寫程序其實(shí)就是把漢語翻譯成匯編語言。

4、修改每個(gè)功能模塊的程序,盡量讓程序簡短,并且預(yù)留好和其他功能銜接的功能(接口、變量等)

5、合并簡單功能模塊,復(fù)雜功能逐一合并,每次合并做好程序備份,以便糾錯(cuò)

6、如果上述工作做的足夠好,那么可以直接得到想要的結(jié)果,我的程序往往都是寫完了就可以用,這是建立在部分模塊程序的完美基礎(chǔ)之上的。

如果是設(shè)計(jì)了獨(dú)一無二的作品,比如說我的立方光(我是獨(dú)立設(shè)計(jì)的原理和程序,不管是新版還是舊版),那就在第一條補(bǔ)充一條:構(gòu)思,這需要你對單片機(jī)很了解,預(yù)想如何實(shí)現(xiàn),會遇到什么樣的問題,以及解決的方案。立方光我構(gòu)思了2個(gè)月,真正做實(shí)物的時(shí)間,只有一周。等到了新版立方光問世,我也是用了三周構(gòu)思,一周做實(shí)物。

學(xué)習(xí)c語言

通過一段時(shí)間的學(xué)習(xí),我認(rèn)識到了匯編語言的優(yōu)越性,也認(rèn)識到它的缺點(diǎn),這點(diǎn)我們稍后再說,先說一下我現(xiàn)在學(xué)習(xí)c語言的情況。

因?yàn)橹坝辛俗鰧?shí)物和編程的基礎(chǔ),我就通過項(xiàng)目來學(xué)習(xí)C,比如,做一個(gè)溫度顯示,用到了18B20,就自己百度資料,至于程序,我就找了開發(fā)板上現(xiàn)成的(說到這,買個(gè)開發(fā)板還是很必要的,要的是程序)。第一次接觸C編程,void是啥都不懂,那就百度吧,可以說,一個(gè)程序,我要百度很久來理解里面的內(nèi)容,不懂就是問師弟(他們現(xiàn)在是學(xué)C的),差不多一天的時(shí)間(包括查資料),程序也就完成了,當(dāng)然,我還優(yōu)化了原程序,自己改寫后的程序比以前更簡短,占用RAM更少,因?yàn)橹笆菍W(xué)匯編的,一眼就看得出,程序改如何優(yōu)化。

以上就是我的學(xué)習(xí)經(jīng)驗(yàn)了,在這里我還是建議大家,要先學(xué)匯編語言,這沒壞處,比如我,因?yàn)橛袇R編的基礎(chǔ),學(xué)起c來就覺得很上手,特別是自己可以寫出更優(yōu)化的程序。但有人說,匯編難學(xué),就算學(xué)了,以后編程也用不到。那么我要說,我的立方光程序就是匯編的,怎么用不到了?很多單片機(jī)的參考資料,也都是以匯編作為原始資料的,你不懂匯編,怎么學(xué)習(xí)新的功能?學(xué)了匯編后,你會知道,單片機(jī)可以做哪些事情,哪些事情不能做,以及如何做好一件事情,這是單純學(xué)C的人體會不到的。

說,如何才能優(yōu)化程序、寫出最短的程序,那必須先要對單片機(jī)有足夠的了解,而學(xué)習(xí)單片機(jī)的內(nèi)部原理,是非匯編不可的。加上有人學(xué)單片機(jī)是為了向嵌入式進(jìn)階,那么學(xué)習(xí)匯編就是更是必不可少的了。C語言的優(yōu)勢我就不多少了,現(xiàn)在幾乎都是在用C編程,我最近在學(xué)習(xí)C編程,也體會到了C強(qiáng)大,但這不代表我以前學(xué)的匯編就浪費(fèi)了,比如stc的eeprom程序,官方給的就是匯編,可實(shí)際來說,寫成C更好,如果你不懂匯編,自然也無法翻譯這些程序,談何C的應(yīng)用?關(guān)于這兩種語言的話題,我就不再往下說了,免得又引起口水戰(zhàn),如果想學(xué)單片機(jī),我建議學(xué)C,如果你想學(xué)好單片機(jī),那就先學(xué)匯編再學(xué)C,這就我給初學(xué)者的建議。最后要說的是,匯編編程,非常鍛煉人的思維,這也就是為什么都說匯編難學(xué)了,如果你在匯編上有一定的編程能力,那么再掌握其他編程語言的時(shí)候,學(xué)習(xí)過程就會變得很容易。

學(xué)習(xí)單片機(jī)的其它幾個(gè)注意點(diǎn):

1 .理論與實(shí)踐并重

對一個(gè)初學(xué)單片機(jī)的人來說,如果按教科書式的學(xué)法,上來就是一大堆指令、名詞,學(xué)了半天還搞不清這些指令起什么作用,也許用不了幾天就會覺得枯燥乏味以致半途而廢。所以學(xué)習(xí)與實(shí)踐結(jié)合是一個(gè)好方法,邊學(xué)習(xí)、邊演練,循序漸進(jìn),這樣用不了幾次就能將所用到的指令理解、吃透、扎根于腦海,甚至 “ 根深蒂固 ” 。也就是說,當(dāng)你學(xué)習(xí)完幾條指令后 ( 一次數(shù)量不求多,只求懂 ) ,接下去就該做實(shí)驗(yàn)了,通過實(shí)驗(yàn),使你感受到剛才的指令產(chǎn)生的控制效果,眼睛看得見 ( 燈光 ) 、耳朵聽得到 ( 聲音 ) ,更能深刻理解指令是怎樣轉(zhuǎn)化成信號去實(shí)現(xiàn)控制的,通過實(shí)驗(yàn)看到自己所學(xué)的成果不僅有一種成就感也能提升你對單片機(jī)的興趣。說句實(shí)在話,單片機(jī)與其說是學(xué)出來的,還不如說是做實(shí)驗(yàn)練出來的,何況做實(shí)驗(yàn)本身也是一種學(xué)習(xí)過程。因此邊學(xué)邊練的學(xué)習(xí)方法,效果特別好。

2 .合理安排時(shí)間持之以恒

學(xué)習(xí)單片機(jī)不能 “ 三天打魚、兩天曬網(wǎng) ” ,要有持之以恒的毅力與決 4 心。學(xué)習(xí)完幾條指令后,就應(yīng)及時(shí)做實(shí)驗(yàn),融匯貫通,而不要等幾天或幾個(gè)星期之后再做實(shí)驗(yàn),這樣效果不好甚至前學(xué)后忘。另外要有打 “ 持久戰(zhàn) ” 的心理準(zhǔn)備,不要興趣來時(shí)學(xué)上幾天,無興趣時(shí)涼上幾星期。學(xué)習(xí)單片機(jī)很重要的一點(diǎn)就是持之以恒。

3 .遇到問題耐心檢查

單片機(jī)有軟硬件兩方面的內(nèi)容,有時(shí)一個(gè)程序怎么調(diào)都不出效果,然而從理論分析卻又是對的,這是就要仔細(xì)找原因了,學(xué)習(xí)單片機(jī)經(jīng)常碰到很多問題,有時(shí)一兩天都不能解決,這是就要有耐心,從底層找起,相信每找出一個(gè)錯(cuò)誤都會有一個(gè)新的收獲。切不可輕言放棄。

4 .對只短暫學(xué)過一遍的知識,充其量只比浮光掠影稍好。因此,較好的方法是過一段時(shí)間后 (1-2 個(gè)月 ) 再重新學(xué)一遍,學(xué)過的知識要經(jīng)常運(yùn)用,這樣反復(fù)循環(huán)幾次就能徹底弄懂消化,永不忘卻。

5 .要進(jìn)行適當(dāng)投資購買實(shí)驗(yàn)器材及書籍資料

單片機(jī)技術(shù)含金量高,一旦學(xué)會后,給你帶來的效益當(dāng)然也高,無論是應(yīng)聘求職還是自起爐灶開廠辦公司,其前景都光明無限。因此在學(xué)習(xí)時(shí)要舍得適當(dāng)投資購買必要的學(xué)習(xí)、實(shí)驗(yàn)器材。另外還要經(jīng)常去科技圖書店看看,購買一些適合自己學(xué)習(xí)、提高的書籍。一本好的書籍真的很重要,可以隨時(shí)翻閱,隨時(shí)補(bǔ)充不懂或遺忘的知識。

學(xué)習(xí)使用單片機(jī)就是理解單片機(jī)硬件結(jié)構(gòu),以及內(nèi)部資源的應(yīng)用,在匯編或C語言中學(xué)會各種功能的初始化設(shè)置,以及實(shí)現(xiàn)各種功能的程序編制。

希望這些文字或多或少的給初學(xué)者一些幫助,早日入門!

下面推薦一些學(xué)習(xí)的工具

軟件方面方面, 51 單片機(jī)用的是 KEIL 軟件,這個(gè)軟件在學(xué)校圖書館軟件下載和其他網(wǎng)站上都有,具體用法自己查找相關(guān)資料, AVR 的軟件就比較多了,我用的是 CVAVR ,另外還有 ICCAVR 等多款編譯軟件,這要看個(gè)人喜好了,建議有了一定的 51 基礎(chǔ)再學(xué)。另外就是燒寫軟件,燒寫軟件的作用就是將編譯器生成的 HEX 文件燒寫至單片機(jī)里,這要配合下載線實(shí)用,如果有并口的話最好用并口下載線,軟件最好用廣州雙龍的 SLISP 軟件,如果是筆記本沒有并口的話則要自己買一個(gè)下載器了,名稱為 USBASP ,網(wǎng)上電子市場有賣 20 塊錢左右,軟件會隨光盤自帶。

硬件方面,首先是要有單片機(jī),對于單片機(jī)有一點(diǎn)要注意, 51 單片機(jī)最好買 89S51 、 89S52 這兩種型號,上面我所說的燒寫程序是 ISP 方式,這兩種單片機(jī)支持 ISP 下載,所以如果買其他型號的燒寫程序可能會不太方便, AVR 單片機(jī)常用的就是 ATmega16L 其它型號的區(qū)別也不是很大,甚至有些兼容。至于單片機(jī)開發(fā)板,目前的價(jià)格都很貴,從一百到幾百不等,不過像上次學(xué)校里廣告的那個(gè)六十多塊錢的最好還是免了,沒什么作用。能買一塊當(dāng)然好,沒有的話也不要緊,自己動(dòng)手買個(gè)電路板搭一下也很方便,引出 ISP 接口,燒寫程序十分容易,然后將 I/O 口引出擴(kuò)展也很方便。

上一篇:如何評價(jià)搞嵌入式底層的看不起嵌入式上層應(yīng)用開發(fā)?

下一篇:網(wǎng)上普遍稱嵌入式系統(tǒng)人才缺口大,為什么它的工資水平也不是很高

熱點(diǎn)文章推薦
華清學(xué)員就業(yè)榜單
高薪學(xué)員經(jīng)驗(yàn)分享
熱點(diǎn)新聞推薦
前臺專線:010-82525158 企業(yè)培訓(xùn)洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠(yuǎn)見科技集團(tuán)有限公司 版權(quán)所有 ,京ICP備16055225號-5京公海網(wǎng)安備11010802025203號

回到頂部

主站蜘蛛池模板: 亚洲另类精品国产一级欧美忘忧草 | 亚洲午夜无码久久久久小说 | 国产在线高清精品二区 | 日韩成人无码中文字幕 | 久9视频这里只有精品 | 少妇人妻无码永久免费视频 | 国产成人影院一区二区三区 | 美女脱免费看网站女同 | 在线成人爽A毛片免费软件 在线观看片a免费观看岛国 | "亚洲一区 二区" | 欧美日韩精品在线观看视频 | 香港三级日本三级韩国三级 | 啦啦啦中文在线观看日本 | 91老司机免费精品观看 | 精品国产在天天在线观看 | 少妇毛又多又黑又大又粗 | JIZZ国产精品免费 | 精品无人乱码一区二区三区的优势 | 青青草国产成人a∨ | 最近2019免费中文字幕视频三 | 中文字幕日产A片在线看 | 免费一级在线视频 | 老师您的兔子好软水好多樱花国漫 | 国产成人免费ā片在线观看 | 久久精品国产亚洲77777 | 久久亚洲AV午夜福利精品一区 | 黄污免费网站 | 99热精国产这里只有精品 | 欧洲美熟女乱又伦 | 片毛片| 久久精品国产亚洲欧美 | 全程粗话对白视频videos | 公在厨房扒开腿让我爽了在线观看 | 另类 亚洲 图片 激情 欧美 | 日韩欧美中文字幕在线三区 | 无套内谢少妇毛片a片樱花 亚洲精品成人网久久久久久 | 国产成人精品视频网站 | 啦啦啦高清在线观看www | 精品熟女碰碰人人A久久 | 免费AV大片在线观看入口 | 无遮挡A级毛片免费看 |