現在工業上還用51嗎?哪些重要項目里用了51系列的單片機?


曾和一個老工程師拆過一個控制器,功能類似PLC的,國外的。裡面使用的是8051他爹8031,——一個連內部程序存儲器都沒有的傢伙。

老工程師對此分析是,這晶元簡單,簡單到內部ROM都沒有,從系統穩定性的角度來看,越是簡單的系統就越穩定。比如DOS和WINDOWS,沒見過DOS會有死機的情況。工業上的產品要求是穩定性,最好連續十年也不死機重啟神馬的。

另外,現在還有4位的單片機出售——據我了解NEC的4位單片機出貨量最大。但人家基本只做大客戶,所以我等小電工基本沒人接觸過(NEC前幾年8位MCU出貨量世界第二,排在microchip之後)。


多得是!
每家都用的電錶
攝像頭雲台
數字機床
所有需要穩定工作的場合!!!
--------------
看了看其他人的答案,有些人說51功能不行了,價格還貴、、、
唉,您是電子工程師嗎?
您應該明白吧:沒有最好的晶元,只有最合適的晶元,要看場合選晶元。
順便說下51也是種『內核』,自己去搜搜STC.宏晶 是如何做大的


結合我的親身經歷說說這個問題吧。
最近有個深圳的朋友,專程開車過來,帶來了一款他們公司的產品,晶元是一款51內核的8位單片機.。
他說這個賣的很火,只是現在三星的這個單片機晶元快要停產了,擔心後面難以購買,所以想讓我幫忙更換掉核心板,使用STM32代替.

無獨有偶,最近也有很多朋友和我聊天的時候,問我說現在都學習STM32了,還有學習51單片機的必要嗎?
更有人問,我們的ARM Cortex-A17都量產了,還有必要學習ARM Cortex-M3嗎?

我想說的是,如果你是做產品,當然要優先考慮用當前量大的,出貨有保證的晶元。
經過市場檢驗的晶元,質量也不會太次,市場用量大,價格也相對低一些。其實使用新推出的IC做量產產品,
運氣不好的話會遇到很多坑,我們就曾經因為使用一款新的IC,導致產品在溫濕度環境實驗的時候出現INT概率性宕機,
經過大量的試驗和測試(當時在溫濕度環境下,測試人員和我們工程師的小手都被蒸成紅燒豬手了,那個濕度和溫度相當高!),
最後我們定位到了宕機問題和我們的軟體設計,硬體設計無關,問題恰恰出在這個新IC上面,因為查找這個問題耽誤了項目進度,
導致我們的項目延期,被客戶罰款(客戶是衣食父母,得罪不起啊)
原廠也只能說下個季度修正這個BUG。 %¥%××還能說什麼呢?只能說算是我們選型方案失誤。
另外有很多小的IC原廠,並不能夠保證晶元的生命周期,但是大的廠商可以給你保證XX年內都還是可以買到這款IC的,
這樣你就不用擔心當你的產品大賣時卻遇到晶元缺貨,無法及時生產的尷尬了。

如果你只是學習,特別是學習單片機或者其他的嵌入式軟體底層編程,那我建議您選一款資料最多的晶元可以了。

如果別人問我,我會說其實STC的8051內核單片機就是一個不錯的選擇。因為它的晶元架構相對簡單,應用也很成熟,資料多,玩的人也多,上手比較輕鬆。
我們大學課本都是以講8051為主。資料是最豐富的,無論是網路上的貼子、書籍、視頻,都已經形成了一個完整的體系。
你碰到的大多數問題,別人都已經碰到並解決了。入門也最簡單,最快速!

首先更正一些概念:8051並沒有過時:
1. 寫驅動中不涉及CPU,只涉及CPU之外的設備
嵌入式晶元被稱為SoC(System on Chip),它上面既有CPU還有其他模塊,比如GPIO、I2C、UART等。
如果你是單片機嵌入式軟體工程師, 無論是8051、STM8、STM32,對我們來說是沒有差別的;
差別不在於CPU核, 差別在於CPU之外的模塊的寄存器操作不一樣。
因為我們寫驅動並不涉及CPU核,只是操作CPU之外的設備,只是讀寫這些設備的寄存器。

2. 一理通,百理明:掌握了原理,通吃所有晶元
從我2005年入行,在單片機 、ARM架構方面經歷了8051,STM32,ARM9,ARM11,CORTEX A8/A9,現在又到了多核;
期間用過其他架構的晶元,但是所用到的知識跟8051上所學的知識,完全沒變過!根本沒變過!
變化的就是調試驅動的經驗累積,就是學習的能力,快速掌握新知識的能力另外就是對操作系統的掌握!

