⑴ STM32編程跟51有啥區別
STM32寄存器比較多,比如使用一個定時器,STM32要比51多配置很多寄存器,不過ST提供了完善的庫函數,調用配置即可。
單片機就是集CPU、RAM、ROM、輸入輸出設備和中斷系統處於同一晶元的器件,在個人電腦中,CPU、RAM、ROM、I/O這些都是單獨的晶元,這些晶元被安裝在一個主板上,這樣就構成了PC主板,進而組裝成電腦,而單片機只是將這所有的集中在了一個晶元上而已。
單片機
也被稱為單片微控器,屬於一種集成式電路晶元。在單片機中主要包含CPU、只讀存儲器ROM和隨機存儲器RAM等,多樣化數據採集與控制系統能夠讓單片機完成各項復雜的運算,無論是對運算符號進行控制,還是對系統下達運算指令都能通過單片機完成。 由此可見,單片機憑借著強大的數據處理技術和計算功能可以在智能電子設備中充分應用。
⑵ stm32和51單片機的區別
stm32和51單片機的區別:
1.不同的開發方式
51單片機一般直接操作寄存器,STM32主操作庫函數編程。
2.系統資源不同
一般來說,STM32的資源比51單片機多。
3.開發環境可能不同
一般來說,51和STM32都可以在KEIL下開發,但是STM32的選擇更多,可以在Linux、windows esplease,甚至vscode+插件模式下開發。
4.操作系統差異
一般來說,51單片機不支持操作系統,STM32支持各種主流操作系統,STM32更容易開發,可以很方便的使用系統實現各種場景的應用。由於51單片機沒有操作系統,其發展存在一定的障礙,有時不得不犧牲一些功能來實現整體功能的和諧運行。
⑶ 51單片機和STM32有什麼區別編程語言也可以用匯編語言嗎
1.數據匯流排寬度不一樣,數據匯流排寬度越寬,處理速度越快。2.匯編指令集不同,51是mcs51指令集,stm32是arm指令集。指令集內容相似,但是形式上還是有較大差距。3.51更便宜,性價比更高,懂得人也更多。4.模擬環境不一樣,模擬器也不一樣。5.51沒有知識產權問題,專利已經過期了。6.發展節奏不一樣,51現在是跟跑,STM32是領跑。相似點:都可以用匯編和C語言。建議從單片基本功能開始學起,首先從點亮一顆LED開始,然後是流水燈、中斷等單片各種外設。先把基本功練好,後面才能爬得更高,張飛實戰電子的單
⑷ 同一個項目分別用stm32和51單片機會有什麼不同
李工的經驗,有如下幾點不同,希望你供你參考。
1.51是8位單片機,而stm32是32位單片機。時鍾方面stm32運行頻率更高,性能更好。兩種單片機性能差別比較大。
2.片上資源不一樣。簡單講stm32單片機外設豐富,比如串口,I2c等。stm32單片機片上flash和RAM更大。以後升級功能,改進功能的空間大。如果考慮以後功能升級,建議考慮stm32.
3.成本上應該是51單片機要便宜一些。
4.stm32單片機開發資料和參考程序比較多,有庫函數,應用起來方便。51單片機更多直接操作寄存器,開發不方便。
我是北漂李工,一個北漂8年的程序員。
在項目開發過程中,我們經常會遇到需要單片機選型,所以我們常常會根據項目功能需求來選擇合適的單片機品牌和型號。常見的51內核單片機和STM32單片機也會是我們主要考慮的型號。
STM32與51單片機的參數差異 STM32與51單片機軟體開發難度差異STM32使用寄存器比51單片機要多很多,其配置比51復雜,而且中斷邏輯,時鍾配置使能控制等很多概念都是51單片機中所沒有的,再加上stm32很多功能如USB,FSMC。等等功能,其功能更加強大,雖然官方提供了開發固件庫和相關開發輔助工具,但很多時候,遇到bug調試難度也加大了很多。
stm32固件庫很多實用結構體和指針變數,很多在51單片機開發過程不太注重結構體與指針的使用,那麼在STM32開發過程中,就難以理解其固件庫的運用邏輯。
STM32與51單片機的性價比差異STM32比51處理速度快,外設功能豐富強大,所以價格普遍比51單片機偏貴,在項目選型過程中,需要根據項目功能需求,選擇合適的單片機,如果是51單片機能用,那麼考慮項目成本,肯定是不能選擇STM32,如果51單片機不能用,即使再便宜,也用不了。
總之, 作為單片機開發工程師,需要能夠進行一定的器件選型能力,這個也是必備的專業技能。
搞多了開發,你會發現其實用什麼真的不重要,只要你會用就行。單片機好比一個精密機床,你要想加工一件作品,你用任何品牌的機床都可以,關鍵點是這個機床你會不會用,了解通透程度如何。不同品牌機床操作方法肯定大同小異,不會差別很多,你會用一種,另外一種不用看手冊,也能猜出個七八分。機床這樣,編程也是這樣,給你個51,你應該能控制全世界。
首先如果同一個項目可以用51和STM32同時開發,就不建議使用STM32了,51成本更低。
STM32和51單片機不同點有很多:
1.開發方式不同
51單片機一般是直接操作寄存器,STM32主要操作庫函數編程
2.系統資源不同
一般而言STM32資源要比51單片機更多
3.開發環境可能不同
51和STM32一般來講都可以在Keil下開發,但STM32有更多中選擇,可以在Linux下面開發,windows Esplise下開發,甚至直接用VSCode + 插件方式開發。
4.操作系統區別
一般而言,51單片機不支持操作系統,STM32支持各種主流操作系統,STM32開發起來更容易,可以很方便的利用系統實現各種場景下的應用,51單片機由於沒有操作系統,開發起來有一定阻礙,甚至有時候必須要做出部分功能的犧牲才能達到整體功能的和諧運行。
5.後期維護方式可能不同
STM32資源足夠多,可以寫一個bootloader程序來完成之後的系統升級工作,不需要拆機就可以完成固件的升級,而51單片機則不可以。
STM32系列單片機分為CORTEX M0,M1,M4內核,個人覺得STM32F0系列的從性價比,功能上可以完全替代51單片機,而且性能更好。當然也可以使用51,價格更便宜一些,,但是要做功能復雜一些的產品,51系列的單片機是不能滿足的,比如驅動RGB 屏,至少要用STM32F429,支持LTDC介面,而且需要外擴內存,支持FMC介面,比如要做數字音頻,要支持I2S ,比如要做USB傳輸,要支持USB ,要移植操作系統,文件系統等等,要看CPU 的資源等等,總之,要根據所做的項目看CPU的資源是否滿足要求是非常重要的,這要再設計前期靠考慮周到,否則,項目做到一半發現資源不夠,需要重來是很郁悶的事情。
做產品要考慮成本,幾毛錢就能搞定的,沒必要幾塊甚至幾十塊。一般來講,價格越貴的,資源越多,使用起來越簡單,隨心所欲。簡而言之,價格越低,資源越少的單片機,完成項目的難度越大,需要優化代碼和演算法。
在stm32之前是8051的天下,silabs的c8051f外設相當的強大。硬體不錯,可惜代碼不夠多。atmel的代碼比較多,可惜晶元不夠強大。
stm32一出,橫掃天下,要硬體有硬體,要軟體有軟體,價格便宜量又足,連低端產品都用他。
電動自行車控制器都用它,無刷電機都用它。
stm32是史上最廣泛使用的單片機。
只要資源夠用,都可以,20年前我用8051,現在用stm32。stm32方便些,可以在線調試。我現在開發東西復雜一點的,用stm32 1系列和4系列。簡單一點的用stm8s一塊多錢的樣子。
我覺得你的問題對比對象不太對,一般能用51的項目用stm8或者avr即可。一般來說stm32比51強太多了,無論是性能和價格都沒有可比性。
所以在我看來開發上沒有什麼太大不同,無非就是開發環境不一樣,如果代碼規范的話很容易進行互相移植(最近晶元漲價嚴重,我們公司正在換國產),而所謂的外設(uart iic spi等等)其實沒有太大區別。
但是在生產上差別就出來了,主要在於交貨能力,一般而言同為一級代理采購物料,st的交貨能力要比stc的強(當然最近行情st也不行了,交期干到了9月份)。所以如果你的產品是主力長期貨,建議選擇交貨能力強的。
我就記得51單片機放不了幾個變數就超出了。復雜點的程序都很難寫。
⑸ stm32和51單片機的區別
stm32和51單片機的區別如下:
STM32系列基於專為要求高性能、低成本、低功耗的嵌入式應用專液中友門設計的ARMCortex-M3內核。按性能分成兩個不同的系列:STM32F103「增強型」系列和STM32F101「基本型」系列。
包括新的互連型系列在內的STM32系列微控制器具有多種配套軟體和開發工具,其中包括意法半導體免費提供的軟體庫以及第三方工具廠商的廣泛鬧槐支持。
意法半導體還將推出一個新的評估板,目前正在向大客戶提供STM32F105和STM32F107互連型系列的樣片stm32的運算速度大約是51單片機的幾十倍吧而且外圍介面功能比51強大太多。。可以這么STM32是最先進的技術而51是好幾十年前的東西雖然用的還是不少。但是內核已經天地之別。
單片機的特點
1、從內部硬體到軟體,有一套完整的逐位操作系統,稱為位處理器,它處理的不是字或位元組,而是位。它不僅可以處理晶元中某些特殊功能寄存器的某些位,如培念傳輸、設置、復位、測試等,而且可以對這些位進行邏輯運算。功能齊全,使用方便。
2、同時,雙功能地址區域在晶元的RAM區域中被特別地打開,這是非常靈活使用的。這個功能無疑為用戶提供了極大的便利。
3、乘法和除法指令,這也給編程帶來了方便。許多八位微控制器不具備乘法功能,在乘法中調用子程序不方便。
⑹ stm32和stc51的區別原創。
STM32屬於arm內核的一個版本,比傳統的51單片機高級多了,有很多資源是51不具備的,如usb控制器。而且已經廢除了機器周期什麼的,速度不是51能比的。
單片機,通常指的就是8位單片機,比如51等,stm32是屬於32位機,應該算是arm系列了,其實還是單片機,只不過要比8位單片機處理速度要快,功能要強,集成的資源也更豐富,其次就是編程的模式有改變,單片機通常直接對硬體資源進行操作,而stm32是在廠家提供的庫上進行程序開發了。
51單片機是8位微控制器。STM32,與51屬於微控制器范疇,單片集成多種用於控制,通信,存儲的外設。系統在程序的控制下執行。STm32運算速度、存儲容量遠高於51單片機。
⑺ 51單片機跟32的區別
所代表的公司不同,內部資源不同。
51單片機是對所有兼容Intel8031指令系統的單片機的統稱,這一系列的單片機的始祖是Intel的8031單片機,後來隨著flash ROM技術的發展,8031單片機取得了長足的進展成為了應用最廣泛的8bit單片機之一,他的代表型號就是ATMEL公司的AT89系列。
STM32單片機則是ST公司使用arm公司的cortex-M為核心生產的32bit系列的單片機,他的內部資源(寄存器和外設功能)較8051、AVR和PIC都要多的多,基本上接近於計算機的CPU了,適用於手機、路由器等等。
拓展資料
51單片機特點,可以模擬63K程序空間,接近64K 的16位地址空間;可以模擬64Kxdata 空間,全部64K 的16位地址空間;可以真實模擬全部32 條IO腳;完全兼容keilC51 UV2 調試環境,可以通過UV2 環境進行單步,斷點, 全速等操作;可以使用C51語言或者ASM匯編語言進行調適。
⑻ 51單片機和stm32區別
51 單片機和 STM32 是兩種不同的微控制器,它們在設計、性能、功能等方面有所區別。
下面是 51 單片機和 STM32 的主要區別:
設計: 51 單片機是按照 Intel MCS-51 單片機規范設計的,而 STM32 則是按照 ARM Cortex-M 處理器架構設計的。
性能: STM32 的處理能力要比 51 單片機強得多,它的主頻可以達到 200 MHz 甚至更高,而 51 單片機的主頻通常在 20 MHz 左右。
功能: STM32 擁有更多的外設和功能,例如 USB 介面、Ethernet 介面、多種外設介面(如 I2C、SPI、CAN 等)等。而 51 單片
機通常只有最基本的外設和功能。
應用領域: STM32 因其性能優越和功能豐富,通常應用於高端產品和復雜系統中,例如智能家居、智能硬體、工業自動化等。而 51 單片機則更多應用於低端產品和簡單系統中,例如家用電器、小型控制器等。
⑼ STM32編程跟51有啥區別
STM32寄存器比較多,比如使用一個定時器,STM32要比51多配置很多寄存器,不過ST提供了完善的庫函數,調用配置即可。
單片機就是集CPU、RAM、ROM、輸入輸出設備和中斷系統處於同一晶元的器件,在個人電腦中,CPU、RAM、ROM、I/O這些都是單獨的晶元,這些晶元被安裝在一個主板上,這樣就構成了PC主板,進而組裝成電腦,而單片機只是將這所有的集中在了一個晶元上而已。
單片機
也被稱為單片微控器,屬於一種集成式電路晶元。在單片機中主要包含CPU、只讀存儲器ROM和隨機存儲器RAM等,多樣化數據採集與控制系統能夠讓單片機完成各項復雜的運算,無論是對運算符號進行控制,還是對系統下達運算指令都能通過單片機完成。 由此可見,單片機憑借著強大的數據處理技術和計算功能可以在智能電子設備中充分應用。
⑽ 單片機學51還是stm32
這個取決於自己的條件,如果自己有哪個硬體的開發板就學哪個,都可以作為入門級的晶元。
區別在於51的編程開發環境沒有庫開發,自己得寫每個底層配置,直接操作寄存器。
而32是一般是庫開發的,比較容易理解,但對於深入理解寄存器方面可能不太好。
大多數人都是從51開始,晶元便宜,開發簡單,易於上手。