久久婷婷香蕉热狠狠综合,精品无码国产自产拍在线观看蜜,寡妇房东在做爰3,中文字幕日本人妻久久久免费,国产成人精品三上悠亚久久

當前位置:首頁 > 嵌入式培訓 > IT培訓問題庫 > 怎(zen)樣能學(xue)好單片(pian)機,牛人告訴你

怎樣能學(xue)好(hao)單片機,牛人告訴你(ni) 時間(jian):2018-05-14 ;     來源:未知

單(dan)片機(Microcontrollers)是一(yi)種集成(cheng)電(dian)(dian)路(lu)芯片,是采用(yong)超大規模集成(cheng)電(dian)(dian)路(lu)技術把具有數據處理能力的中央處理器(qi)CPU、隨機存(cun)儲(chu)器(qi)RAM、只讀存(cun)儲(chu)器(qi)ROM、多種I/O口和中斷系(xi)統、定時器(qi)/計(ji)數器(qi)等功能(可能還包括顯(xian)示驅動電(dian)(dian)路(lu)、脈寬調制電(dian)(dian)路(lu)、模擬多路(lu)轉換器(qi)、A/D轉換器(qi)等電(dian)(dian)路(lu))集成(cheng)到一(yi)塊硅片上構成(cheng)的一(yi)個小而(er)完善(shan)的微(wei)型計(ji)算機系(xi)統,在工業(ye)控(kong)制領域廣泛(fan)應用(yong)。

單(dan)(dan)片機(ji)誕生于20世(shi)紀70年(nian)(nian)代。所謂單(dan)(dan)片機(ji)是利用大(da)(da)規模集(ji)成(cheng)電(dian)路技術把(ba)中(zhong)央處理單(dan)(dan)元(Center Processing Unit,也即(ji)常(chang)稱的(de)(de)CPU)和數(shu)據存儲器(qi)(qi)(qi)(RAM)、程(cheng)序存儲器(qi)(qi)(qi)(ROM)及其(qi)他I/O通信口集(ji)成(cheng)在(zai)(zai)一(yi)塊芯片上(shang),構成(cheng)一(yi)個最小的(de)(de)計算機(ji)系(xi)統,再加(jia)上(shang)了(le)中(zhong)斷(duan)單(dan)(dan)元,定時(shi)單(dan)(dan)元及A/D轉換等更(geng)復雜、更(geng)完善的(de)(de)電(dian)路,使得(de)單(dan)(dan)片機(ji)的(de)(de)功能越(yue)(yue)(yue)來(lai)(lai)(lai)越(yue)(yue)(yue)強(qiang)大(da)(da),應用更(geng)廣(guang)泛[1]。現在(zai)(zai)更(geng)多(duo)單(dan)(dan)片機(ji)的(de)(de)發(fa)展(zhan)已經進(jin)(jin)入(ru)了(le)嵌入(ru)式系(xi)統時(shi)代, 由于制(zhi)造工藝的(de)(de)進(jin)(jin)步,有如(ru) VHDL、RTOS、CPLD、FPGA、DSP、ARM等這(zhe)一(yi)系(xi)列可編(bian)程(cheng)器(qi)(qi)(qi)件(jian)的(de)(de)體(ti)積(ji)越(yue)(yue)(yue)來(lai)(lai)(lai)越(yue)(yue)(yue)小、成(cheng)本(ben)越(yue)(yue)(yue)來(lai)(lai)(lai)越(yue)(yue)(yue)低,而功能是越(yue)(yue)(yue)來(lai)(lai)(lai)越(yue)(yue)(yue)能滿足(zu)人們的(de)(de)需要。自(zi)上(shang)世(shi)紀 80年(nian)(nian)代以(yi)來(lai)(lai)(lai),單(dan)(dan)片機(ji)技術在(zai)(zai)我國(guo)各個控(kong)(kong)制(zhi)領域得(de)到(dao)了(le)廣(guang)泛應用,各個世(shi)界半導(dao)體(ti)公司(si)都非常(chang)看好中(zhong)國(guo)這(zhe)個龐大(da)(da)的(de)(de)市場而紛(fen)紛(fen)到(dao)中(zhong)國(guo)來(lai)(lai)(lai)投資建(jian)廠,如(ru)在(zai)(zai)蘇州就有日本(ben)的(de)(de)瑞薩(sa)、松下、美國(guo)的(de)(de)快捷(jie)等半導(dao)體(ti)公司(si)在(zai)(zai)中(zhong)的(de)(de)生產廠地。同時(shi)面(mian)對(dui)這(zhe)一(yi)技術的(de)(de)不斷(duan)發(fa)展(zhan),我國(guo)大(da)(da)部分高校(xiao)都已經把(ba)單(dan)(dan)片機(ji)方面(mian)的(de)(de)課(ke)(ke)程(cheng)作為學生的(de)(de)必修課(ke)(ke),這(zhe)為我國(guo)近些(xie)年(nian)(nian)來(lai)(lai)(lai)的(de)(de)科技、工業(ye)控(kong)(kong)制(zhi)等方面(mian)的(de)(de)發(fa)展(zhan)培(pei)養了(le)大(da)(da)量人才,而且社(she)會(hui)對(dui)此方面(mian)的(de)(de)人才需求還(huan)在(zai)(zai)不斷(duan)的(de)(de)增加(jia)。面(mian)對(dui)如(ru)此情況,作為在(zai)(zai)校(xiao)學生,又(you)該從(cong)何學起?如(ru)何學好這(zhe)門課(ke)(ke)程(cheng)呢(ni)?又(you)怎樣才能不讓自(zi)己學了(le)等于沒學呢(ni)?本(ben)文(wen)在(zai)(zai)多(duo)年(nian)(nian)實踐的(de)(de)基礎上(shang),介紹自(zi)已的(de)(de)一(yi)些(xie)感受和經驗。

1.理解(jie)單片機的結構

對于(yu)一(yi)個初學者(zhe),最迷糊的(de)(de)就是對單片機芯(xin)片里面的(de)(de)結(jie)構的(de)(de)理解,小小的(de)(de)一(yi)個芯(xin)片為何能(neng)完(wan)成(cheng)如此神奇的(de)(de)功能(neng)。