3、「我學8051幹嘛?工作中又不用8051!」,
此話大錯特錯,你是用8051來學習知識,不是學習8051這個晶元本身;
即使你現在選擇很牛的晶元來學習,再過1年它也過時了;追晶元,怎麼追得上!?
就比如你們公司即使現在用的 ARM Cortex-A17 , 你用這個來學習到頭來只是學到皮毛,越是高端的處理器,公司的產品越是依賴於原廠或者方案公司,
你接觸到的很多都是沒有手冊,沒有說明,甚至封裝打包成LIB庫的東西,真正核心的接觸不到。

4、 「8051是不是快被淘汰了,還學它幹嘛」, 大錯特錯,理由同上。
現在單片機的產品很多很多,在滿足功能的情況下,公司或者老闆當然選擇價格便宜,市場量大的單片機了。可以用單片機乾的活,何必要用ARM呢。

5、那麼,怎麼初學者應該學習呢?
(1、找一塊單片機開發板練手,當然你也可以自己搭建硬體平台。學習單片機最重要的就是要多實踐。
(2、學完後再換另一種開發板重寫代碼
為什麼要換開發板?
這是對你所學知識的檢驗與煅煉,把你學習的8051單片機上所有的代碼,都在新板子上自己重新寫出來:很多你沒有領會到的、
沒有在意過的知識點,在這個過程中都會卡得你痛苦萬分,解決了它們你自然就學得更深了。只有這樣,前面在
8051上所學到的知識才會變成你自己的知識。

另外有人問:8051內核、ARM Cortex-M0、ARMCortex-M3這些內核的單片機指令不一樣,對我們學習或者開發有影響嗎?
我想說的不同系列的單片機架構或者指令集,確實有差別。
但是對於初學者或者初級的應用工程師,我想這些是不重要的,至少只能說了解就可以了。
並不是需要熟悉或者精通。因為畢竟做初級開發的,涉及到這方面的很少。

打個比方,前段時間我調試一個語音類的產品,我只需要評估下,可能需要使用支持NEON指令集的CPU。
所以我選了這樣一款ARM晶元,然後軟體打開NEON指令的編譯選項即可。經過測試,加入NEON指令後,多媒體的編解碼會更高效。
但是作為快速開發產品,我沒有必要去了解NEON是如何去提高效率的。

歡迎來www.armgeek.com極客電子圈交流學習!


這個東西還是有需求的,工業使用是個很寬泛的概念.可以是大型機械,也可以是小型設備,就我接觸的來說,51還是有在使用的.
原因是該產品已經有了穩定的硬體系統,只是在其上做簡單功能的升級或繼續量產.改硬體耗時耗力啊,代碼還得重寫,何必呢?
當然,做新方案新產品,咱還是得與時俱進.


之前看過一些論文,提及解放軍某款雷達車的天線機械掃描使用51控制。


51很多場合都還在用。工控場合晶元選擇性價比,價格往往不是最主要因素。前面大神們說的很清楚了。

而且現在很多東西是51核的,比如一些語音播報晶元,rfid晶元等,TI的zigbee節點cc2530也是51核。方便大家直接上手開發使用。也算是51生命的另一種延續。


---昨晚手機寫得,早晨再啰嗦一下--

單純用51作為主控制器的應用場合,這樣的應用可能的確越來越少了(現在用CM3比較多),但也不會立即滅絕。比如剛才陳工說的8031,類似的我也聽說過,據說早期PLC很多也都是用的51。

我自己曾經拆過一個語音播報模塊,就是STC12 + WT588D構成的,而WT588D本身也是51核的~。

所以說,51作為主控制器還會在一些特定場合發揮餘熱;

而更多的應用是在一些子模塊上如感測器節點;語音播報模塊;LED屏等地方使用。


順便說一句,工控上大型場合主要用PLC,不過PLC本身就是由單片機/嵌入式系統構成的。


對工業使用單片機的情況不太了解,但靠我個人猜想一般是不用的。
準確的說51是一個很好的入門單片機,資源豐富資料齊全,但用在產品上實在有點不堪。
相比51,一些單片機在價格上不僅比51便宜而且性能功能都比51好很多


【相信的力量】
電子極客圈,編程電子實戰基地!
(出處: 電子極客圈)


題主可以去拆拆家旁邊的路燈,說不定裡面就是個51.
別說是stc 51了,就是intel的mcs 8051,乃至沒有片上存儲的8031,現在還跑的好好的呢


毛估估全國一半的單項電錶軟體跑在51內核的單片機上


51很少了,成本也不便宜。
單片機層出不窮,基本也是跟著公司走。
不過STM32方面的確實有很大創新,就沖著庫也應該選。


推薦閱讀:

大學沒做過什麼項目,以後找工作怎麼辦?
關於嵌入式人工智慧?
前輩學51單片機的感悟是怎麼樣的?說說看
一個廢舊的 Android 手機能拿來幹什麼有趣的事?

TAG:計算機 | 嵌入式系統 | 單片機 | 工控 |