轉發下,有道理,好文!
現在的推廣宣傳太多,讓人無所適從。單片機選型把握三要素:適用、價格、口碑,就可從容選擇。當然口碑是否靠譜還是取決於人。
經常會在網上看到各家推廣單片機的人員宣傳他們代理的單片機,比如pic,avr,c8051等,當然從宣傳推廣的角度,總是要多說些他說宣傳推廣的單片機的優點,這樣才能讓眾多不是專家的工程師,學生,公司採購人員,老闆對其感興趣,進而受到誘惑而使用他們的單片機。
可以總結下:無論什麼廠商的單片機,在宣傳的時候提到的優點基本上有以下幾條:
1.高性能。比如avr的單片機就說它是單機器周期的指令集,性能高,喜歡與8051的12T相比,說快了12倍
2.抗幹擾能力強。這個尤其是pic的宣傳者,說它是具有最好抗幹擾能力的單片機
3.破*解困難,比如avr喜歡在這方面說事,說它什麼什麼熔絲技術,讓人家無法破*解
4.低功耗。這點當然msp430是一流的,但我看到幾乎所有的單片機宣傳都說自己是低功耗的
剩餘的就全是不靠譜的瞎扯了,比如在「為什麼選擇avr「中居然列出了超過20條理由,其中幾乎所有的都是這些:"
(1) 為什麼選用AVR單片機? Flash程序存儲器可擦寫1000次以上,不再有報廢品產生。PIC 有的是OTP,只能燒錄一次。AVR程序存儲器數據為16位組織,也可按8位理解。PIC是12/14位程序 存儲器,作寄存器轉移和算術、邏輯運算帶來不便。
(2) 為什麼選用AVR單片機? 高速度(50ns)、低功耗!硬體應用Harward結構,具有預取指令功能, 使得指令可以在一個時鐘周期內執行。PIC要4個時鐘周期執行一條指令。MSC-51要12個時鐘周期 執行一條指令。
(3) 為什麼選用AVR單片機? 超功能精簡指令!具有32個通用工作寄存器(相當於8051中的32個累 加器,克服了單一累加器數據處理造成的瓶頸現象),有128B~4KB個SRAM,可靈活使用指令運算。
(4) 為什麼選用AVR單片機? 工業級產品!具有大電流(灌電流)10~20mA或40mA(單一輸出),可直 接驅動SSR或繼電器;有看門狗定時器(WDT),安全保護,防止程序走飛,提高產品的抗幹擾能力。
(5) 為什麼選用AVR單片機? 程序寫入可以並行寫入(用萬用編程序器),也可用串行在線ISP擦 寫。也就是說不必將IC拆下拿到萬用編程上燒錄,而可直接在電路板上進行程序修改、燒錄等操 作,方便產品現場升級。有ISP、JTAG及自編功能,這是今後單片機編程的發展方向 。
(6) 為什麼選用AVR單片機? AVR的I/O口是真正的I/O口,能正確反映I/O口的真實情況。I/O口 有輸入/輸出, 三態高阻輸入,也可設定內部拉高電阻作輸入端的功能,便於作各種應用特性所需 (多功能I/O口)
(7) 為什麼選用AVR單片機? 高度保密(LOCK)!
–不可**的Lock bit技術
–不象Mask ROM那樣可通過電子顯微鏡**–Flash單元深藏於晶片內部 –可多次燒寫的Flash且具有多重密碼保護鎖死(LOCK)功能,因此可快速完成產品商品化,並可多 次更改程序(產品升級)而不必浪費IC或電路板,大大提高產品質量及競爭力。
(8) 為什麼選用AVR單片機? AVR內帶模擬比較器,I/O口可作A/D轉換用,可組成廉價的A/D轉換器。
(9) 為什麼選用AVR單片機?可重設啟動復位。AVR系列有內部電源開關啟動計數器,可將低電平復 位(/RESET)直接接到Vcc端。當電源開時,由於利用內部RC的看門狗定時器,可延遲MCU啟動執行程 序。這種延時使I/O口穩定後執行程序,以提高單片機工作可靠性。有的還有內部復位電壓檢測電
路BOD,而檢測電壓可調。
(10)為什麼選用AVR單片機?具有休眠省電功能(POWER DOWN)及閒置(IDLE)低功耗功能。一般耗 電在1~2.5mA,典型功耗情況,WDT關閉時為100nA
(11) 為什麼選用AVR單片機? 像8051一樣,有多個固定中斷向量入口地址,可快速響應中斷。而 PIC只有一個中斷入口,要查詢後才能響應中斷,失去了最佳響應中斷時間。
(12) 為什麼選用AVR單片機? AT90S1200/2343/ATtiny15等部分AVR器件具有內部RC振蕩器- 1MHz的工作頻率,使該類單片機成為無外加元器件即可工作,就是一片晶片,可謂簡單方便,作加密 器件使用更妙。
(13) 為什麼選用AVR單片機? 計數器/定時器,C/T有8位和16位,可作比較器;計數器外部中斷和 PWM(也可當D/A)用於控制輸出,有的有3-4個PWM,作電機無級調速是理想器件。
(14) 為什麼選用AVR單片機?有串行異步通訊UART接口,不佔用定時器和SPI傳輸功能,因其高速故 可以工作在一般標準整數頻率,而波特率可達576K。
(15) 為什麼選用AVR單片機? AT90S4414/AT90S8515具有可擴展外部數據存儲器達64KB。它們 的引腳排列及功能與8051相似,即可替代替8051系列單片機(8751或8752)的應用系統。僅差復位 電平,只需對調復位電阻、電容位置。還增加很多新功能,WDT,A/D,PWM等
(16) 為什麼選用AVR單片機? 工作電壓範圍寬(2.7~6.0V),電源抗幹擾性強。 AT90LXX為低電 壓器件(2.7~6.0V), AT90SXX電壓為 (4.0~6.0V),最低器件ATtiny12己到1.8V ~ 5.5V。
(17) 為什麼選用AVR單片機? AT90S4434/8535具有8路10位A/D;AT90S2333/4433具有6路10位 A/D;功能更強的ATmega103/128有Flash 128KB,EEPROM 4KB,RAM 4KB,I/O埠48個,中斷源16 個 ,外中斷8個,SPI,UART,8路10位A/D,ISP。
(18) 為什麼選用AVR單片機? 並具有較大容量、可擦寫10萬次的EEPROM,對掉電後數據保存帶來 方便,來電後能記住掉電時的工體狀態,EEPROM(64B~4KB) 。
(19) 為什麼選用AVR單片機? 新的高檔AVR ATmega16/32/64/128還具有JTAG邊界掃描、仿真、 編程功能,不會造成以往仿真通過,脫機不行的現象。
(20) 為什麼選用AVR單片機? AVR 微處理器---可以對自己編程..ATmega161為使用便利性而設 計
–寫入新代碼時無需外部器件
–小扇區:128位元組
–Boot區可變
–Read-While-Write技術
–減少編程時間
–受控於硬體的編程方法
–打開通向新世界的大門
–通過任何接口進行編程(並行編程器、ISP、JTGA、 UART 、自編程)–重複編程無需外部器件
–100%安全的遠程加密更新方式
(21) 為什麼選用AVR單片機? 從高級語言C代碼,看各種單片機性能比較: 從一個小C函數為例:
/* Return the maximum value of a table of 16 integers */
;返回最大值的表格的16位整數
int max(int *array);數組*array
{
char a;
int maximum=-32768;最大的=-32768
for (a=0;a<16;a++)
if (array[a]>maximum)
maximum=array[a];
return (maximum);返回
}
性能比較:
AT90S8515 8 MHz
80C51 24 MHz
68HC11A8 12 MHz
PIC16C74 20 MHz
編譯結果結論:
8 MHz AVR ——224 MHz 80C51
HC11:代碼效率高,但是處理能力只有AVR的1/10,功耗卻高 2.5倍
PIC 速度快, 但是在相同功耗下AVR性能比其高3.5倍
(22) 為什麼選用AVR單片機?AVR使用眾多功能強大的高級語言
● IAR AVR C編譯器 編譯器與AVR同步設計,支持C和EC++ ,Demo版只生成調試文件,
● ICC AVR C 編譯器 支持無SRAM器件;增加組軟體模塊;Icc Demo版30天是完全版, 30天後轉 限2KB版
● Code Vision AVR C編譯器 有組軟體模塊,Demo版為限2KB版
● GNU C編譯器 網友聯盟自由免費版,升級慢
● BASCOM-AVR Demo版為限2KB版
(23) 為什麼選用AVR單片機?AVR有各種檔次的開發工具
評估工具
–AVR Studio
–STK500
–GNU GCC 編譯器高性能開發工具
–AVR Studio
–STK500
–ICE10 / ICE30/ICE200
–IAR C
低成本開發工具
–AVR Studio
–ICE200 / JTAGICE
–Imagecraft C
- 本站開發AVR mega16/32 學習開發板
(23)為什麼選用AVR單片機?有了AVR基礎,我們學習FPSLIC(=AVR+FPGA+SRAM),使我國單片機開發 進入晶片級開發。"
上面只是拿一個宣傳avr單片機的,在網上廣為流傳的帖子為例來說,倒不是對avr本身有什麼意見,也不是說其他廠商單片機就比它好。
我可以說,上述90%是廢話,是沒話找話,是忽悠不大懂單片機的人的胡扯的話。比如第23條:真高,居然把學習avr和發展我國晶片設計技術扯到一塊了,這也太能扯蛋了,試問按照寫這個帖子老兄的意思,難道學pic,8051就對進入晶片級開發沒有幫助?推而廣之,或許我放個屁也對中國晶片產業產生影響。
第22條,大意是avr可以用高級語言開發,這也算avr的優點?什麼單片機不能用高級語言開發,舉個例子出來?
第 21條:也是胡扯,把avr與motorola的68HC11A8 比,你怎麼不和intel的酷睿比啊?68HC11A8 是什麼年代的?它熱賣的時候,你avr還不知道在哪娘肚子裡呢,與8051比也是同樣,傳統8051確實不怎麼樣,但要說8MHZ avr相當與224MHZ 8051我不相信,不知道作者是怎麼得出這個結論的
第20條:大意是可以isp,這個我想目前大多數單片機都具有這個功能吧。avr並沒有什麼特別之處,也沒什麼突出之處,請不要把一個已經成為基本功能的東西還拿出來作為亮點在忽悠
第 17-19條:什麼avr具有jtag,具有spi,adc等等作為亮點在說,同樣,現在幾乎所有單片機都具備上述功能,而且據我了解,avr在這方面表現一般,很多單片機具有更多路adc,更高精度adc,更多路spi,i2c,uart等等,比如TI msp430,飛思卡爾s08
第 8-16條,跟上面一樣,說的全是基本功能,說的全是所有單片機都具備的功能,什麼具有定時器,什麼具有adc,什麼uart不佔用定時器,什麼低功耗模式。。。。,打住打住,這算是你要吹噓的優點嗎?找找看現在的單片機哪個沒有這些功能,當然你如果硬是用古老的8051或者moto的68hc,因為不是一個年代的,比較沒什麼意義。據我所知,avr在這方面很一般,很多單片機比它強,有更多的uart,更好的低功耗模式,更多更靈活的定時器。。。,看看飛思卡爾的s08系列就知道了。
第1條尤其古怪,竟然說avr是flash的,pic是otp的,這真是胡扯,pic也有flash的,幾乎所有廠商的單片機都同時有flash版本,otp版本,甚至rom版本的,avr真不該拿這個說事
2-7 這幾條,基本上是說高速高性能,雖然說avr確實是接近1mips/mhz,但avr的性能並不是多突出的,這涉及到體系結構的問題,avr通常在 3.3v時候只能最高跑8MHZ,5V跑16mhz,這是非常低效的,大多數單片機都比它快!我甚至懷疑,為什麼avr的主頻做不高,很可能是它的架構有致命傷,本來就做不高,當然這個只是我的懷疑,否則為什麼不做個40MHZ的atmeag16?
上面那麼多,其實就是想說大多數這些宣傳的東西都市胡扯的,很不專業,很多誤導,上述avr的所有23條優點都不是優點,因為msp430,s08都具備,甚至比它更好。
比上述更胡扯蛋的,甚至是無恥的就是stc單片機的宣傳,號稱相當於480mhz的傳統8051,說永不可解密,說什麼intel統一x86,宏晶統一8051,如此狂妄無知無恥的宣傳語真是讓人無語
當然從宣傳角度來說,中國向來是沒有什麼誠信的國家,電視上,媒體上各種廣告都普遍虛假宣傳,虛誇成分很重,這是中國國情,從這個角度說,那些宣傳單片機的人這麼寫沒有什麼不對,因為行情就是這樣。如果是我去宣傳,也會這麼做,不過我會注意不會那麼離譜,肯定比這些人寫的真實些,水分少很多。