第一(yi)(yi)次從事(shi)電(dian)(dian)(dian)子(zi)(zi)方面(mian)(mian)的(de)(de)工作,也總(zong)對那(nei)黑黑的(de)(de)芯(xin)片(pian)里面(mian)(mian)感到不(bu)可(ke)(ke)思意的(de)(de)神奇。直到有(you)(you)一(yi)(yi)天,在檢修一(yi)(yi)臺日本(ben)(ben)二手(shou)電(dian)(dian)(dian)子(zi)(zi)市場里買來(lai)(lai)(lai)的(de)(de)程控(kong)交換機(ji)時,發現里面(mian)(mian)有(you)(you)一(yi)(yi)塊(kuai)黑東西上的(de)(de)黑膠已經裂開(kai),把(ba)它(ta)撬開(kai)一(yi)(yi)看(kan),里面(mian)(mian)就(jiu)(jiu)是(shi)(shi)一(yi)(yi)塊(kuai)電(dian)(dian)(dian)路(lu)(lu)(lu)板(ban)(ban),上面(mian)(mian)焊滿了(le)密密麻(ma)麻(ma)的(de)(de)電(dian)(dian)(dian)子(zi)(zi)零(ling)件(jian)(jian)。終于(yu)有(you)(you)點明白(bai),原來(lai)(lai)(lai)芯(xin)片(pian)也可(ke)(ke)以(yi)這樣做(zuo)成。當(dang)然當(dang)時所見的(de)(de)那(nei)塊(kuai)電(dian)(dian)(dian)路(lu)(lu)(lu)板(ban)(ban)是(shi)(shi)不(bu)能(neng)被(bei)稱之為芯(xin)片(pian)的(de)(de),那(nei)只(zhi)是(shi)(shi)日本(ben)(ben)的(de)(de)電(dian)(dian)(dian)子(zi)(zi)制造公司為了(le)防(fang)止別人(ren)抄襲而把(ba)整個(ge)(ge)電(dian)(dian)(dian)路(lu)(lu)(lu)板(ban)(ban)密封(feng)起(qi)(qi)來(lai)(lai)(lai)或(huo)其(qi)(qi)它(ta)原因,只(zhi)引(yin)出幾(ji)個(ge)(ge)的(de)(de)引(yin)腳與(yu)其(qi)(qi)它(ta)電(dian)(dian)(dian)路(lu)(lu)(lu)連接(jie)(jie)。不(bu)過它(ta)可(ke)(ke)以(yi)讓人(ren)聯想到芯(xin)片(pian)的(de)(de)基(ji)本(ben)(ben)結構與(yu)此(ci)相(xiang)類似(si),如果把(ba)那(nei)些(xie)內眼看(kan)得見的(de)(de)電(dian)(dian)(dian)子(zi)(zi)零(ling)件(jian)(jian)再縮小一(yi)(yi)千倍或(huo)更小以(yi)至于(yu)能(neng)把(ba)所有(you)(you)電(dian)(dian)(dian)子(zi)(zi)零(ling)件(jian)(jian)做(zuo)在一(yi)(yi)個(ge)(ge)硅(gui)片(pian)上,那(nei)也就(jiu)(jiu)成了(le)名副其(qi)(qi)實的(de)(de)芯(xin)片(pian)了(le)。我們不(bu)防(fang)以(yi)圖1所示的(de)(de)電(dian)(dian)(dian)路(lu)(lu)(lu)及(ji)電(dian)(dian)(dian)路(lu)(lu)(lu)板(ban)(ban)來(lai)(lai)(lai)做(zuo)一(yi)(yi)個(ge)(ge)生動形象的(de)(de)介紹。該圖是(shi)(shi)一(yi)(yi)個(ge)(ge)直流(liu)馬達可(ke)(ke)以(yi)正反兩個(ge)(ge)方向(xiang)轉動的(de)(de)電(dian)(dian)(dian)路(lu)(lu)(lu),做(zuo)成電(dian)(dian)(dian)路(lu)(lu)(lu)板(ban)(ban)并焊好(hao)電(dian)(dian)(dian)子(zi)(zi)元(yuan)件(jian)(jian)后,經測(ce)試沒(mei)有(you)(you)問題(ti)就(jiu)(jiu)可(ke)(ke)以(yi)用(yong)黑膠(通常采用(yong)酚醛樹脂等材料)把(ba)所有(you)(you)電(dian)(dian)(dian)子(zi)(zi)元(yuan)件(jian)(jian)封(feng)起(qi)(qi)來(lai)(lai)(lai),只(zhi)留六個(ge)(ge)引(yin)腳來(lai)(lai)(lai)與(yu)外部電(dian)(dian)(dian)路(lu)(lu)(lu)連接(jie)(jie),這樣看(kan)起(qi)(qi)來(lai)(lai)(lai)就(jiu)(jiu)好(hao)像是(shi)(shi)一(yi)(yi)個(ge)(ge)芯(xin)片(pian)。

知道了一(yi)般芯片(pian)的(de)(de)(de)原理,同樣(yang)可以更進一(yi)步(bu)想象單(dan)片(pian)機為什(shen)么(me)會執行邏輯運算等(deng)(deng)功能,這就牽涉到(dao)數(shu)(shu)字電(dian)(dian)(dian)路和(he)(he)模擬電(dian)(dian)(dian)路的(de)(de)(de)知識(shi)(shi)。其實不(bu)管一(yi)個單(dan)片(pian)機的(de)(de)(de)功能是(shi)如(ru)何的(de)(de)(de)強大,其只(zhi)不(bu)過是(shi)把許(xu)多(duo)以微米,甚至是(shi)納米為單(dan)位級的(de)(de)(de)數(shu)(shu)字的(de)(de)(de)和(he)(he)模擬電(dian)(dian)(dian)子器件組成。要做到(dao)對單(dan)片(pian)機內部結果真正的(de)(de)(de)了解,還(huan)必須得先要有很(hen)扎(zha)實的(de)(de)(de)電(dian)(dian)(dian)路基礎(chu)、模擬電(dian)(dian)(dian)路、數(shu)(shu)字電(dian)(dian)(dian)路等(deng)(deng)方面的(de)(de)(de)知識(shi)(shi),否則(ze)可能就是(shi)空(kong)中樓閣(ge)。

