51單片機領域的一個奇蹟,半導體界我只服你!

2021-02-14 電子發燒友網

我敢保證,我們當中的大多數人,在讀書的時候,玩的第一個晶片,基本上都是8051的。利用它來編各種跑馬燈,七段數碼管,這是平常到不能再平常的事情了。相信大家對「MOV」應該不陌生吧?

可能現在很多人已經不玩51了,改行玩DSP,玩ARM,玩FPGA了,但毫無疑問8051才是我們的初戀。

今天我們聊聊8051的發展史,還有順便說一下國內一個做51晶片的「奇葩」公司——宏晶科技(STC)。

8051是Intel的發明

談8051,就不得不說一下單片機,單片機誕生於1971年,經歷了SCM、MCU、SoC三大階段,早期的SCM單片機都是8位或4位的。其中最成功的是INTEL的8051,此後在8051上發展出了MCS51系列MCU系統。8051由英特爾公司於1981年製造,這是一種8位元的單晶片微控制器,屬於MCS-51單晶片的一種。

8051單晶片是同步式的順序邏輯系統,整個系統的工作完全是依賴系統內部的時脈信號,用以來產生各種動作周期及同步信號。在8051單片機中已內建時鐘產生器,在使用時只需接上石英晶體諧振器(或其它振蕩子)及電容,就可以讓系統產生正確的時鐘信號。

英特爾原來的8051系列的開發利用 NMOS 技術,但後來的版本中,在其名稱加入字母C(例如,80C51),確定使用 CMOS技術,這樣比NMOS節能源。這使它們更適合於電池供電設備。

8051在單一的封裝中提供很多功能(包括CPU,RAM,ROM,輸入輸出,中斷,時鐘等)。

8051能夠達到以一般工業配線盤更小的體積,來達成自動控制作業,如感測訊號的擷取、循序控制等,它皆能輕易的完成。 近年來單晶片的功能不斷加強,價格愈加便宜,傳統的8051已經成為學校的教材。

單晶片具備了便宜、電路簡單、體積小與耗電低等優點,所以目前在業界使用的極為廣泛。比如要控制一個馬達就不需要使用一臺PC來控制,只要一顆單晶片加上驅動電路就可以加以控制這顆馬達的運轉了。

在這裡穿插一個故事:

早期的MCU有三大龍頭Zilog—Z80 、Intel—8051和 Motorola—68xx ,相信有在玩MCU的人應該不陌生。

然而後來的Intel走進了學術界,透過老師及教授的力量,大量撰寫教材與教具,經過一兩個世代的輪替後市場的分布開始起了變化。(終於明白為什麼我大學用的是8051了)

這種操作的手法跟微軟其實很像,就是先教育使用者,然後自然習慣這樣的產品,相信大家都不難發現市面上幾乎清一色是8051的教材,聰明的你會選擇有詳盡參考資料的MCU上手,還是資源少得可憐又沒人可以問的MCU呢?

然而讓8051真的奠定穩固地位的是個人電腦的興起。

微軟和Intel的結合創造了IBM相容電腦的規格,進而開啟了8051的輝煌時代。

當時的電腦BIOS 鍵盤掃描周邊IO 很多都是用8051所做的,而Z80與68xx就在這樣的趨勢中敗陣下來退居二線,這絕對不是技術底子不好,也絕對不是MCU不夠穩定,只是市場要不要你的簡單答案。

市場的老大並不是企業本身,而是使用者當產品的擁護者越多企業就越茁壯,要有越多的擁護者,經營理念是相當重要的,很多市場上的成敗往往一開始就已經決定了 。

到後來,由於其極低的成本,簡便的開發,51單片機被廣泛應用到各種小家電和產品上面。

無所不在的處理器,對廠商來說,等於是無可限量的商機。因此,許多處理器應用架構都想要取代8051當市場一哥。不過8051太頑強了,因為Intel完全把它所有的相關專利開放了,業界可以任意使用其架構發揮創意,許多IC設計廠商透過巧思,在8051這塊原料裡加上了許多不同的配料,針對不同的市場饕客,設計出許多不同口味的菜餚,滿足不同應用類型與每個人挑剔的胃口。

