1. 程式人生 > >微控制器原理,開發流程,外設,傳輸協議

微控制器原理,開發流程,外設,傳輸協議

微控制器原理:

51:微控制器簡稱:single chip computer ,實現控制應用的裝置,內部集成了CPU,儲存器,中斷控制,輸入輸出介面,定時器,序列介面,AD,DA採集等。一般都是8位的CPU,可以對IO口進行輸入輸出,根據定時器和中斷控制來完成程式流程,還需外接一個時鐘源作為心臟起振。

32:相比於51 ,32內部集成了很多外設,如SPI,IIC,CAN ,多個AD,DA等控制器。使用起來十分快捷,但是複雜。

微控制器開發流程:

51:一般使用C語言進行開發,彙編的話難度很大,很難掌握。開發的時候需要熟悉相應的開發環境,瞭解標頭檔案的配置,最後我們根據自己想要實現的功能進行相應IO口的設定等。

32:32的開發有兩種方式,一種是暫存器開發,另外一種是庫函式,一般使用庫函式開發。在開發階段如果需要參考例程,進行相同配置,這裡來說我雖然用了這麼久的STM32,但是我貌似不怎麼懂裡面真正的知識,大部分程式都是拿著別人寫好的自定義函式在用。我覺得真正的技術應該是一塊完全沒有使用的晶片給你,你對照著資料手冊進行相應的程式配置,這裡面學問太多,想要深入只能看後面工作能不能接觸到這方面了。

常用外設以及使用方法:

51:對於51的外設大都是AD,DA,基本IO口,定時器。usart可以輸入輸出:定時器可以進行數值裝載進行計數,達到中斷後進行中斷處理:AD,DA負責訊號的轉換,一般只需要一個輸入引腳捕獲AD值:

32:32的外設就比較多了,僅僅IO外設都有7種模式,這些模式的操作都需要遵循一些規則,首先要開啟時鐘,開啟掛在匯流排,之後才可以進行配置,對於這些配置無非就是對暫存器進行相應的配置,但是它的暫存器實在是太多了,我們使用官方封裝好的庫函式進行配置更為方便。我覺得這些配置都不是技術上的問題,需要經常用才能掌握,我們應該重點關注它的邏輯結構和理解上面,這些配置工作完全可以用一種直接生成的工具來代替,至於是哪種工具我就不說了。強調一點重在程式的實現,介面協議的使用,複雜的配置可以不用關注。

備註知識點:模擬介面與硬體介面的區別

    模擬IIC是需要了解IIC的協議,自己通過時序圖去模仿那種協議實現的。該電平拉高的時候控制IO口拉高,該低的時候就拉低。優點是自己可以控制電平保持時間,便於除錯。缺點也很明顯,就是程式碼過於繁瑣,所有操作都給自己來完成。硬體IIC是由控制晶片已經寫好了一種介面,並提供了配套函式(如果沒有配套函式,也可以直接看手冊操作控制暫存器)。優點是程式碼簡單,很多事情都不用本人去考慮,缺點是時序固定,有可能對於某些對時序要求極嚴格的晶片可能存在無ACK迴應的情況。

傳輸協議以及使用方法:

32:串列埠通訊方式將資料打包成一排傳送,給相應暫存器放入值,可以將其封裝成一個變數,對其地址進行賦值操作,接受也是相同。