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