單片機現在可謂是鋪天蓋地,種類繁多,各個廠商們也在速度、內存、功能上各有特點,本文對51、MSP430、TMS、STM32、PIC、AVR、STC單片機之間的性能特點進行簡單比較。
一、51單片機
應用最廣泛的8位單片機當然也是初學者們最容易上手學習的單片機,最早由Intel推出,由於其典型的結構和完善的總線專用寄存器的集中管理,眾多的邏輯位操作功能及麵向控製的豐富的指令係統,堪稱為一代“經典”,為以後的其它單片機的發展奠定了基礎。
51單片機之所以成為經典,成為易上手的單片機主要有以下特點:
特性:
很多年前,剛開始搞Arduino的時候,買了幾個AVR的芯片。就有老司機提醒我,搞STM32。當時單片機還沒入門,隻覺得Arduino比較簡單,STM32好像很複雜,遂沒在意。
弄了這2年後,終於懂了點門道,發現硬件這行,價格很重要。8K的ATTiny芯片在淘寶上賣到5,6塊。而同樣大小的STM8最便宜隻賣1塊。更不用說STM32能到48M的頻率,做Nes模擬器都可以了。
STM的庫封裝的比較全麵,而AVR大部分情況下還得弄寄存器,沒有Arduino我靠自己折騰完全沒法入門。
買了一個STLink,幾個STM8S103,STM32F103,感覺能代替那幾個Tiny了
作者:滄海一聲笑的DIY宇宙
1,AVR漲價.2,AVR/STM32缺貨.3,STM8和AVR性能對比.
其實,識別下來,就是STM和AVR的對抗.
低端:
AVR PK STM8.
高端:STM32 PK AVR32
低端市場,我用過AVR,沒用過STM8.AVR是很成功的一款芯片,功耗低,性能強.較之前的51,性能提升了好幾個檔次.如果一個初學者,學完了51,在學AVR,肯定就會對AVR愛不釋手.我也是這麽過來的,AVR對當時的我來說可謂是要啥有啥.所以從大二開始,一直用到畢業.PIC據說也不錯,但是很遺憾,我們學校,沒看到幾個搞PIC的,因為這個東西價格太高了,對我們學生來說,基本上不考慮.當然,有錢人例外.其次,AVR的下載也是很方便的.和51的可以通用.這其中雙龍電子對avr的支持,至少在國內來說,愛特梅爾是要感謝他們的.至於STM8,我沒有詳細了解,我估計他存在的目的,就是要把8位市場給占領了.他最大的對手,估計就是AVR和51了.目前AVR的局勢,岌岌可危,如果真要漲價,很可能就快要退出曆史舞台了.STM8目前最低端的是STM8S103F2 最少引腳數是20腳的,淘寶最低售價是3.5元,AVR同樣配置(僅僅指SRAM和FLASH)的芯片,價格在3塊左右.基本不分上下.其他功能方麵也很相似.STM8最高端的,STM8S208MB,淘寶價格在15元左右,而同樣配置的avr芯片隻有MEGA128了,還少了2k的ram和CAN控製器,不過多了總線控製器.但是MEGA128的價格,在30塊錢左右,毫無競爭力了,這就.這樣的價格,STM32F103都能買到很好的芯片了.15塊錢左右,基本隻夠買個MEGE32,而mega32和STM8S208MB相比,顯然差距很明顯.所以果真AVR要漲價,我建議,沒學AVR的就可以跳過avr了,學過的,就趕緊選擇新的MCU.不過STM8的下載,好像不如AVR那麽方便,這方麵,我沒有了解過,STM8,打造最便宜的下載器,不知道要多少錢?還請用過的朋友回答一下.
高端市場,ST最近幾年,對STM32的推廣,可謂是不遺餘力.效果也是很顯著的.我是陰錯陽差,在08年開始學STM32,而且STM32的價格,現在也很便宜,當時,STM32F103RBT6也就30塊錢,外設功能是很強悍了,128Kfalsh,20K sram,USB,12位ADC,SPI,IIC,TIMER,USART,RTC等,基本上,你能想到的,它都有了.顯然,次時的MEGA128已經毫無競爭力了.現在STM32低配置的芯片,STM32F101C4,16K FLASH,4K SRAM,價格在10塊錢左右.F103較低配置的STM32F103C8,也賣到了13塊錢一個,64K FLASH,20K SRAM,帶USB和CAN.單從這2個數據,就能說明很多問題了.LM3S,應該是和STM32一同推上市場的,至少不會比STM32晚,據說當時敢嚐CM3螃蟹的就流名和ST.周立功還選擇了推流明,後麵也不知道什麽原因,一直沒見流明起來,可能周立功和流明,都有錯吧(腦子被驢踢了可能).卻見STM32是打得紅紅火火.如今流明(被TI收購了)已經沒辦法和STM32競爭了.估計老周也很鬱悶吧,當時怎麽就沒推STM32呢?嗬嗬. 繼續說STM32,STM32現在推出的型號,從最低的10塊錢的,到最高端的STM32F103ZET6,價格也不過40元不到.其中包括的型號,有50種之多.用戶可以隨便選擇滿足自己需求的產品.高端方麵,STM32還推了F105/F107係列.強化了USB和網絡的功能.這方麵AVR32,從淘寶上看到的最低價格是30元左右,具體配置沒去看了.AVR32同STM32最大的缺點就是下載程序不方便,人家得專門為你做個下載器,或者從你那裏買,我們論壇上好像也有人搞了下載器出來,還真佩服這些哥們,挺厲害的.不過STM32呢?支持JTAG,支持串口下載. 這就把學習STM32的門檻一下降低了,加上KEIL對STM32的支持,比學習AVR的門檻還低了.這就很快的培養了大批使用者.其次,STM32的中文支持,做的也很到位,中文數據手冊,CM3權威指南,也都有中文版本的,給用戶提供了很大的便利.反觀其他,LPC和愛特梅爾由於之前不敢吃螃蟹,到現在他們的CM3構架芯片,還沒見到,LM3S雖然和ST一起吃了螃蟹,不過沒搞好,算是玩完了.所以,現在就剩下ST獨領風騷了.
總結STM32的成功經驗:
1,芯片價格低(最低10塊)
2,下載方便(串口下載,無需用戶增加任何成本)
4 編譯器支持(KEIL和IAR)
5,資源豐富(無論是FLASH,還是SRAM,還是外設,都做的很不錯,當然還少了EEPROM,有點遺憾,但無傷大雅)
6,學習方便(有專門的庫支持,有很多範例代碼,有中文數據手冊,有中文的權威指南)
7,後續升級有望(F101->F103->F105->F107->CM4...)
因為有以上7個原因,導致了STM32在最近2年迅速崛起,已近到了可以吃掉AVR 的地步了.AVR依我看來,隻在價格低於10塊錢的時候,才和STM32有競爭力,低端由於STM8的存在,對AVR也構成了一定威脅,但是由於STM8的支持,不如STM32好,比如下載不方便,編譯器不好搞等因素.所以暫時還沒能和AVR拚,但是一旦AVR要漲價,就是逼著我們用戶去學STM8了,到時候,AVR就在這塊市場也要輸掉了.
ARM7和STM32我選擇了STM32,說不出為什麽,也許那一年我的LPC2134能下載成功,我現在用的就是LPC的ARM7.不過幸好那個時候我沒有下載成功,才使我認識了STM32.
最後,一個價格低,入門低,功能強的芯片,是沒道理不火起來的.
鏈接:https://www.jianshu.com/p/f2e6b1dcbaed
AVR由於沒有除法指令,使得一個INT-》BCD需要近千個時鍾,而STM8中不足百個(好像16/8bit指令16指令周),常用指令也在1指令周期完成,STM8的中斷最少為9進9出,AVR 4進2出,相比STM8實時性要打折扣。
STM8性價比還是很高的,而且JTAG也不錯。仿真調試下載都很方便。
不像AVR那個 令人惱火的 鎖死問題。