2.理(li)清邏(luo)輯思維

學(xue)習(xi)單(dan)(dan)片(pian)(pian)機(ji)(ji)(ji)是(shi)(shi)(shi)最(zui)(zui)重(zhong)要(yao)的(de)(de)(de)(de)一(yi)(yi)(yi)點就(jiu)(jiu)(jiu)是(shi)(shi)(shi)不(bu)(bu)(bu)(bu)能(neng)(neng)(neng)糊涂,不(bu)(bu)(bu)(bu)能(neng)(neng)(neng)把(ba)(ba)(ba)邏(luo)輯關(guan)系搞得(de)亂七八糟。對(dui)(dui)于初(chu)學(xue)單(dan)(dan)片(pian)(pian)機(ji)(ji)(ji)時,要(yao)學(xue)會(hui)(hui)把(ba)(ba)(ba)一(yi)(yi)(yi)個程(cheng)式的(de)(de)(de)(de)邏(luo)輯性關(guan)系用(yong)流(liu)(liu)(liu)程(cheng)圖的(de)(de)(de)(de)形式清(qing)楚(chu)(chu)的(de)(de)(de)(de)表(biao)示(shi)(shi)出來。至于用(yong)來編寫(xie)程(cheng)式的(de)(de)(de)(de)單(dan)(dan)片(pian)(pian)機(ji)(ji)(ji)的(de)(de)(de)(de)語(yu)言是(shi)(shi)(shi)很(hen)(hen)簡(jian)單(dan)(dan)的(de)(de)(de)(de),不(bu)(bu)(bu)(bu)要(yao)把(ba)(ba)(ba)它想象(xiang)(xiang)得(de)很(hen)(hen)神秘,不(bu)(bu)(bu)(bu)管是(shi)(shi)(shi)匯編語(yu)言、C語(yu)言、還是(shi)(shi)(shi)更高(gao)級的(de)(de)(de)(de)VC++和圖示(shi)(shi)化(hua)語(yu)言(如(ru)LABVIEW),都只不(bu)(bu)(bu)(bu)過(guo)是(shi)(shi)(shi)把(ba)(ba)(ba)我們(men)清(qing)楚(chu)(chu)的(de)(de)(de)(de)邏(luo)輯思(si)維告訴(su)單(dan)(dan)片(pian)(pian)機(ji)(ji)(ji)處理器,并指(zhi)(zhi)(zhi)令(ling)(ling)(ling)它將要(yao)被如(ru)何(he)進行邏(luo)輯操作。把(ba)(ba)(ba)單(dan)(dan)片(pian)(pian)機(ji)(ji)(ji)的(de)(de)(de)(de)指(zhi)(zhi)(zhi)令(ling)(ling)(ling)看得(de)很(hen)(hen)重(zhong)要(yao)應(ying)該是(shi)(shi)(shi)我們(men)大家在學(xue)習(xi)單(dan)(dan)片(pian)(pian)機(ji)(ji)(ji)時的(de)(de)(de)(de)一(yi)(yi)(yi)個最(zui)(zui)大的(de)(de)(de)(de)誤區,老是(shi)(shi)(shi)擔心指(zhi)(zhi)(zhi)令(ling)(ling)(ling)記(ji)不(bu)(bu)(bu)(bu)住、不(bu)(bu)(bu)(bu)會(hui)(hui)用(yong),這(zhe)(zhe)也(ye)是(shi)(shi)(shi)學(xue)習(xi)單(dan)(dan)片(pian)(pian)機(ji)(ji)(ji)還沒入門、上(shang)路(lu)(lu)(lu)的(de)(de)(de)(de)主要(yao)表(biao)現(xian)(xian)(xian)。其(qi)實這(zhe)(zhe)樣有什么擔心的(de)(de)(de)(de)呢,記(ji)不(bu)(bu)(bu)(bu)住就(jiu)(jiu)(jiu)不(bu)(bu)(bu)(bu)要(yao)強求好(hao)了(le)(le)(le)(le),把(ba)(ba)(ba)指(zhi)(zhi)(zhi)令(ling)(ling)(ling)放在旁邊,當(dang)把(ba)(ba)(ba)邏(luo)輯關(guan)系清(qing)理好(hao)之(zhi)后,再來對(dui)(dui)著(zhu)指(zhi)(zhi)(zhi)令(ling)(ling)(ling)表(biao)確(que)定哪個邏(luo)輯關(guan)系由哪些指(zhi)(zhi)(zhi)令(ling)(ling)(ling)來完成(cheng)(cheng),當(dang)一(yi)(yi)(yi)條指(zhi)(zhi)(zhi)令(ling)(ling)(ling)運用(yong)得(de)幾次后,根(gen)本(ben)就(jiu)(jiu)(jiu)用(yong)不(bu)(bu)(bu)(bu)著(zhu)擔心不(bu)(bu)(bu)(bu)知(zhi)(zhi)道指(zhi)(zhi)(zhi)令(ling)(ling)(ling)不(bu)(bu)(bu)(bu)會(hui)(hui)用(yong)了(le)(le)(le)(le)。退一(yi)(yi)(yi)步講,即使真的(de)(de)(de)(de)記(ji)不(bu)(bu)(bu)(bu)得(de)指(zhi)(zhi)(zhi)令(ling)(ling)(ling),參照書本(ben)的(de)(de)(de)(de)指(zhi)(zhi)(zhi)令(ling)(ling)(ling)用(yong)法也(ye)完全(quan)可行,現(xian)(xian)(xian)在的(de)(de)(de)(de)知(zhi)(zhi)識(shi)量是(shi)(shi)(shi)海量,全(quan)把(ba)(ba)(ba)所(suo)(suo)(suo)學(xue)的(de)(de)(de)(de)知(zhi)(zhi)識(shi)死記(ji)在腦子里(li)肯定會(hui)(hui)把(ba)(ba)(ba)腦袋漲(zhang)破。在寫(xie)程(cheng)序(xu)(xu)時,只要(yao)程(cheng)序(xu)(xu)的(de)(de)(de)(de)邏(luo)輯關(guan)系調理清(qing)楚(chu)(chu)了(le)(le)(le)(le),寫(xie)起(qi)(qi)來就(jiu)(jiu)(jiu)好(hao)比做簡(jian)單(dan)(dan)的(de)(de)(de)(de)翻(fan)譯(yi)工作,把(ba)(ba)(ba)邏(luo)輯關(guan)系翻(fan)譯(yi)成(cheng)(cheng)計算機(ji)(ji)(ji)語(yu)言來表(biao)示(shi)(shi)。3對(dui)(dui)微觀世(shi)界的(de)(de)(de)(de)想象(xiang)(xiang)曾(ceng)經在設計電(dian)(dian)(dian)路(lu)(lu)(lu)板(ban)時,為了(le)(le)(le)(le)讓(rang)線(xian)路(lu)(lu)(lu)中的(de)(de)(de)(de)電(dian)(dian)(dian)流(liu)(liu)(liu)能(neng)(neng)(neng)流(liu)(liu)(liu)暢的(de)(de)(de)(de)通過(guo)線(xian)路(lu)(lu)(lu),為了(le)(le)(le)(le)所(suo)(suo)(suo)設計的(de)(de)(de)(de)電(dian)(dian)(dian)路(lu)(lu)(lu)板(ban)能(neng)(neng)(neng)滿足(zu)各種測(ce)試(shi)條件下的(de)(de)(de)(de)安全(quan)標準(zhun)(zhun),如(ru)UL標準(zhun)(zhun)要(yao)求最(zui)(zui)長(chang)的(de)(de)(de)(de)電(dian)(dian)(dian)源地(di)線(xian)不(bu)(bu)(bu)(bu)能(neng)(neng)(neng)過(guo) 0.02歐(ou)姆(mu)(其(qi)測(ce)試(shi)條件是(shi)(shi)(shi)在20A的(de)(de)(de)(de)電(dian)(dian)(dian)流(liu)(liu)(liu)情(qing)況下測(ce)量它的(de)(de)(de)(de)功(gong)率P=I2R)。如(ru)果(guo)假如(ru)是(shi)(shi)(shi)0.02歐(ou)姆(mu),通以20A的(de)(de)(de)(de)電(dian)(dian)(dian)流(liu)(liu)(liu),那這(zhe)(zhe)條線(xian)路(lu)(lu)(lu)的(de)(de)(de)(de)發(fa)熱功(gong)率將會(hui)(hui)是(shi)(shi)(shi) 8W。把(ba)(ba)(ba)電(dian)(dian)(dian)流(liu)(liu)(liu)看作是(shi)(shi)(shi)我們(men)宏(hong)觀世(shi)界里(li)的(de)(de)(de)(de)水,線(xian)路(lu)(lu)(lu)就(jiu)(jiu)(jiu)好(hao)比一(yi)(yi)(yi)條水溝。要(yao)讓(rang)水在水溝里(li)怎么流(liu)(liu)(liu),這(zhe)(zhe)理所(suo)(suo)(suo)當(dang)然是(shi)(shi)(shi)很(hen)(hen)容易控制的(de)(de)(de)(de)了(le)(le)(le)(le)。如(ru)水在急(ji)(ji)轉彎的(de)(de)(de)(de)地(di)方會(hui)(hui)起(qi)(qi)漩渦,會(hui)(hui)對(dui)(dui)急(ji)(ji)轉達(da)彎的(de)(de)(de)(de)溝的(de)(de)(de)(de)對(dui)(dui)面(mian)產(chan)生沖(chong)擊(ji)。同樣在電(dian)(dian)(dian)路(lu)(lu)(lu)板(ban)上(shang)的(de)(de)(de)(de)線(xian)路(lu)(lu)(lu)如(ru)果(guo)存在急(ji)(ji)轉彎的(de)(de)(de)(de)情(qing)況,電(dian)(dian)(dian)流(liu)(liu)(liu)也(ye)會(hui)(hui)引(yin)起(qi)(qi)渦流(liu)(liu)(liu),也(ye)會(hui)(hui)對(dui)(dui)線(xian)路(lu)(lu)(lu)的(de)(de)(de)(de)拐點處有一(yi)(yi)(yi)個沖(chong)擊(ji)作用(yong)而產(chan)生輻射。這(zhe)(zhe)樣一(yi)(yi)(yi)來,在理解了(le)(le)(le)(le)這(zhe)(zhe)一(yi)(yi)(yi)原理之(zhi)后,每(mei)一(yi)(yi)(yi)次電(dian)(dian)(dian)路(lu)(lu)(lu)板(ban)的(de)(de)(de)(de)設計完成(cheng)(cheng)之(zhi)后,所(suo)(suo)(suo)有的(de)(de)(de)(de)測(ce)試(shi)都能(neng)(neng)(neng)一(yi)(yi)(yi)次通過(guo)。可見(jian)把(ba)(ba)(ba)微觀世(shi)界想象(xiang)(xiang)成(cheng)(cheng)宏(hong)觀世(shi)界相類似的(de)(de)(de)(de)事物或過(guo)程(cheng)是(shi)(shi)(shi)非常有幫助的(de)(de)(de)(de)。現(xian)(xian)(xian)代電(dian)(dian)(dian)子世(shi)界,特(te)別是(shi)(shi)(shi)微電(dian)(dian)(dian)子,要(yao)想看清(qing)他的(de)(de)(de)(de)真面(mian)目,只有在高(gao)清(qing)昕度的(de)(de)(de)(de)顯微鏡下才能(neng)(neng)(neng)看到(dao)他的(de)(de)(de)(de)外(wai)形,可是(shi)(shi)(shi)即使了(le)(le)(le)(le)解了(le)(le)(le)(le)它的(de)(de)(de)(de)外(wai)形,也(ye)只不(bu)(bu)(bu)(bu)過(guo)是(shi)(shi)(shi)知(zhi)(zhi)其(qi)然而不(bu)(bu)(bu)(bu)知(zhi)(zhi)其(qi)所(suo)(suo)(suo)以然,它的(de)(de)(de)(de)工作過(guo)程(cheng)根(gen)本(ben)無法看得(de)到(dao)。

