同一個項目分別用stm32和51單片機會有什麼不同?

幻化成風_不能言說的傷


在項目開發過程中,我們經常會遇到需要單片機選型,所以我們常常會根據項目功能需求來選擇合適的單片機品牌和型號。常見的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單片機不能用,即使再便宜,也用不了。

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


科技電小二


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

1.51是8位單片機,而stm32是32位單片機。時鐘方面stm32運行頻率更高,性能更好。兩種單片機性能差別比較大。

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

3.成本上應該是51單片機要便宜一些。

4.stm32單片機開發資料和參考程序比較多,有庫函數,應用起來方便。51單片機更多直接操作寄存器,開發不方便。

我是北漂李工,一個北漂8年的程序員。

目前在從事家電類產品的嵌入式軟件開發,也在使用stm32。歡迎大家關注,收藏,點贊!



北漂李工看科技


搞多了開發,你會發現其實用什麼真的不重要,只要你會用就行。單片機好比一個精密機床,你要想加工一件作品,你用任何品牌的機床都可以,關鍵點是這個機床你會不會用,瞭解通透程度如何。不同品牌機床操作方法肯定大同小異,不會差別很多,你會用一種,另外一種不用看手冊,也能猜出個七八分。機床這樣,編程也是這樣,給你個51,你應該能控制全世界。


分享到:


相關文章: