51單片機(jī)和32單片機(jī)的區(qū)別
51單片機(jī)是對所有兼容Intel8031指令系統(tǒng)的單片機(jī)的統(tǒng)稱,這一系列的單片機(jī)的始祖是Intel的8031單片機(jī),后來隨著flash ROM技術(shù)的發(fā)展,8031單片機(jī)取得了長足的進(jìn)展成為了應(yīng)用最廣泛的8bit單片機(jī)之一,他的代表型號就是ATMEL公司的AT89系列。
STM32單片機(jī)則是ST(意法半導(dǎo)體)公司使用arm公司的cortex-M3為核心生產(chǎn)的32bit系列的單片機(jī),他的內(nèi)部資源(寄存器和外設(shè)功能)較8051、AVR和PIC都要多的多,基本上接近于計算機(jī)的CPU了,適用于手機(jī)、路由器等等。
1.STM32與51單片機(jī)的參數(shù)差異:兩個單片機(jī)的內(nèi)核不一樣,STM32系列目前有很多的內(nèi)核版本,有Cortex-M1/M4/M7內(nèi)核,常用的單片機(jī)型號STM32F1系列,為Cortex-M3內(nèi)核,而51單片機(jī)其實是指與intel8051內(nèi)核結(jié)構(gòu)一致的單片機(jī),是其內(nèi)核結(jié)構(gòu)和時鐘樹結(jié)構(gòu)相差極大。STM32系列的工作主頻也比51單片機(jī)的外設(shè)不一樣,我們常用的STM32F103rct6這個型號,此型號有256K的FLASH,作為程序存儲空間,也可以作為單片機(jī)參數(shù)存儲空間,斷電不丟失, 還有5個串口,SPI接口,多路定時器和PWM輸出控制引腳。其功能也比51單片機(jī)更強(qiáng)大一些。
2.STM32F103RCT6是一種嵌入式-微控制器的集成電路(IC),32位 Cortex-M3內(nèi)核處理器,速度是72MHz,程序存儲器容量是256KB,程序存儲器類型是FLASH,RAM容量是48K,封裝LQFP64。51單片機(jī)的最小系統(tǒng)是由時鐘電路復(fù)位電路和電源電路這三部分組成的。
3.51單片機(jī)的一些特性:從內(nèi)部的硬件到軟件有一套完整的按位操作系統(tǒng),稱作位處理器,處理對象不是字或字節(jié)而是位。不但能對片內(nèi)某些特殊功能寄存器的某位進(jìn)行處理,如傳送、置位、清零、測試等,還能進(jìn)行位的邏輯運(yùn)算,其功能十分完備,使用起來很方便。同時在片內(nèi)RAM區(qū)間還特別開辟了一個雙重功能的地址區(qū)間,使用極為靈活,這一功能無疑給使用者提供了極大的方便,乘法和除法指令,這給編程也帶來了便利。32單片機(jī)的一些特性:內(nèi)核:ARM32位Cortex-M3CPU,最高工作頻率72MHz,1.25DMIPS/MHz,單周期乘法和硬件除法。存儲器:片上集成32-512KB的Flash存儲器。6-64KB的SRAM存儲器。時鐘、復(fù)位和電源管理:2.0-3.6V的電源供電和I/O接口的驅(qū)動電壓。POR、PDR和可編程的電壓探測器(PVD)。4-16MHz的晶振。內(nèi)嵌出廠前調(diào)校的8MHz RC振蕩電路。內(nèi)部40 kHz的RC振蕩電路。用于CPU時鐘的PLL。帶校準(zhǔn)用于RTC的32kHz的晶振。調(diào)試模式:串行調(diào)試(SWD)和JTAG接口。最多高達(dá)112個的快速I/O端口、最多多達(dá)11個定時器、最多多達(dá)13個通信接口。
4.STM32使用寄存器比51單片機(jī)要多很多,其配置比51復(fù)雜,而且中斷邏輯,時鐘配置使能控制等很多概念都是51單片機(jī)中所沒有的,再加上stm32很多功能如USB,F(xiàn)SMC。等等功能,其功能更加強(qiáng)大,雖然官方提供了開發(fā)固件庫和相關(guān)開發(fā)輔助工具,但很多時候,遇到調(diào)試難度也加大了很多。stm32固件庫很多實用結(jié)構(gòu)體和指針變量,很多在51單片機(jī)開發(fā)過程不太注重結(jié)構(gòu)體與指針的使用,那么在STM32開發(fā)過程中,就難以理解其固件庫的運(yùn)用邏輯。
5.一般而言,51單片機(jī)不支持操作系統(tǒng),STM32支持各種主流操作系統(tǒng),STM32開發(fā)起來更容易,可以很方便的利用系統(tǒng)實現(xiàn)各種場景下的應(yīng)用,51單片機(jī)由于沒有操作系統(tǒng),開發(fā)起來有一定阻礙,甚至有時候必須要做出部分功能的犧牲才能達(dá)到整體功能的和諧運(yùn)行。