現在單片機(ji)結構越(yue)來(lai)越(yue)復雜,集成度(du)越(yue)來(lai)越(yue)高,存儲(chu)量越(yue)來(lai)越(yue)大,將來(lai)還(huan)可能采(cai)用(yong)分(fen)(fen)子級電子晶體管呢。它的(de)(de)運(yun)行速度(du)也是如(ru)(ru)此的(de)(de)越(yue)來(lai)越(yue)快,現在已經是采(cai)用(yong)納秒級來(lai)定(ding)義(yi)它的(de)(de)運(yun)行時(shi)(shi)間(jian)(jian)了,最長(chang)的(de)(de)運(yun)行一(yi)(yi)條指令(ling)的(de)(de)時(shi)(shi)間(jian)(jian)最多(duo)不(bu)過(guo)一(yi)(yi)兩個(ge)微秒,簡直就是比一(yi)(yi)閃而過(guo)還(huan)要(yao)(yao)少好多(duo)好多(duo)。既(ji)然我(wo)們(men)可以在空(kong)間(jian)(jian)上利用(yong)放大鏡(jing)把外形放大后(hou)來(lai)了解,那(nei)么同(tong)樣(yang)(yang)可以在時(shi)(shi)間(jian)(jian)上把時(shi)(shi)間(jian)(jian)拉長(chang)來(lai)解。不(bu)訪把一(yi)(yi)微秒當作時(shi)(shi)一(yi)(yi)分(fen)(fen)鐘或一(yi)(yi)小時(shi)(shi)來(lai)理(li)解,這(zhe)樣(yang)(yang)我(wo)們(men)就不(bu)難(nan)理(li)解CPU就如(ru)(ru)人一(yi)(yi)樣(yang)(yang)在處(chu)(chu)理(li)某一(yi)(yi)條指令(ling)。比如(ru)(ru)指令(ling) “MOV A,01H”就是CPU把數(shu)據(ju)01H送到A累(lei)加器,在這(zhe)個(ge)運(yun)送的(de)(de)過(guo)程就如(ru)(ru)人搬運(yun)東西的(de)(de)過(guo)程,這(zhe)個(ge)過(guo)程的(de)(de)處(chu)(chu)理(li)時(shi)(shi)間(jian)(jian)就是CPU處(chu)(chu)理(li)一(yi)(yi)個(ge)指令(ling)的(de)(de)時(shi)(shi)間(jian)(jian),通常稱(cheng)之為指令(ling)周(zhou)期。有些時(shi)(shi)候單片機(ji)會出現對(dui)某個(ge)操(cao)作處(chu)(chu)理(li)的(de)(de)時(shi)(shi)間(jian)(jian)不(bu)夠,如(ru)(ru)進行數(shu)據(ju)采(cai)集時(shi)(shi),被采(cai)集的(de)(de)信(xin)號相對(dui)于(yu)單片機(ji)處(chu)(chu)理(li)時(shi)(shi)間(jian)(jian)比較快就會出現數(shu)據(ju)遺(yi)失的(de)(de)情況(kuang),這(zhe)就要(yao)(yao)求單片機(ji)的(de)(de)運(yun)行速度(du)更快。如(ru)(ru)果(guo)沒(mei)有這(zhe)處(chu)(chu)微觀(guan)時(shi)(shi)間(jian)(jian)的(de)(de)概(gai)念,就很難(nan)理(li)解怎(zen)么會出現這(zhe)種(zhong)情況(kuang)。

那么如何(he)編程(cheng)呢?有人(ren)說(shuo)先(xian)畫(hua)流(liu)程(cheng)圖,然后再寫程(cheng)序、調試。我(wo)想,這是數學比我(wo)好的(de)人(ren)說(shuo)的(de),我(wo)的(de)方法如下(xia):

1、用文(wen)字描述(shu)自(zi)己需要的功能

2、拆分出(chu)各個功能,用文(wen)字(zi)描述每個功能是如何實現的

3、完成(cheng)各個(ge)功能(neng)的(de)程序(xu),并做好測試,對于我(wo)來說(shuo),如果了解單(dan)片機的(de)工(gong)作方式(shi),那(nei)么編寫程序(xu)其實就(jiu)是把漢語翻譯成(cheng)匯(hui)編語言。

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

5、合并(bing)簡單功能模(mo)塊,復(fu)雜功能逐一(yi)合并(bing),每次(ci)合并(bing)做好程序備(bei)份,以(yi)便糾錯

6、如果上述(shu)工作做的足夠好,那(nei)么可(ke)以(yi)直(zhi)接得(de)到想要的結果,我的程序往往都(dou)是寫完了就可(ke)以(yi)用,這是建立在(zai)部(bu)分模塊程序的完美基礎之上的。

如果(guo)是(shi)(shi)設(she)計了獨一無二(er)的(de)作品,比(bi)如說我(wo)的(de)立(li)方光(我(wo)是(shi)(shi)獨立(li)設(she)計的(de)原(yuan)理和程序,不管是(shi)(shi)新版(ban)還是(shi)(shi)舊版(ban)),那就在第一條(tiao)補充一條(tiao):構思(si),這需要你對單片(pian)機很了解,預(yu)想如何(he)實現(xian),會遇到什么樣的(de)問題,以(yi)及解決的(de)方案。立(li)方光我(wo)構思(si)了2個月,真正做(zuo)實物的(de)時(shi)間,只(zhi)有一周(zhou)。等到了新版(ban)立(li)方光問世(shi),我(wo)也是(shi)(shi)用了三周(zhou)構思(si),一周(zhou)做(zuo)實物。

學習c語言

通過一段(duan)時(shi)間的學(xue)習,我認識到了匯編語言的優越性(xing),也認識到它的缺點,這點我們(men)稍(shao)后再說,先說一下我現在學(xue)習c語言的情況。

