 零基礎單片機自(zi)學要多長時間(jian)呢?這些(xie)你知道(dao)嗎
							時間(jian):2018-07-24      來源:單(dan)片機(ji)論壇
							零基礎單片機自(zi)學要多長時間(jian)呢?這些(xie)你知道(dao)嗎
							時間(jian):2018-07-24      來源:單(dan)片機(ji)論壇 
							單片機自學(xue)要(yao)多長時間
單片機自學(xue)要多久
學(xue)習(xi)單片機就是學(xue)習(xi)單片機的硬件結構(gou),內(nei)部(bu)資(zi)源與外設(she)的應用。在C語(yu)言(yan)中(極少量的匯編(bian))掌握(wo)各種功能(neng)的初始(shi)化,啟動與停(ting)止,實現各種功能(neng)函數的編(bian)寫與調試。
下面咱(zan)們(men)就來分(fen)步(bu)驟看(kan)一下對于(yu)單片(pian)機的學習過(guo)程,讓(rang)大家在學習的過(guo)程中調理更加(jia)清楚(chu)明(ming)朗。
第一(yi)步:數字(zi)I/O的應用
在(zai)大多數(shu)的(de)(de)(de)(de)(de)(de)單片(pian)(pian)機(ji)(ji)(ji)實(shi)驗(yan)(yan)中,跑馬燈(deng)實(shi)驗(yan)(yan)正是(shi)(shi)數(shu)字I/O的(de)(de)(de)(de)(de)(de)典型應(ying)用,也(ye)是(shi)(shi)跑馬燈(deng)的(de)(de)(de)(de)(de)(de)實(shi)驗(yan)(yan)被(bei)安(an)排第一(yi)個(ge)(ge)的(de)(de)(de)(de)(de)(de)原因。通過將(jiang)單片(pian)(pian)機(ji)(ji)(ji)的(de)(de)(de)(de)(de)(de)I/O引腳(jiao)位進行(xing)置位或清(qing)零來點亮(liang)或關閉LED燈(deng),雖然簡單,但是(shi)(shi)這(zhe)就(jiu)是(shi)(shi)數(shu)字電路(lu)中的(de)(de)(de)(de)(de)(de)邏輯功(gong)(gong)能(neng)。數(shu)學I/O應(ying)用的(de)(de)(de)(de)(de)(de)實(shi)驗(yan)(yan)還有(you)按鍵實(shi)驗(yan)(yan),當按下某(mou)鍵時,某(mou)LED燈(deng)被(bei)點亮(liang)。數(shu)字I/O實(shi)驗(yan)(yan)教會我(wo)們單片(pian)(pian)機(ji)(ji)(ji)的(de)(de)(de)(de)(de)(de)編程思想,必(bi)須(xu)首先(xian)對單片(pian)(pian)機(ji)(ji)(ji)的(de)(de)(de)(de)(de)(de)相應(ying)寄(ji)存器進行(xing)配(pei)置,以初始化I/O引腳(jiao),這(zhe)樣才(cai)能(neng)使該引腳(jiao)具備數(shu)字輸(shu)入(ru)與輸(shu)出功(gong)(gong)能(neng)。單片(pian)(pian)機(ji)(ji)(ji)自學要多久單片(pian)(pian)機(ji)(ji)(ji)的(de)(de)(de)(de)(de)(de)一(yi)個(ge)(ge)內置或外(wai)置功(gong)(gong)能(neng)的(de)(de)(de)(de)(de)(de)使用,就(jiu)是(shi)(shi)對該功(gong)(gong)能(neng)相關的(de)(de)(de)(de)(de)(de)寄(ji)存器進行(xing)設置,初始化,而這(zhe)便是(shi)(shi)單片(pian)(pian)機(ji)(ji)(ji)編程的(de)(de)(de)(de)(de)(de)特(te)點。少則4、5個(ge)(ge)函數(shu)搞(gao)定(ding),多則十幾行(xing)程序,要有(you)耐(nai)心,別怕麻(ma)煩,所有(you)的(de)(de)(de)(de)(de)(de)單片(pian)(pian)機(ji)(ji)(ji)都是(shi)(shi)這(zhe)樣。
第二步:RS232串(chuan)口通(tong)訊
單片機都有UART接(jie)(jie)口(kou),這個簡(jian)單、古老(lao)的通(tong)訊方(fang)式可以與我們PC機的RS232接(jie)(jie)口(kou)直(zhi)接(jie)(jie)連(lian)接(jie)(jie)通(tong)訊,當然,因為它們兩者電平邏(luo)輯不(bu)同,必須要使用(yong)一個RS232電平轉換(huan)芯片才能(neng)與PC機連(lian)接(jie)(jie),例如Max232芯片。
UART接(jie)口(kou)(kou)的使用是(shi)(shi)非常(chang)重要的,通過這個(ge)接(jie)口(kou)(kou),我(wo)們可(ke)以使單片機與(yu)PC機之間交換信息(xi),“接(jie)口(kou)(kou)”概(gai)念(nian)的學習也(ye)(ye)(ye)便由此(ci)引入。使用UART接(jie)口(kou)(kou)也(ye)(ye)(ye)會學習到(dao)目(mu)前最為簡單與(yu)常(chang)用的通信協議(yi)等知識(shi)。我(wo)們也(ye)(ye)(ye)可(ke)以通過PC機的串口(kou)(kou)調(diao)試軟(ruan)件(jian)來監視到(dao)單片機實(shi)驗板的數據,想一(yi)想,這會是(shi)(shi)一(yi)個(ge)多么神奇的事(shi)情啊(a)~~
第三(san)步:定(ding)時(shi)器的使用單片(pian)機自學要多久
學會(hui)定(ding)時器的使用(yong)(yong),就可(ke)以利用(yong)(yong)單(dan)片(pian)機(ji)來(lai)實現(xian)典型的時序邏(luo)輯電路(lu)。時序邏(luo)輯電路(lu)的應用(yong)(yong)是(shi)最(zui)(zui)(zui)強大、最(zui)(zui)(zui)廣泛的。例(li)如(ru),在工業的控(kong)制中,我們讓某(mou)個(ge)開(kai)關(guan)每隔1秒鐘打開(kai)與關(guan)閉一(yi)(yi)次。這(zhe)個(ge)方案可(ke)以通過普通的數字(zi)集成(cheng)(cheng)電路(lu)實現(xian),也(ye)(ye)可(ke)以通過PLC來(lai)實現(xian),也(ye)(ye)可(ke)以通過CPLD或(huo)FPGA來(lai)實現(xian),但是(shi)只有單(dan)片(pian)機(ji)的實現(xian)是(shi)最(zui)(zui)(zui)簡單(dan),成(cheng)(cheng)本(ben)也(ye)(ye)是(shi)最(zui)(zui)(zui)經濟(ji)的。定(ding)時器是(shi)單(dan)片(pian)機(ji)內(nei)部資源里最(zui)(zui)(zui)為重要的一(yi)(yi)個(ge),更是(shi)邏(luo)輯與時間控(kong)制實現(xian)的基礎。
第四步:中斷
在單(dan)片機(ji)軟(ruan)件(jian)設計架(jia)構中(zhong),一(yi)(yi)(yi)段程序(xu)循(xun)環執行(xing)(xing)是其一(yi)(yi)(yi)個特點,也是一(yi)(yi)(yi)個弊端(duan)。每個操作(zuo)指令的(de)(de)(de)執行(xing)(xing)都需要(yao)(yao)一(yi)(yi)(yi)定(ding)的(de)(de)(de)執行(xing)(xing)時(shi)(shi)間,如(ru)(ru)果(guo)程序(xu)沒有執行(xing)(xing)到(dao)該(gai)指令,則該(gai)指令的(de)(de)(de)動作(zuo)就(jiu)不(bu)會(hui)觸(chu)發(fa),這樣就(jiu)會(hui)忽(hu)略許多快速發(fa)生的(de)(de)(de)事(shi)件(jian),例(li)如(ru)(ru)方波頻(pin)率檢(jian)測的(de)(de)(de)上升沿(yan)。針對(dui)在單(dan)片機(ji)程序(xu)正常運行(xing)(xing)時(shi)(shi)能夠對(dui)外部事(shi)件(jian)立即做(zuo)出響應而設計了中(zhong)斷(duan)(duan)功能。當(dang)中(zhong)斷(duan)(duan)功能執行(xing)(xing)時(shi)(shi),單(dan)片機(ji)優(you)先(xian)處(chu)理中(zhong)斷(duan)(duan)程序(xu),當(dang)中(zhong)斷(duan)(duan)處(chu)理完成后,再(zai)回到(dao)單(dan)片機(ji)的(de)(de)(de)正常程序(xu)執行(xing)(xing)中(zhong)。中(zhong)斷(duan)(duan)的(de)(de)(de)機(ji)理是比較容易理解的(de)(de)(de),但是什么(me)(me)時(shi)(shi)候打開(kai)中(zhong)斷(duan)(duan),什么(me)(me)時(shi)(shi)候關(guan)閉、屏蔽中(zhong)斷(duan)(duan),需要(yao)(yao)如(ru)(ru)何配置才能使(shi)能中(zhong)斷(duan)(duan)的(de)(de)(de)某些(xie)(xie)功能,中(zhong)斷(duan)(duan)里(li)要(yao)(yao)執行(xing)(xing)哪(na)些(xie)(xie)程序(xu),這些(xie)(xie)程序(xu)的(de)(de)(de)要(yao)(yao)滿足哪(na)些(xie)(xie)要(yao)(yao)求就(jiu)需要(yao)(yao)花(hua)些(xie)(xie)時(shi)(shi)間去理解與(yu)實踐了。中(zhong)斷(duan)(duan)學(xue)會(hui)后,就(jiu)可以(yi)(yi)編(bian)寫復雜結(jie)構功能的(de)(de)(de)程序(xu),可以(yi)(yi)一(yi)(yi)(yi)邊閃(shan)著(zhu)小LED燈,一(yi)(yi)(yi)邊掃描(miao)著(zhu)按鍵,一(yi)(yi)(yi)邊發(fa)送著(zhu)數(shu)據,也可以(yi)(yi)干著(zhu)多個事(shi)情……打個比喻,中(zhong)斷(duan)(duan)功能可以(yi)(yi)使(shi)單(dan)片機(ji)吃著(zhu)碗里(li)的(de)(de)(de),看(kan)著(zhu)鍋里(li)的(de)(de)(de)。根據傳說中(zhong)的(de)(de)(de)8020定(ding)律,如(ru)(ru)果(guo)您(nin)(nin)掌握了上面提(ti)到(dao)的(de)(de)(de)這四步,那么(me)(me),您(nin)(nin)已(yi)經學(xue)會(hui)了80%的(de)(de)(de)內(nei)容了。
第(di)五步:I2C、SPI通訊(xun)接口
單片機(ji)系統畢竟資源(yuan)有限,而(er)利(li)用(yong)(yong)I2C、SPI通訊接口(kou)進行擴展外(wai)設是(shi)最常(chang)用(yong)(yong)的(de)(de)方法,也是(shi)非常(chang)重要的(de)(de)方法。這兩個通訊接口(kou)都(dou)是(shi)串行通訊接口(kou),單片機(ji)自學要多久典型的(de)(de)基礎(chu)實(shi)驗(yan)(yan)就是(shi)I2C的(de)(de)EEPROM實(shi)驗(yan)(yan)與SPI的(de)(de)SD卡讀寫實(shi)驗(yan)(yan)。
第六步:比(bi)較,捕捉,PWM功(gong)能
比較,捕捉與(yu)PWM功能可以使單片(pian)機(ji)更加適合電機(ji)控制,信號檢(jian)測(ce),實現(xian)電機(ji)速度與(yu)步長的(de)調節。PWM波現(xian)在(zai)又是(shi)LED調光的(de)主要手段。這里(li)已經(jing)初步接觸了數字電路里(li)的(de)模擬電路部分。
第七步(bu):A/D模數采集
單(dan)片機目前基本都自帶多通(tong)道A/D模(mo)(mo)數轉(zhuan)換(huan)器(qi),通(tong)過這些(xie)A/D轉(zhuan)換(huan)器(qi)可以(yi)單(dan)片機獲取(qu)模(mo)(mo)擬(ni)量,用于(yu)檢測電(dian)(dian)壓(ya)、電(dian)(dian)流等信號。學(xue)習(xi)時(shi)要分(fen)清模(mo)(mo)擬(ni)地(di)與(yu)數字地(di),參(can)考電(dian)(dian)壓(ya),采樣時(shi)間,轉(zhuan)換(huan)速率(lv),轉(zhuan)換(huan)誤差等重要概(gai)念。這一步學(xue)會了數字電(dian)(dian)路控(kong)制模(mo)(mo)擬(ni)電(dian)(dian)路部分(fen),而最簡單(dan)的A/D模(mo)(mo)數轉(zhuan)換(huan)器(qi)就(jiu)是(shi)電(dian)(dian)壓(ya)表實驗(yan)。
第八步:學(xue)習USB接口、TCP/IP協議、工業總線單片(pian)機自學(xue)要多久
目(mu)前(qian)主流(liu)的(de)(de)(de)通訊(xun)(xun)協議(yi)為USB協——下位機(ji)(ji)(ji)與上位機(ji)(ji)(ji)高(gao)速通訊(xun)(xun)接口(kou);TCP/IP——萬能的(de)(de)(de)互聯網使用(yong)的(de)(de)(de)通訊(xun)(xun)協議(yi);工(gong)業總線——諸如Modbus,CANOpen等工(gong)業控制各個(ge)模塊之(zhi)間通訊(xun)(xun)的(de)(de)(de)協議(yi)。這些都會(hui)應用(yong)在未來的(de)(de)(de)項目(mu)里,集成入單片機(ji)(ji)(ji)里的(de)(de)(de)固件,并(bing)且(qie)也是當前(qian)產品開發的(de)(de)(de)一個(ge)發展(zhan)方向。