首頁>Club>
10
回覆列表
  • 1 # 北漂李工看科技

    李工的經驗,有如下幾點不同,希望你供你參考。

    1.51是8位微控制器,而stm32是32位微控制器。時鐘方面stm32執行頻率更高,效能更好。兩種微控制器效能差別比較大。

    2.片上資源不一樣。簡單講stm32微控制器外設豐富,比如串列埠,I2c等。stm32微控制器片上flash和RAM更大。以後升級功能,改進功能的空間大。如果考慮以後功能升級,建議考慮stm32.

    3.成本上應該是51微控制器要便宜一些。

    4.stm32微控制器開發資料和參考程式比較多,有庫函式,應用起來方便。51微控制器更多直接操作暫存器,開發不方便。

    我是北漂李工,一個北漂8年的程式設計師。

  • 2 # 科技電小二

    在專案開發過程中,我們經常會遇到需要微控制器選型,所以我們常常會根據專案功能需求來選擇合適的微控制器品牌和型號。常見的51核心微控制器和STM32微控制器也會是我們主要考慮的型號。

    STM32與51微控制器的引數差異核心不一樣,STM32系列目前有很多的核心版本,有Cortex-M1/M4/M7核心,常用的微控制器型號STM32F1系列,為Cortex-M3核心,而51微控制器其實是指與intel8051核心結構一致的微控制器,是其核心結構和時鐘樹結構相差極大。STM32系列的工作主頻也比51微控制器的外設不一樣,我們常用的STM32F103rct6這個型號,此型號有256K的FLASH,作為程式儲存空間,也可以作為微控制器引數儲存空間,斷電不丟失, 還有5個串列埠,SPI介面,多路定時器和PWM輸出控制引腳。其功能比51微控制器強大。微控制器最小系統不一樣,常用封裝不一樣,51微控制器常見DIP40,但STM32常見LQFP封裝,STM32F103rct6為LQFP64,能用的引腳更多。STM32與51微控制器軟體開發難度差異

    STM32使用暫存器比51微控制器要多很多,其配置比51複雜,而且中斷邏輯,時鐘配置使能控制等很多概念都是51微控制器中所沒有的,再加上stm32很多功能如USB,FSMC。等等功能,其功能更加強大,雖然官方提供了開發韌體庫和相關開發輔助工具,但很多時候,遇到bug除錯難度也加大了很多。

    stm32韌體庫很多實用結構體和指標變數,很多在51微控制器開發過程不太注重結構體與指標的使用,那麼在STM32開發過程中,就難以理解其韌體庫的運用邏輯。

    STM32與51微控制器的價效比差異

    STM32比51處理速度快,外設功能豐富強大,所以價格普遍比51微控制器偏貴,在專案選型過程中,需要根據專案功能需求,選擇合適的微控制器,如果是51微控制器能用,那麼考慮專案成本,肯定是不能選擇STM32,如果51微控制器不能用,即使再便宜,也用不了。

    總之, 作為微控制器開發工程師,需要能夠進行一定的器件選型能力,這個也是必備的專業技能。

  • 3 # wsccyp

    只要資源夠用,都可以,20年前我用8051,現在用stm32。stm32方便些,可以線上除錯。我現在開發東西複雜一點的,用stm32 1系列和4系列。簡單一點的用stm8s一塊多錢的樣子。

  • 4 # BWanger軟體開發達人

    這要看專案的大小、複雜程度。一般簡單的沒有複雜計算、沒有大量通訊資料量(小於100位元組)的專案,建議用51微控制器,廉價、硬體簡單。否則,建議用STM32微控制器,外加UCOS II系統,將會完美地完成任務。

    如下為我們做的C8051F與STM32的PCB對比,從外觀上都可以看出功能的差異。

    老工程師,都是從51開始的。由簡單的8032到更高速的C8051F系列,對於小型專案足夠用,經濟、簡單。

    51系列微控制器,雖然資料線都是8位的,但是高速的C8051F系列又擴充套件了很多實用功能。

    比如,單指令執行速度。一般8031/2為12MHz晶振,單指令處理速度為1MIPS,也就是說執行一條單指令需要1us;但對於C8051F的124、340等晶片,單指令處理速度為50~100MIPS,執行一條單指令,只須10ns~20ns~30ns。這個速度足以處理一般的有時序要求的計算。

    以我做的產品專案為例。在控制軸的運動時,考慮到直線插補計算,這部分計算大致1500行程式,平均每行按1.5指令週期計算,大致1500*1.5=2250*30=67500ns=67us。

    也就是說,每1ms大致可以進行至少10次的插補運算(每次總共100us,插補67us,其它控制33us),每秒1000ms*10次=10000次的插補運算,足以滿足每秒10mm的極限加工速度了。

    由以上計算可知,普通的工業用控制裝置,C8051F的51系列足夠用了。

    STM32,32位數資料位,速度與PC機系列媲美,可用作業系統,用於工業控制,比PC機更適合、更高效。是工業控制的頂級版本。

    STM32我用的稍晚,但起點還算高。STM32 F40系列,168MHZ,支援浮點這算。還有失電保護的NVRAM,用UCOS ii作業系統。

    為什麼要升級成STM32?主要有兩個原因。一是程式空間。8位的51系列,一般支援64KB,而我們的控制系統己經超過了100KB。

    另一個就是處理器執行效率。我們一般的裝置,自動化程度略低,所以用早先的51足夠。但是,新的裝置,要求自動化程度更高,不僅要求更高的插補速度,而且還需要外接更多的外設,如USB介面,LAN介面,無線介面,CAN匯流排等。

    結尾:用STM32開發的新系統,無論從研發角度,還是使用者體驗,都有了質的飛躍。所以以後的目標,就是把老裝置都統一了。缺點就是,公司的程式設計師要遭殃了,又要刷一遍程式。

    不論怎麼說,升級的體驗,還是很愉悅的。

  • 5 # 網觀天下怪事

    在stm32之前是8051的天下,silabs的c8051f外設相當的強大。硬體不錯,可惜程式碼不夠多。atmel的程式碼比較多,可惜晶片不夠強大。

    stm32一出,橫掃天下,要硬體有硬體,要軟體有軟體,價格便宜量又足,連低端產品都用他。

    電動腳踏車控制器都用它,無刷電機都用它。

    stm32是史上最廣泛使用的微控制器。

  • 中秋節和大豐收的關聯?
  • 解除無固定期限勞動合同後應該怎麼賠償?