因為之前有了(le)做實物和編程(cheng)(cheng)(cheng)的(de)基(ji)礎,我(wo)就(jiu)通過項目來學習C,比如,做一個(ge)(ge)溫度(du)(du)顯示(shi),用到了(le)18B20,就(jiu)自(zi)己(ji)百度(du)(du)資(zi)(zi)料,至于程(cheng)(cheng)(cheng)序(xu)(xu),我(wo)就(jiu)找了(le)開發(fa)(fa)板上現(xian)(xian)成的(de)(說到這,買個(ge)(ge)開發(fa)(fa)板還是很(hen)必(bi)要的(de),要的(de)是程(cheng)(cheng)(cheng)序(xu)(xu))。第一次接(jie)觸C編程(cheng)(cheng)(cheng),void是啥(sha)都不懂(dong),那就(jiu)百度(du)(du)吧,可以(yi)(yi)說,一個(ge)(ge)程(cheng)(cheng)(cheng)序(xu)(xu),我(wo)要百度(du)(du)很(hen)久來理解里面的(de)內容,不懂(dong)就(jiu)是問師弟(他們現(xian)(xian)在是學C的(de)),差不多一天(tian)的(de)時間(包括查資(zi)(zi)料),程(cheng)(cheng)(cheng)序(xu)(xu)也就(jiu)完成了(le),當然,我(wo)還優化了(le)原程(cheng)(cheng)(cheng)序(xu)(xu),自(zi)己(ji)改寫后的(de)程(cheng)(cheng)(cheng)序(xu)(xu)比以(yi)(yi)前更簡短,占用RAM更少,因為之前是學匯編的(de),一眼(yan)就(jiu)看得出,程(cheng)(cheng)(cheng)序(xu)(xu)改如何(he)優化。

以(yi)上就(jiu)是(shi)我(wo)的(de)(de)學(xue)(xue)習經驗了,在這里我(wo)還是(shi)建議大家,要先學(xue)(xue)匯(hui)編(bian)語言,這沒壞(huai)處,比如我(wo),因為有(you)(you)匯(hui)編(bian)的(de)(de)基礎,學(xue)(xue)起(qi)c來(lai)就(jiu)覺得很上手(shou),特別(bie)是(shi)自己(ji)可以(yi)寫出更優化(hua)的(de)(de)程序(xu)。但(dan)有(you)(you)人說,匯(hui)編(bian)難(nan)學(xue)(xue),就(jiu)算學(xue)(xue)了,以(yi)后編(bian)程也用(yong)不到。那么(me)(me)我(wo)要說,我(wo)的(de)(de)立(li)方(fang)光程序(xu)就(jiu)是(shi)匯(hui)編(bian)的(de)(de),怎(zen)(zen)么(me)(me)用(yong)不到了?很多單片機的(de)(de)參考資料,也都是(shi)以(yi)匯(hui)編(bian)作為原始資料的(de)(de),你不懂(dong)匯(hui)編(bian),怎(zen)(zen)么(me)(me)學(xue)(xue)習新的(de)(de)功能(neng)?學(xue)(xue)了匯(hui)編(bian)后,你會知道,單片機可以(yi)做哪(na)些(xie)事情,哪(na)些(xie)事情不能(neng)做,以(yi)及(ji)如何做好一件事情,這是(shi)單純(chun)學(xue)(xue)C的(de)(de)人體會不到的(de)(de)。

說(shuo)(shuo),如(ru)(ru)何才能優化程(cheng)(cheng)(cheng)序、寫(xie)出最(zui)(zui)短的(de)(de)(de)(de)程(cheng)(cheng)(cheng)序,那(nei)必(bi)須(xu)先要對(dui)單(dan)(dan)(dan)片(pian)(pian)機有足夠(gou)的(de)(de)(de)(de)了(le)解,而學(xue)習(xi)單(dan)(dan)(dan)片(pian)(pian)機的(de)(de)(de)(de)內部原(yuan)理,是(shi)(shi)非(fei)匯(hui)編(bian)(bian)不(bu)(bu)可的(de)(de)(de)(de)。加上有人學(xue)單(dan)(dan)(dan)片(pian)(pian)機是(shi)(shi)為了(le)向嵌(qian)入式(shi)進(jin)階,那(nei)么學(xue)習(xi)匯(hui)編(bian)(bian)就是(shi)(shi)更是(shi)(shi)必(bi)不(bu)(bu)可少(shao)的(de)(de)(de)(de)了(le)。C語言(yan)的(de)(de)(de)(de)優勢我(wo)(wo)(wo)就不(bu)(bu)多少(shao)了(le),現在(zai)幾乎都(dou)是(shi)(shi)在(zai)用C編(bian)(bian)程(cheng)(cheng)(cheng),我(wo)(wo)(wo)最(zui)(zui)近在(zai)學(xue)習(xi)C編(bian)(bian)程(cheng)(cheng)(cheng),也(ye)體會到(dao)了(le)C強大,但這不(bu)(bu)代表(biao)我(wo)(wo)(wo)以前學(xue)的(de)(de)(de)(de)匯(hui)編(bian)(bian)就浪費(fei)了(le),比如(ru)(ru)stc的(de)(de)(de)(de)eeprom程(cheng)(cheng)(cheng)序,官方給的(de)(de)(de)(de)就是(shi)(shi)匯(hui)編(bian)(bian),可實際來說(shuo)(shuo),寫(xie)成(cheng)C更好,如(ru)(ru)果你不(bu)(bu)懂匯(hui)編(bian)(bian),自然也(ye)無法翻譯(yi)這些程(cheng)(cheng)(cheng)序,談何C的(de)(de)(de)(de)應用?關于這兩種語言(yan)的(de)(de)(de)(de)話題,我(wo)(wo)(wo)就不(bu)(bu)再往(wang)下說(shuo)(shuo)了(le),免得(de)又引起口(kou)水(shui)戰,如(ru)(ru)果想學(xue)單(dan)(dan)(dan)片(pian)(pian)機,我(wo)(wo)(wo)建(jian)議(yi)學(xue)C,如(ru)(ru)果你想學(xue)好單(dan)(dan)(dan)片(pian)(pian)機,那(nei)就先學(xue)匯(hui)編(bian)(bian)再學(xue)C,這就我(wo)(wo)(wo)給初學(xue)者的(de)(de)(de)(de)建(jian)議(yi)。最(zui)(zui)后要說(shuo)(shuo)的(de)(de)(de)(de)是(shi)(shi),匯(hui)編(bian)(bian)編(bian)(bian)程(cheng)(cheng)(cheng),非(fei)常(chang)鍛(duan)煉人的(de)(de)(de)(de)思維(wei),這也(ye)就是(shi)(shi)為什么都(dou)說(shuo)(shuo)匯(hui)編(bian)(bian)難(nan)學(xue)了(le),如(ru)(ru)果你在(zai)匯(hui)編(bian)(bian)上有一定的(de)(de)(de)(de)編(bian)(bian)程(cheng)(cheng)(cheng)能力,那(nei)么再掌握其他編(bian)(bian)程(cheng)(cheng)(cheng)語言(yan)的(de)(de)(de)(de)時候,學(xue)習(xi)過程(cheng)(cheng)(cheng)就會變得(de)很容易。

