現在還有必要學習51單片機了嗎

2020-12-12 樂創客

「現在都是什麼年代了,你還在學單片機?早就該學嵌入式系統了,Linux和FPGA了。什麼,你學的還是51單片機,這個單片機可能比你老爸年紀還大,還學它幹嘛?你這不是1949年參加Guo軍,1912年入宮做『大內總管』嗎?」。無意間聽到的這段對話,引出了我的一番思考,現在學單片機,尤其是8位的51單片機,真的是窮途末路了嗎?

低成本晶片的主戰場

當下的電子,嵌入式行業發展中,單片機的用量越來越大,應用領域越來越廣,小到20元左右的玩具,達到成百上千萬的醫療設備,無不在使用單片機。當然,廣闊的市場是一塊天生自帶誘人香味的披薩,越來越多的廠商追逐到這塊披薩的分配中去。與國外老牌的那幾家半導體公司(英飛凌,TI,NXP,Microchip,意法半導體)相比,國內廠商的成長更具有活力,目前世界上的半導體廠商中,有70%以上是根正苗紅的大陸企業。這些企業的產品為了加速研發周期,採用了兩種主流的方式:

購買現成的arm-cortex Mx核心,自己擴充外圍來設計單片機;使用專利到期的51單片機核心。與前幾年單片機廠商各自推出各自的核心不同,最近幾年的市場上的晶片內核架構正在逐漸收縮,主流的大廠除了保留自身研發的架構之外,其他採用的架構就只有兩種,即51和ARM-Cortex Mx。

ARM-Cortex Mx核心基本上是各大國際半導體巨頭的標配,TI,NXP,英飛凌,Microchip等公司多多少少都有幾款或者幾個系列的ARM Cortex M核心的晶片。而且現階段的RISC-V架構離商用普及還有一段路要走,無法做到和ARM的正面競爭,因此32位低中高端市場基本上全部被ARM佔據。

32位機以外的市場卻是另一番景象,早些年還有一些各大廠商自主研發的核心,如PIC,AVR,STM8等,但是現在再去看看,出一些日系韓系的單片機除外,大多小公司都有51內核的單片機。就連之前以穩定性著稱的AVR單片機,也隨著Atmel被收購的結局而收場,只用在一些arduino板卡上面。

51單片機的蛻變

此「51」並非彼「51」,總所周知,從1980年第一款INTEL MCS-8051單品就問世,到後來的AT89C51,AT89C52,「51」單片機除了內部的程序存儲器從EPROM發展成了FLASH之外,其餘的無論是時鐘系統,還是RAM容量,ROM容量,幾乎沒有任何改變。然而隨著STC(宏晶)推出了第一款帶串口ISP STC89C52之後,國產51單片機就走上了飛速發展之路,從最早的ISP,到後來的1T,到現在的多外設(如SPI,I2C,PWM等),性能越來越強大。

縱觀國產51單片機的發展,有3個最明顯的特點:

快速化,即克服了51單片機內核固有的12分頻缺點,提高了主頻,遠遠超出了之前的1M頻率。大容量化,即大大增加了容量,從最早的128位元組內存向外擴展,目前最大的數據存儲器有64K,而程序存儲器也擴展到了64K。集成化,即大大提高了51單片機的片上外設,早期的51單片機算得上外設的,可能只有兩個定時計數器,兩個串口,兩個中斷。而現在的增強型51單片機的外設真可謂琳琅滿目,如SPI,I2C,ADC等等,都已經作為了標配。

說了以上這麼多,增強型的51單片機目前在各行各業的優勢有以下幾點:

開發簡單,開發成本低;應付一些簡單需求足以;性能大大增加,價格大大降低;因此,目前為止,51單片機這一種8位機還是會且長期會在某些領域被廣泛應用,比如開關電源,充電器,電動玩具,個別消費類電子產品等。

如果現在有人問我,我要開始學習單片機,應該從那一塊入門,我依然會推薦他51單片機,並不是因為51單片機好上手(事實上Keil C51還不是標準的C語言,編程起來更加不順手),因為51單片機內部的結構非常簡單,非常適合你去學習某一塊晶片的內核。