因此,各種高頻率、高效能的8051產品紛紛誕生,比如說原始8051僅有12MHz,但修改版時鐘最高可超過100MHz,不少廠商修改了內部時鐘的運作規則,產生許多效能更變態的版本。另外原始8051可定址的存儲容量有限,廠商也推出能定址到16bit存儲的版本,讓系統吃個飽飽。

但不管再怎麼修改,8051還是8051,為了相容性,許多歷史包袱仍然丟不掉,就技術上來說,砍掉重練推出一款超級8051是有可能的,如此時脈可以上看數百MHz,甚至內部資料與外部連接寬度都可以搞到32或64位元,但這麼一來也就失去8051的相容性優勢,倒不如重新開發一款全新的MCU產品。例如ARM各系列產品成為取代51的最佳人選。

但在開頭我說了,我這篇文章除了介紹51的發展外,還想介紹一下另一個奇葩公司,我敢說這是半導體業裡面最奇葩的,沒有之一。這個公司就叫做宏晶科技,我們一般叫他STC。

謎一樣的STC,服!

大家就跟隨我的腳步去了解一下這個神奇的存在。

小編谷歌了一下STC,第一個就是他們家的網址。

這title嚇到我了,8051單片機全球第一品牌,全球最大的8051單片機設計公司。

畢竟作為一個有好奇心的小編,對於一個這麼牛逼的公司,怎麼的都想去看一下的。進去的時候,我真的崩潰了。我以為我自己穿越了,你知道麼。

首頁是這樣的。

往下拉一點是這樣的

再往下拉一點是這樣的

頁底是這樣的

看到這裡,我真的尷尬症都煩了,雖然作為一個搞硬體的,你可以對於網頁簡單點,但簡單不等於隨便啊。

說完對於其網站的一些吐槽以後,我們看看用戶是怎麼噴他們的產品的。

STC 1T系列單片機,是目前為止,我個人認為最適合燈光調光類產品的單片機IC。但是目前市場上,對STC的罵聲一片,至少在我經常上的一些關於單片機的論壇也好,經常聊的一些關於單片機、電子技術的Q群也好並不怎麼看好STC單片機。

至於原因嘛,有目共睹的,STC因吹牛皮不慎,引犯眾惡。比如:

一、數據手冊、規格書做得不專業,很嚴謹的數據手冊、規格書被做得很像宣傳手冊一樣,很奇怪,怎麼不參照一下Microchip或者ATMEGA AVR這些牌子的數據手冊、規格書呢。(聽說上面有廣告的datasheet,就是正版的。)

二、產地不詳。STC號稱中國大陸本土品牌,中國人自己的單片機。既不能提供產地的資料,又不明確表態所用的技術是出自哪裡的。客戶打電話過去諮詢,說是美國的技術,上海製造,但是打電話到美國諮詢卻沒人接聽。官網上卻宣稱是中國自己的技術。有點矛盾。不過最近STC官網發布了一些TSMC生產現場的照片,說明的確是上海製造。

三、ISP燒錄軟體不像樣,經常出錯,在裝有AUTOCAD上的電腦啟動,將會一起啟動AUTOCAD的安裝程序。巨鬱悶……

四、自吹自擂,號稱無法解密的單片機,如15F系列用的第八代加密技術,但是市場上隨便三兩千元都能解密了。還懸賞十萬請專家幫忙查找有無漏洞。你說會不會有這麼笨的人,我要是知道你的解密方法,我也不去做這麼蠢的事,斷自己的財路,這麼等同於殺雞取卵麼?

五,吹噓,關於吹噓,STC說8051單片機全球第一品牌, 全球最大的8051單片機設計公司。我們知道其以前還是稱國內最大,其實也只能是國內出貨量最大,8051的設計能力和美國的一些廠商還是無法比。

六,用戶碰到問題的時候,其姚老闆的觀點有兩方面:

1、 我們的晶片沒問題,你仔細檢查一下你的設計
2 、這個我沒弄過,你自己試一試呢。

當時我就蒙了,好不好。

綜上所述,STC的確缺點多多。但不得不承認STC仍擁有很多的優點、很強大的功能。比如說:

一、STC是1T單片機,速度十分的快。使用如此高速的單片機進行燈光PWM調光(多數為軟體PWM,硬體PWM在選型、移植、設計都有較多的不便,但軟體PWM要求較高的速度),能讓光線柔和無閃爍感。這是其它單片機無法比擬的。也是STC適合於燈光調光類產品最主要的原因。

當然,1T、4T的單片機比比皆是。如Microchip、AVR、Silicon Labs。但STC可以用到30~40MHZ的單片機,Microchip、AVR的中低檔單片機中根本沒有。

高檔就算啦,不是同一個價位的。而且進口貨,也貴得驚人。有一次,Microchip一代理商給我打電話說,你們現在用的單片機也幾塊錢啊,我們Microchip也有一塊兩塊美金的單片機啊。*,幾塊美金是多少人民幣了?

至於Silicon Labs各方面性能也不錯的,還有個交*選擇開關挺好用的,引腳的第三功能可以隨意切換。但價格嘛,也相對的高。而且要麼是幾K幾十K的IC,容量多不是不好,但用不上的容量意味著浪費。封裝也大多數僅有貼片封裝。可能這哥們想得太高了。至於臺灣的一些牌子,如義隆、麥肯、合泰等,一個彷真器都幾千的,要是不下點本還真沒辦法用。

二、STC供貨、價格穩定。STC總部就在深圳。無論是供貨還是價格都相當穩定,不像那些進口的IC,價格總是隨市場變來變去,甚至有時有錢也拿不著貨。

三、下載、編程方便。STC直接串口下載,FLASH存儲,51內核參考例程多,基本不彷真都行(至少我用這麼久還沒找過彷真晶片)。前面說了,某些牌子都得專用編程器專用彷真器才能有。

四、至於抗幹擾能力嘛。不得不說STC晶片自身的確不如某些牌子,幾乎公認Microchip PIC C(OTP存儲)系列自身的抗幹擾能力最強。所以本人認為STC目前來講仍不適合應用於工業控制或者是汲及生命安全、人身安全的應用上。但是燈光調光類的控制,不會處於強幹擾範圍也不需要擁有太強的抗幹擾能力。
五、STC型號眾多、封裝多種多樣、配置也各有千秋。從幾十引腳到最少的8腳、從ROM幾十K到最少的512Byte。調光類產品即不等同於昂貴的安防設備、手持儀器,也不等同於對價格極敏感的小家電。所以它對成本的要求是在於中等偏下水平的,而這個水平和性能要求的範圍內貌似僅有STC比較合適。

六、個人民族情結,STC至少敢於在行業內宣稱自己是中國品牌(中國製造的形像似乎不太好),即使這是一個錯誤,也寧願相信中國芯是個事實。網際網路上宣稱銷量排名第一瑞薩單片機(小日本品牌),這個第一挺值得懷疑的,我問過很多人,都不知瑞薩為何物,也有可能是行業不同或者瑞薩多應用於小家電。反正小日本的東西,哥挺反感的。

總結一下,STC活下來了,活的還不錯,原因主要是:

幾乎完全依靠學生市場和越來越小的超低端小批量市場(因為除了這兩個其他的STC都活不下去)生存了這麼多年,出了這麼多產品,而且那個神奇的IAP工具越做越像客戶端,我一直在等著哪天STC把編譯器做進去,直接就在下載工具裡面寫程序了.

至於穩定性什麼的,我不知道有多少人是做過產品的,有多少人是用STC做過產品的.我沒有,所以我不評價STC本身的穩定性.但是任何一個指標僅僅定性是沒有價值的,都是要定量的,要有指標的,什麼樣的指標下做到什麼的成績,這才是一個可以操作可以比較的東西.在今天用STC做產品除了簡單以外毫無優勢,一個選型的時候就以開發簡單為嚮導的產品,可靠性???

然後我自認為的STC最大的優勢,就是超低的學習成本,雖然這樣導致了註定很難有驚豔的設計或者產品(不代表沒有).但是低端市場也是市場,而且很大.這樣的市場有這樣的需求,STC滿足了這個需求就很好,就像廣場舞滿足了普通大眾的娛樂需求,STC滿足了一個工程師群體做產品的需求,這就夠了。