學習(xi)單片機(ji)的其它幾(ji)個(ge)注意點:

1 .理論與實踐并重

對一個(ge)初學(xue)(xue)單片機的人來說(shuo),如果(guo)按教科(ke)書式的學(xue)(xue)法,上來就(jiu)是(shi)一大堆指(zhi)令(ling)(ling)(ling)(ling)、名詞,學(xue)(xue)了半天還(huan)搞不(bu)(bu)(bu)清(qing)這些(xie)指(zhi)令(ling)(ling)(ling)(ling)起什么作用(yong),也(ye)(ye)許(xu)用(yong)不(bu)(bu)(bu)了幾天就(jiu)會覺得(de)枯燥乏(fa)味以致(zhi)半途而廢。所以學(xue)(xue)習與實(shi)踐結合是(shi)一個(ge)好方法,邊(bian)學(xue)(xue)習、邊(bian)演練(lian),循序漸進,這樣用(yong)不(bu)(bu)(bu)了幾次就(jiu)能(neng)將所用(yong)到的指(zhi)令(ling)(ling)(ling)(ling)理(li)解、吃透、扎根于腦海,甚至 “ 根深蒂(di)固 ” 。也(ye)(ye)就(jiu)是(shi)說(shuo),當你(ni)學(xue)(xue)習完(wan)幾條指(zhi)令(ling)(ling)(ling)(ling)后 ( 一次數量不(bu)(bu)(bu)求(qiu)多,只求(qiu)懂 ) ,接下去(qu)就(jiu)該做實(shi)驗了,通(tong)過實(shi)驗,使你(ni)感受到剛(gang)才的指(zhi)令(ling)(ling)(ling)(ling)產生的控制(zhi)效果(guo),眼睛看(kan)得(de)見 ( 燈光 ) 、耳朵聽得(de)到 ( 聲音(yin) ) ,更(geng)能(neng)深刻理(li)解指(zhi)令(ling)(ling)(ling)(ling)是(shi)怎樣轉(zhuan)化成信(xin)號(hao)去(qu)實(shi)現(xian)控制(zhi)的,通(tong)過實(shi)驗看(kan)到自(zi)己所學(xue)(xue)的成果(guo)不(bu)(bu)(bu)僅有一種(zhong)(zhong)成就(jiu)感也(ye)(ye)能(neng)提升(sheng)你(ni)對單片機的興(xing)趣(qu)。說(shuo)句實(shi)在話(hua),單片機與其說(shuo)是(shi)學(xue)(xue)出(chu)來的,還(huan)不(bu)(bu)(bu)如說(shuo)是(shi)做實(shi)驗練(lian)出(chu)來的,何況做實(shi)驗本身也(ye)(ye)是(shi)一種(zhong)(zhong)學(xue)(xue)習過程。因(yin)此邊(bian)學(xue)(xue)邊(bian)練(lian)的學(xue)(xue)習方法,效果(guo)特別好。

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

學(xue)(xue)習單(dan)片機(ji)不(bu)能 “ 三(san)天打魚、兩天曬網 ” ,要有持之以恒(heng)的毅(yi)力與決 4 心(xin)。學(xue)(xue)習完幾(ji)條指(zhi)令后,就應及(ji)時做實驗,融匯貫通(tong),而不(bu)要等幾(ji)天或幾(ji)個(ge)星(xing)期之后再做實驗,這樣效果不(bu)好甚(shen)至前學(xue)(xue)后忘。另外要有打 “ 持久(jiu)戰(zhan) ” 的心(xin)理準備(bei),不(bu)要興趣來時學(xue)(xue)上幾(ji)天,無(wu)興趣時涼上幾(ji)星(xing)期。學(xue)(xue)習單(dan)片機(ji)很重要的一點就是(shi)持之以恒(heng)。

3 .遇到(dao)問題耐心檢查

單(dan)片機(ji)(ji)有軟硬件兩(liang)方面的(de)內容,有時一個程序(xu)怎么調都(dou)不(bu)(bu)出效果,然而從理論分析卻又是(shi)(shi)對(dui)的(de),這(zhe)是(shi)(shi)就要仔(zi)細找原因(yin)了,學習單(dan)片機(ji)(ji)經常碰(peng)到很多問題,有時一兩(liang)天都(dou)不(bu)(bu)能解決,這(zhe)是(shi)(shi)就要有耐心,從底層找起,相信每找出一個錯(cuo)誤都(dou)會有一個新的(de)收獲(huo)。切不(bu)(bu)可(ke)輕言(yan)放棄。

4 .對只短(duan)暫(zan)學(xue)過(guo)一遍的(de)知識,充其(qi)量只比浮光掠(lve)影稍(shao)好(hao)。因此,較好(hao)的(de)方法是過(guo)一段時間后(hou) (1-2 個(ge)月 ) 再重新(xin)學(xue)一遍,學(xue)過(guo)的(de)知識要(yao)經(jing)常運用,這(zhe)樣(yang)反復循環幾次(ci)就能徹(che)底弄懂消化,永不(bu)忘(wang)卻。

5 .要進行適當投資購買實(shi)驗器材及書籍資料(liao)