相關焦點

  • 51單片機還有沒有必要學?
    二、51單片機入門學習首先根據個人基礎,如果是完全沒有基礎的,應該還是從51單片機入手,目前51單片機的應用還有很多,很多設備還能見到51晶片,尤其成本低的項目,出貨量特別大,51單片機入門簡單,上手快,項目開發進度快。低端產品大量使用,也是教學入門的晶片。
  • 51單片機過時了嗎?如何零基礎快速入門?
    近些年ARM的發展火熱,很多打算學習甚至已是51單片機學習和愛好者經常有這樣的疑問:ARM這麼熱,還有必要學51單片機嗎?相反,如果從相對簡單的51單片機學起(選擇51系列還是AVR、PIC等單片機不在本文討論,朋友們自行判斷選擇,本文僅以51單片機為例),通過學習51單片機首先建立起來數字思維邏輯(儘管學過數字電路,但個人體會初學51最大的阻力還是認知規律與以前學習習慣的不同),逐步深入掌握了51的內核結構,再進一步去學習ARM,你會發現自己的自學能力還是非常強的,參考一些手冊說明或者例程,就能較為容易的上手了。
  • 現在學單片機還有前途嗎
    人工智慧時代的來臨確實是個趨勢,這一點大家都知道,但是請問,Python和AI有半毛錢關係嗎?AI時代到來了,確實有很多收費的在線AI庫可以直接供Python使用,但是難道C#語言就用不了?Java就用不了?我們來看下某°翻譯的AI庫接入文檔。這個AI庫單單是DEMO就支持了主流語言,要說便捷性,JS,PHP難道不更加便捷嗎?
  • 基於51單片機的日曆時鐘
    本文通過對一個基於單片機的能實現萬年曆功能電子時鐘的設計,從而達到學習、了解單片機相關指令在各方面的應用。系統由主控制器AT89C52、時鐘電路DS1302、顯示電路、按鍵電路、和複合電路等部分構成,能實現時鐘日曆的顯示的功能,能進行時、分、秒的顯示。
  • 基於51單片機的TFT液晶顯示設計
    0 引言本文引用地址:http://www.eepw.com.cn/article/173037.htm  51單片機作為一種常見的通用單片機, 雖然其內部資源, 處理速度等都無法與新型高速單片機相提並論,
  • 51單片機之聲雙色點陣驅動
    以黑金動力太陽風MCU-51實驗板為例說明,連線如下圖:總結:本節紹了怎樣用51單片機製作電子音樂盒及雙色點陣的控制,下節《51單片機之聲——LCD12864漢字圖形顯示及電子日曆製作(2)》將帶您走進圖形化顯示世界及萬年曆的製作,為了幫助初學者儘快地學習與掌握51單片機的常用功能模塊,與之配套程序講解的視頻不久將會在網上發布,敬請期待。
  • 51單片機彙編語言帶借位減法指令(4條)
    單片機  彙編語言  帶借位減法指令 編輯:什麼魚 引用地址:http://news.eeworld.com.cn/mcu/article_2017101635144.html 推薦閱讀 51單片機學習實踐:用
  • 最簡單DIY基於藍牙、51單片機和舵機的鋼鐵愛國者機關槍控制器
    在上一期免費51單片機和舵機開源項目中:最簡單DIY基於51單片機的舵機控制器,我簡述了舵機的控制原理和分享一個舵機控制的程序當時的源碼還是借鑑了網上一些相關的資源。所以就直接免費了。圖片說明:第一張圖最左邊的是兩個sg90舵機組成的雲臺上面搭載了一個雷射模塊,雷射模塊可以通過IO口控制的,雷射模塊發出紅色的雷射照到紙上;左邊第二個是52單片機最小核心板,左邊第三個是HC05串口藍牙模塊,左邊第四個是舵機電源模塊(我是為了方便連接舵機使用的,因為舵機的三個口都是連起來的,詳細請看第二張圖,提供5V和GND,還有兩排聯通的S接口接舵機數據線的
  • 51單片機外部中斷的總結
    51單片機的外部中斷有兩種觸發方式可選:電平觸發和邊沿觸發。選擇電平觸發時,單片機在每個機器周期檢查中斷源口線,檢測到低電平,即置位中斷請求標誌,向CPU請求中斷。
  • 80C51單片機的基本結構
    1) 中央處理器(CPU)中央處理器是單片機的核心,完成運算和控制功能。MCS-51的CPU能處理8位二進位數或代碼。5) 並行I/O口MCS-51共有4個8位的I/O口(P0、P1、P2、P3),以實現數據的並行輸入/輸出。
  • 80C51單片機指令的取指、執行時序
    ALE接到外部鎖存器時,高電平期間,51的p0輸出地址,低電平時鎖存器將地址鎖存,在ALE低電平時,(PSEN為低)p0口可以傳輸數據(指令),這樣就可以地址/數據復用了。以PSEN信號作為擴展程序存儲器的讀選通信號,在讀外部ROM是PSEN是低電平有效,以實現對ROM 的讀操作。
  • 新概念51單片機C語言教程入門、提高、開發、拓展全攻略
    關注「麵包板社區」微信公眾號, 回復「51單片機」即可獲取!、視頻教程、660、開關電源、機電、電路、c語言、linux、FPGA、仿真、培訓資料、CAN、007、通信、功放、51、tvs、wifi、程序」獲取更多資料包  】 從實際應用入手,以實驗過程和實驗現象為主導,循序漸進地講述51單片機C語言編程方法以及51單片機的硬體結構和功能應用。
  • 基於51單片機的DS1307液晶顯示可調萬年曆項目設計
    我已經把這篇設計論文發到百度文庫裡了,不過在那裡下載需要5個財富值,所以為了回報朋友們,在日誌裡又重新整理的一便,這個程序涵蓋了51單片機幾乎所有的知識,學會這個項目可以說51單片機就拿下了。還有技術含量很高的I2C通訊技術,在這個程序裡都有涉及。
  • 事半而功倍輕鬆入門單片機
    首先小編認為學習單片機知識儲備固然重要,但是要等到所需要的理論知識全學完後再去動手操作單片機的話我相信能堅持到動手之人屈指可數,畢竟理論知識的學習小編認為是比較枯燥乏味的而且理論知識若沒有實際動手去操作也很難理解其真正的含義。
  • 新手教程|單片機的學習實踐步驟應該這樣_深圳升學教育
    運用單片機便是了解單片機硬體結構,以及內部資源的運用,在彙編或C語言中學會各種功用的初始化設置,以及完成各種功用的程序編制。I/O的運用運用按鈕輸入信號,發光二極體顯現輸出電平,就可以學習引腳的數字I/O功用,在按下某個按鈕後,某發光二極體發亮,這便是數字電路中組合邏輯的功用。
  • 現代社會還有必要學習繁體字嗎
    前言:很多人都認為:現代社會主體使用的都是簡體字、主流使用的也都是簡體字,認為沒必要再學習繁體字了。筆者認為:現代社會還是有必要學習繁體字的,繁體字是漢字的重要組成部分,中國人應該儘可能的學習繁體字。而連漢字文化圈的這些國家地區都沒有放棄使用繁體字、或者一刀切不使用繁體字,難道我們中國自己卻要摒棄繁體字了嗎?四. 實際上漢字使用是繁簡體並存當然了繁體字並不是滿身都是優點,而沒有一丁點缺點。事實上繁體字也是缺點不少,比如筆畫太多、字體太大、學習太難、書寫麻煩。
  • 高手講解PIC單片機:從管腳到指令,一看就懂
    現在剩下了 6 條腿第2、3條腿 使用時外接一個晶振的東西 我們接一個 4 MHz的。第4條腿是復位腳,是一個信號輸入腳。單片機正常運行時接高電平。當有一個低電平脈衝輸入到這個腳時單片機就復位。所謂復位就是單片機內部所有的工作部件統統回到規定的狀態,程序也復位到頭一句上開始逐條運行。
  • 電工必學:PLC與單片機的本質區別是什麼?
    PLC與單片機的本質區別是什麼? PLC與單片機的差別是: 1、PLC是應用單片機構成的比較成熟的控制系統,是已經調試成熟穩定的單片機應用系統的產品。有較強的通用性。
  • 單片機演奏音樂原理與模擬實驗
    利用單片機演奏音樂大概是單片機愛好者感興趣的問題之一。這裡我們用網站提供的實驗板來做這個實驗,並且了解單片機演奏音樂的基本原理,和相關的源程序。
  • 如何用單片機控制220V交流電的通斷
    2、對於感性負載 比如電動機,因為它的內部有線圈,100W的電動機在啟動的時候可能達到1000W,因此這類電器電路就要加多一個阻容吸收電路,必要時候同時加一個壓敏電阻 使用可控矽三極體MOS管的單片機控制220V交流電通斷電路圖解 使用單片機控制220V交流電的通斷,方法非常多。