① 目前51單片機和32哪個使用范圍廣
這兩種單片機性能差別很大,價格懸殊,適用於不同的場合
在文字圖片顯示 音樂播放 高速數據採集方面,當然是stm32應用較廣了,在一般小型電器控制 儀器儀表方面8位機應用較多,當然8位機不只是51單片機,PIC aVR應用也不少
② 做基於單片機的平衡小車,選STM32對比選51的優勢
STM32是32位單片機,具有MMU,可以上操作系統。51隻是普通的8位單片機。
STM32單片機的特點:
內核:ARM32位Cortex-M3 CPU,最高工作頻率72MHz,1.25DMIPS/MHz。單周期乘法和硬體除法。
存儲器:片上集成32-512KB的Flash存儲器。6-64KB的SRAM存儲器。
時鍾、復位和電源管理:2.0-3.6V的電源供電和I/O介面的驅動電壓。POR、PDR和可編程的電壓探測器(PVD)。4-16MHz的晶振。內嵌出廠前調校的8MHz RC振盪電路。內部40 kHz的RC振盪電路。用於CPU時鍾的PLL。帶校準用於RTC的32kHz的晶振。
低功耗:3種低功耗模式:休眠,停止,待機模式。為RTC和備份寄存器供電的VBAT。
調試模式:串列調試(SWD)和JTAG介面。
DMA:12通道DMA控制器。支持的外設:定時器,ADC,DAC,SPI,IIC和UART。
3個12位的us級的A/D轉換器(16通道):A/D測量范圍:0-3.6 V。雙采樣和保持能力。片上集成一個溫度感測器。
2通道12位D/A轉換器:STM32F103xC,STM32F103xD,STM32F103xE獨有。
最多高達112個的快速I/O埠:根據型號的不同,有26,37,51,80,和112的I/O埠,所有的埠都可以映射到16個外部中斷向量。除了模擬輸入,所有的都可以接受5V以內的輸入。
最多多達11個定時器:4個16位定時器,每個定時器有4個IC/OC/PWM或者脈沖計數器。2個16位的6通道高級控制定時器:最多6個通道可用於PWM輸出。2個看門狗定時器(獨立看門狗和窗口看門狗)。Systick定時器:24位倒計數器。2個16位基本定時器用於驅動DAC。
最多多達13個通信介面:2個IIC介面(SMBus/PMBus)。5個USART介面(ISO7816介面,LIN,IrDA兼容,調試控制)。3個SPI介面(18 Mbit/s),兩個和IIS復用。CAN介面(2.0B)。USB 2.0全速介面。SDIO介面。
ECOPACK封裝:STM32F103xx系列微控制器採用ECOPACK封裝形式。
51單片機的特點:
8位CPU·4kbytes程序存儲器(ROM) (52為8K)
·128bytes的數據存儲器(RAM) (52有256bytes的RAM)
·32條I/O口線·111條指令,大部分為單位元組指令
·21個專用寄存器
·2個可編程定時/計數器·5個中斷源,2個優先順序(52有6個)
·一個全雙工串列通信口
·外部數據存儲器定址空間為64kB
·外部程序存儲器定址空間為64kB
·邏輯操作位定址功能·雙列直插40PinDIP封裝
·單一+5V電源供電
CPU:由運算和控制邏輯組成,同時還包括中斷系統和部分外部特殊功能寄存器;
RAM:用以存放可以讀寫的數據,如運算的中間結果、最終結果以及欲顯示的數據;
ROM:用以存放程序、一些原始數據和表格;
I/O口:四個8位並行I/O口,既可用作輸入,也可用作輸出
T/C:兩個定時/記數器,既可以工作在定時模式,也可以工作在記數模式;
五個中斷源的中斷控制系統;
一個全雙工UART(通用非同步接收發送器)的串列I/O口,用於實現單片機之間或單片機與微機之間的串列通信;
片內振盪器和時鍾產生電路,石英晶體和微調電容需要外接。最佳振盪頻率為6M-12M。
③ 單片機stm32好還是51好
因為兩種單片機的架構、性能截然不同,所以二者沒有可比性,STM32的性能是51單片機無法匹敵的。
④ 51單片機和STM32,選擇哪一個有前途
STM32的速度,片內資源等都優於51單片機,以後會應用到越來越多的產品中。加之現在STM32的價格很低,逐漸取代51機也是可能的。但目前,因51單片機的開發周期短,成本低,仍然有很的市場。從長遠看,肯定還是STM32的發展前景更樂觀。
⑤ 51系列單片機和STM32哪個實用
51現在只在教學上又市場了,應用方面,51在各個層面上都落後於stm32代表的16位、32位單片機。
⑥ 51單片機和32單片機區別
51單片機和32單片機區別:
1.數據匯流排寬度不同。數據匯流排寬度越寬,處理速度越快。
2.匯編指令集不一樣,51是mcs51指令集,stm32是arm指令集。指令集內容差不多,形式上還是有很大差距的。
3.51更便宜,性價比更高,見識更廣的人。
模擬環境不同,模擬器也不同。5.51不存在知識產權問題,專利已經過期。
6.發展速度不一樣。51現在跟跑,STM32領先。
相似之處:都可以使用匯編和C語言。建議學習單片機的基本功能,先從點亮一個LED開始,然後是運行燈、中斷等各種外設。先把基本功練好,才能爬得更高。張飛電子的做法很簡單。
⑦ 單片機學51還是stm32
這個取決於自己的條件,如果自己有哪個硬體的開發板就學哪個,都可以作為入門級的晶元。
區別在於51的編程開發環境沒有庫開發,自己得寫每個底層配置,直接操作寄存器。
而32是一般是庫開發的,比較容易理解,但對於深入理解寄存器方面可能不太好。
大多數人都是從51開始,晶元便宜,開發簡單,易於上手。
⑧ 單片機stm32好還是51好
都很好的,關鍵看用途,如果運算量較大的話,選用STM32,如果是主要任務就是控制,那麼還是簡單一點的51較好。選擇控制CPU主要還是要看性價比。
⑨ 同一個項目分別用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單片機放不了幾個變數就超出了。復雜點的程序都很難寫。
⑩ 我要做一個單片機控制的循跡小車,是用51單片機好呢,還是用ATmega32單片機好呢,他們區別在哪,哪個更好
循跡小車我以前做過,對單片機要求挺低的,51足以滿足需要. AVR的單片機自然更沒問題.
一般來說AVR單片機比51的功能更加強大,一般都帶有很多外圍設備,比如AD轉換等,時鍾頻率也高些.
如果你對兩個都不熟,可以考慮用51內核的,由於很早就有了,資料很多,相對簡單些.51內核的單片機可以用ATMEL的,也可以用STC的,我最近在做的一個工程就是用的STC的,ISP用UART口下載程序很方便.
如果你熟悉其中一種,可以就用你熟悉的那個就行了.