單片機技術含(han)金量(liang)高(gao),一(yi)旦學(xue)會(hui)后(hou),給(gei)你帶來的(de)效益當然也高(gao),無(wu)論是應聘求職(zhi)還(huan)是自起爐灶(zao)開廠辦(ban)公司(si),其前景都光明無(wu)限(xian)。因此在學(xue)習時要舍得適當投資購買必(bi)要的(de)學(xue)習、實驗(yan)器材。另外還(huan)要經(jing)常去科技圖書(shu)店看看,購買一(yi)些適合自己學(xue)習、提高(gao)的(de)書(shu)籍。一(yi)本好的(de)書(shu)籍真(zhen)的(de)很重要,可以(yi)隨(sui)時翻(fan)閱,隨(sui)時補(bu)充不懂或遺忘的(de)知識。

學(xue)習(xi)使用單(dan)片機就(jiu)是理(li)解單(dan)片機硬件結構(gou),以(yi)及(ji)內(nei)部資源(yuan)的應用,在匯編或C語(yu)言中(zhong)學(xue)會各種(zhong)(zhong)功能的初始化設置,以(yi)及(ji)實現(xian)各種(zhong)(zhong)功能的程序(xu)編制。

希望這些文(wen)字(zi)或(huo)多或(huo)少的(de)給初學者一些幫助,早(zao)日入門!

下面推薦(jian)一些(xie)學(xue)習的工具

軟(ruan)(ruan)件(jian)(jian)方面(mian)方面(mian), 51 單片機用(yong)(yong)的(de)(de)(de)是(shi)(shi) KEIL 軟(ruan)(ruan)件(jian)(jian),這個軟(ruan)(ruan)件(jian)(jian)在學校圖書(shu)館軟(ruan)(ruan)件(jian)(jian)下(xia)載(zai)和(he)其他網站上都有(you)(you),具(ju)體用(yong)(yong)法自(zi)(zi)己(ji)查找相關(guan)資料, AVR 的(de)(de)(de)軟(ruan)(ruan)件(jian)(jian)就比較多了,我用(yong)(yong)的(de)(de)(de)是(shi)(shi) CVAVR ,另(ling)外還有(you)(you) ICCAVR 等多款編(bian)譯軟(ruan)(ruan)件(jian)(jian),這要(yao)看個人喜好了,建議有(you)(you)了一定(ding)的(de)(de)(de) 51 基(ji)礎再學。另(ling)外就是(shi)(shi)燒寫(xie)軟(ruan)(ruan)件(jian)(jian),燒寫(xie)軟(ruan)(ruan)件(jian)(jian)的(de)(de)(de)作用(yong)(yong)就是(shi)(shi)將編(bian)譯器生成(cheng)的(de)(de)(de) HEX 文件(jian)(jian)燒寫(xie)至單片機里,這要(yao)配(pei)合下(xia)載(zai)線實用(yong)(yong),如(ru)果有(you)(you)并(bing)口(kou)的(de)(de)(de)話最好用(yong)(yong)并(bing)口(kou)下(xia)載(zai)線,軟(ruan)(ruan)件(jian)(jian)最好用(yong)(yong)廣州雙龍(long)的(de)(de)(de) SLISP 軟(ruan)(ruan)件(jian)(jian),如(ru)果是(shi)(shi)筆記(ji)本沒有(you)(you)并(bing)口(kou)的(de)(de)(de)話則要(yao)自(zi)(zi)己(ji)買一個下(xia)載(zai)器了,名稱(cheng)為 USBASP ,網上電(dian)子市場有(you)(you)賣(mai) 20 塊錢(qian)左右(you),軟(ruan)(ruan)件(jian)(jian)會隨光盤自(zi)(zi)帶。

硬件(jian)方(fang)(fang)面(mian),首先是(shi)要有(you)(you)單片(pian)(pian)(pian)機(ji)(ji),對于單片(pian)(pian)(pian)機(ji)(ji)有(you)(you)一點要注意(yi), 51 單片(pian)(pian)(pian)機(ji)(ji)最好(hao)買(mai)(mai) 89S51 、 89S52 這(zhe)兩種型(xing)(xing)號(hao),上面(mian)我所(suo)說(shuo)的(de)(de)(de)燒寫程序是(shi) ISP 方(fang)(fang)式,這(zhe)兩種單片(pian)(pian)(pian)機(ji)(ji)支持 ISP 下(xia)載,所(suo)以如(ru)果買(mai)(mai)其(qi)他型(xing)(xing)號(hao)的(de)(de)(de)燒寫程序可能會不(bu)太(tai)方(fang)(fang)便(bian)(bian), AVR 單片(pian)(pian)(pian)機(ji)(ji)常(chang)用的(de)(de)(de)就是(shi) ATmega16L 其(qi)它型(xing)(xing)號(hao)的(de)(de)(de)區別也(ye)不(bu)是(shi)很大,甚至(zhi)有(you)(you)些(xie)兼容。至(zhi)于單片(pian)(pian)(pian)機(ji)(ji)開發板,目前的(de)(de)(de)價格都很貴,從一百(bai)到(dao)幾(ji)百(bai)不(bu)等,不(bu)過像上次學校里廣告的(de)(de)(de)那個六十多塊(kuai)錢的(de)(de)(de)最好(hao)還是(shi)免了,沒什么作(zuo)用。能買(mai)(mai)一塊(kuai)當(dang)然好(hao),沒有(you)(you)的(de)(de)(de)話也(ye)不(bu)要緊,自己動手買(mai)(mai)個電路板搭一下(xia)也(ye)很方(fang)(fang)便(bian)(bian),引出 ISP 接口,燒寫程序十分容易,然后將 I/O 口引出擴展也(ye)很方(fang)(fang)便(bian)(bian)。

上一篇:如何評價搞嵌入式底層的看不起嵌入式上層應用開發?

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

熱點文(wen)章推薦
華清學員就(jiu)業榜單
高薪學員經驗分享(xiang)
熱(re)點(dian)新聞(wen)推薦
前臺專線:010-82525158 企業(ye)培訓洽談專線:010-82525379 院(yuan)校合作洽(qia)談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,,京公海網安備11010802025203號

回到頂部