相關焦點

  • 微控制器晶片與51系列單片機
    單片機使用最廣的是51系列單片機。本文比較系統地介紹微控制器晶片和51系列單片機,包括嵌入式系統的種類、微控制器與單片機的發展,以及51系列單片機的基本知識。       嵌入式系統使用最多的是單片機,其核心是微控制器。單片機使用最廣的是51系列單片機。       嵌入式系統用於智能設備儀器、智能家電、武器裝備、簡單控制系統等許多領域。
  • 為什麼我們學的都是51單片機?
    今天告訴你們一個秘密,為什麼我們學的是51單片機,為什麼在中國無論是工程師還是大學教師還是大學生都喜歡用51單片機,原因有以下幾點:1.由於51內核(指具有8051cpu的單片機)具有大量的資料,有很多的種類,所以受到了人們的喜愛,是初學者能夠收到事半功倍的學習效果。真的是這個樣子嗎?
  • 論壇推薦:是時候向51單片機說再見?
    在我讀本科的時候,當時它無疑是學習的基礎——畢竟那時沒有更高級的單片機可以供使用,國內更沒有更高級的教材供參考,老師的水平也是參差不齊,而51單片機正符合這樣的需求,不僅有大量的成型的教材,廣泛的示例,當時工作的實際項目也是51單片機為主,於是51單片機理所當然的成為當時的學習基礎。要知道筆者讀本科的時候是2004年,即10年前的東西。
  • 51單片機程序執行流程詳細分析
    ,百度盤群組分享連結更新時間:2017-07-8,失效請在文末留言,不要在後臺留言,你也可以在後臺菜單「資源搜索」搜索更多你想要的網盤資源!忽然想到來探探51單片機的執行流程。這個念頭起源於最初見到每個51程序裡面的主函數裡面最終都掛一個while(1);語句。為何要加一句while死循環讓程序停留在main函數中呢。將while(1);語句去掉有什麼影響麼?執行以上程序,由P1埠控制的流水燈閃了一下。程序最終進入while(1);裡糾纏去了,這個到好解釋。現將while(1);語句屏蔽掉。
  • 51單片機點亮一個燈和驅動蜂鳴器【程序+圖文】
    51單片機常寫的如#include<reg52.h>或  #include<reg51.h>,飛思卡爾新建project之後生成的main.c文件裡自動帶有#include <hidef.h> /* for EnableInterruptsmacro */  #include "derivative.h"       另外還可以自己加入需要的頭文件
  • MCS_51單片機與8255A的接口設計
    所謂可編程的接口晶片是指其功能可由微處理機的指令來加以改變的接口晶片,利用編程的方法,可以使一個接口晶片執行不同的接口功能。目前,各生產廠家已提供了很多系列的可編程接口,MCS-51單片機常用的兩種接口晶片是8255以及8155。
  • 安卓手機與51單片機間藍牙通信的實現
    藍牙耳機今天分享下如利用藍牙4.0模塊建立安卓手機和51單片機間的藍牙通信。(1)安卓智慧型手機一部,只用是近幾年的智慧型手機都內嵌藍牙模塊,藍牙4.0及以上(2)任意51單片機最小系統都可使用,如下文連結。
  • MCS-51系列單片機的引腳中有多少根I/O線?
    推薦閱讀 簡述MCS-51系列單片機主從結構多機通信原理 簡述MCS-51系列單片機主從結構多機通信原理,設有一臺主機與三臺從機通信,其中一臺從機通信地址號為01H,請敘述主機呼叫從機並向其傳送一個字節數據的過程。
  • 51單片機產生PWM方法
    獲取Proteus仿真資料,百度盤群組分享連結更新時間:2016-10-29,失效請在文末留言,不要在後臺留言89C51晶片沒有自帶PWM發生器,如果要用51來產生PWM波就必須要用軟體編程的方法來模擬。
  • 基於51單片機的TFT液晶顯示設計
    用51單片機驅動液晶模塊通常都使用1602和12864等極為簡單的液晶模塊, 這裡介紹用51單片機驅動QVGA解析度的TFT液晶模塊, 以實現彩色和更為複雜的內容顯示的方法。同時, 本文還將使用DS1302晶片和DS18B20晶片來實現在液晶屏上顯示實時時鐘和溫度。
  • 51單片機開機復位、按鍵復位原理講解
    往期文章👍五個階段判斷你的電路設計能力👍零基礎怎麼學電路設計?👍單片機按鍵設計的四個方案詳解👍單片機17種常見的電路設計模塊👍單片機最小系統解析(電源、晶振和復位電路)👍六款簡單的開關電源電路設計原理圖詳解👍五款蜂鳴器驅動電路原理圖👍電容的分類與區別👍你需要了解的與PCB差分對過孔有關的四件事👍繼電器驅動電路匯總👍步進電機驅動電路圖大全
  • 基於51單片機定時器的電子時鐘設計方案
    單片機定時器在目前的產品研發和設計過程中,其主要作用是進行精準的時間定值,因此在對時間控制要求較高的數控領域中,單片機定時器的身影隨處可見。
  • MCS-51單片機的引腳描述及片外總線結構
    2、外接晶體引腳XTAL1和XTAL2  XTAL1(19腳)接外部晶體的一個引腳。在單片機內部,它是一個反相放大器的輸入端,這個放大器構成了片內振蕩器。當採用外部振蕩器時,對HMOS單片機,此引腳應接地;對CHMOS單片機,此引腳作為驅動端。  XTAL2(18腳)接外晶體的另一端。在單片機內部,接至上述振蕩器的反相放大器的輸出端。
  • 51單片機常用波特率初值表(12M晶振)
    資源下載:關注我們「單片機」,回復「教程」獲取單片機電子書,回復「仿真」獲取Proteus仿真資料。
  • 51單片機指令周期,機器周期,時鐘周期詳解
    51單片機有指令周期,機器周期,時鐘周期的說法,看似相近,但是又都不太一樣,很容易混淆,還是詳細分析一下。
  • 51單片機中中斷程序大全(源程序)
    >」獲取單片機相關資料。一起走向智能工業革命時代,單片機DIY、基於c語言/彙編的編程。.h>        //  包含51單片機寄存器定義的頭文件void main(void){  // EA=1;                  //開總中斷//ET0=1;                 //定時器T0中斷允許         TMOD=0x01;            //使用定時器T0的模式1
  • 51單片機ULN2003驅動步進電機的典型應用電路圖解
    ULN2003是高耐壓、大電流複合電晶體陣列,由七個矽NPN 複合電晶體組成,每一對達林頓都串聯一個2.7K 的基極電阻,在5V
  • 單片機控制步進電機設計及失步原因分析,51單片機驅動步進電機的方法
    步進電機相對於其它控制用途電機的最大區別是,它接收數字控制信號電脈衝信號並轉化成與之相對應的角位移或直線位移,它本身就是一個完成數字模式轉化的執行元件。而且它可開環位置控制,輸入一個脈衝信號就得到一個規定的位置增量,這樣的所謂增量位置控制系統與傳統的直流控制系統相比,其成本明顯減低,幾乎不必進行系統調整。步進電機的角位移量與輸入的脈衝個數嚴格成正比,而且在時間上與脈衝同步。
  • 用51單片機製作一個秒表的詳細過程(教程有程序)
    前面的話:和很多朋友一樣,在學51單片機的過程中我們肯定會涉及到製作一個秒表,牽涉到把單片機的多個部分組合起來使用,這對於我們初學者來說可能顯得有些困難,我同大家一樣,百思不得其解,最後頭都弄大了才把這個秒表製作出來,為了給以後的朋友們一些思路,一些參考,所以在這裡我把自己製作的整個詳細過程整理出來供大家參考。
  • 【DIY】自製簡單51單片機編程器(燒寫器)
    一般情況下可重複燒寫1000次,這樣為初學者試驗提供了一個廉價的平臺。為了滿足廣大單片機愛好者動手的需要,本人利用半個月的時間,參考國外資料,實際設計製作成功一款簡單的AT89C51/52/55單片機編程器。由於單片機編程時序不同,這一款編程器僅僅支持ATMEL公司的AT89C51, AT89C52, AT89C55晶片,不支持華邦或飛利浦兼容晶片。下面是單片機編程器電路圖.