<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 嵌入式工程師分享:學(xué)習單片機必備的八大步驟

嵌入式工程師分享:學(xué)習單片機必備的八大步驟

作者: 時(shí)間:2017-10-21 來(lái)源:網(wǎng)絡(luò ) 收藏

  成為一名嵌入式工程師,簡(jiǎn)單的基礎學(xué)習與應用是不可缺少的。學(xué)習就是學(xué)習的硬件結構,內部資源與外設的應用。在C語(yǔ)言中(極少量的匯編)掌握各種功能的初始化,啟動(dòng)與停止,實(shí)現各種功能函數的編寫(xiě)與調試。

本文引用地址:http://dyxdggzs.com/article/201710/366996.htm

  第一步:數字I/O的應用

  在大多數的單片機實(shí)驗中,跑馬燈實(shí)驗正是數字I/O的典型應用,也是跑馬燈的實(shí)驗被安排第一個(gè)的原因。通過(guò)將單片機的I/O引腳位進(jìn)行置位或清零來(lái)點(diǎn)亮或關(guān)閉LED燈,雖然簡(jiǎn)單,但是這就是數字電路中的邏輯功能。數學(xué)I/O應用的實(shí)驗還有按鍵實(shí)驗,當按下某鍵時(shí),某LED燈被點(diǎn)亮。數字I/O實(shí)驗教會(huì )我們單片機的編程思想,必須首先對單片機的相應寄存器進(jìn)行配置,以初始化I/O引腳,這樣才能使該引腳具備數字輸入與輸出功能。 單片機的一個(gè)內置或外置功能的使用,就是對該功能相關(guān)的寄存器進(jìn)行設置,初始化,而這便是單片機編程的特點(diǎn)。少則4、5個(gè)函數搞定,多則十幾行程序,要有耐心,別怕麻煩,所有的單片機都是這樣。

  第二步:RS232串口通訊

  單片機都有UART接口,這個(gè)簡(jiǎn)單、古老的通訊方式可以與我們PC機的RS232接口直接連接通訊,當然,因為它們兩者電平邏輯不同,必須要使用一個(gè)RS232電平轉換芯片才能與PC機連接,例如Max232芯片。

  UART接口的使用是非常重要的,通過(guò)這個(gè)接口,我們可以使單片機與PC機之間交換信息,“接口”概念的學(xué)習也便由此引入。使用UART接口也會(huì )學(xué)習到目前最為簡(jiǎn)單與常用的通信協(xié)議等知識。我們也可以通過(guò)PC機的串口調試軟件來(lái)監視到單片機實(shí)驗板的數據,想一想,這會(huì )是一個(gè)多么神奇的事情啊~~

  第三步:定時(shí)器的使用

  學(xué)會(huì )定時(shí)器的使用,就可以利用單片機來(lái)實(shí)現典型的時(shí)序邏輯電路。時(shí)序邏輯電路的應用是最強大、最廣泛的。例如,在工業(yè)的控制中,我們讓某個(gè)開(kāi)關(guān)每隔1秒鐘打開(kāi)與關(guān)閉一次。這個(gè)方案可以通過(guò)普通的數字集成電路實(shí)現,也可以通過(guò)PLC來(lái)實(shí)現,也可以通過(guò)CPLD或FPGA來(lái)實(shí)現,但是只有單片機的實(shí)現是最簡(jiǎn)單,成本也是最經(jīng)濟的。定時(shí)器是單片機內部資源里最為重要的一個(gè),更是邏輯與時(shí)間控制實(shí)現的基礎。

  第四步:中斷

  在單片機軟件設計架構中,一段程序循環(huán)執行是其一個(gè)特點(diǎn),也是一個(gè)弊端。每個(gè)操作指令的執行都需要一定的執行時(shí)間,如果程序沒(méi)有執行到該指令,則該指令的動(dòng)作就不會(huì )觸發(fā),這樣就會(huì )忽略許多快速發(fā)生的事件,例如方波頻率檢測的上升沿。針對在單片機程序正常運行時(shí)能夠對外部事件立即做出響應而設計了中斷功能。當中斷功能執行時(shí),單片機優(yōu)先處理中斷程序,當中斷處理完成后,再回到單片機的正常程序執行中。中斷的機理是比較容易理解的,但是什么時(shí)候打開(kāi)中斷,什么時(shí)候關(guān)閉、屏蔽中斷,需要如何配置才能使能中斷的某些功能,中斷里要執行哪些程序,這些程序的要滿(mǎn)足哪些要求就需要花些時(shí)間去理解與實(shí)踐了。中斷學(xué)會(huì )后,就可以編寫(xiě)復雜結構功能的程序,可以一邊閃著(zhù)小LED燈,一邊掃描著(zhù)按鍵,一邊發(fā)送著(zhù)數據,也可以干著(zhù)多個(gè)事情……打個(gè)比喻,中斷功能可以使單片機吃著(zhù)碗里的,看著(zhù)鍋里的。根據傳說(shuō)中的8020定律,如果您掌握了上面提到的這四步,那么,您已經(jīng)學(xué)會(huì )了80%的內容了。

  第五步:I2C、SPI通訊接口

  單片機系統畢竟資源有限,而利用I2C、SPI通訊接口進(jìn)行擴展外設是最常用的方法,也是非常重要的方法。這兩個(gè)通訊接口都是串行通訊接口,典型的基礎實(shí)驗就是I2C的EEPROM實(shí)驗與SPI的SD卡讀寫(xiě)實(shí)驗。

  第六步:比較,捕捉,PWM功能

  比較,捕捉與PWM功能可以使單片機更加適合電機控制,信號檢測,實(shí)現電機速度與步長(cháng)的調節。PWM波現在又是LED調光的主要手段。這里已經(jīng)初步接觸了數字電路里的模擬電路部分。

  第七步:A/D模數采集

  單片機目前基本都自帶多通道A/D模數轉換器,通過(guò)這些A/D轉換器可以單片機獲取模擬量,用于檢測電壓、電流等信號。學(xué)習時(shí)要分清模擬地與數字地,參考電壓,采樣時(shí)間,轉換速率,轉換誤差等重要概念。這一步學(xué)會(huì )了數字電路控制模擬電路部分,而最簡(jiǎn)單的A/D模數轉換器就是電壓表實(shí)驗。

  第八步:學(xué)習USB接口、TCP/IP協(xié)議、工業(yè)總線(xiàn)

  目前主流的通訊協(xié)議為USB協(xié)——下位機與上位機高速通訊接口;TCP/IP——萬(wàn)能的互聯(lián)網(wǎng)使用的通訊協(xié)議;工業(yè)總線(xiàn)——諸如Modbus,CANOpen等工業(yè)控制各個(gè)模塊之間通訊的協(xié)議。這些都會(huì )應用在未來(lái)的項目里,集成入單片機里的固件,并且也是當前產(chǎn)品開(kāi)發(fā)的一個(gè)發(fā)展方向。



關(guān)鍵詞: 嵌入式技術(shù) 單片機

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>