為什麼我們學的都是51單片機?

2021-02-14 21ic電子網

今天告訴你們一個秘密,為什麼我們學的是51單片機,為什麼在中國無論是工程師還是大學教師還是大學生都喜歡用51單片機,原因有以下幾點:

1.由於51內核(指具有8051cpu的單片機)具有大量的資料,有很多的種類,所以受到了人們的喜愛,是初學者能夠收到事半功倍的學習效果。真的是這個樣子嗎?或許在20年前是這個樣子是這個原因,因為那事沒有別的東西可以學。

2.但似乎不是這樣子的原因,因為雖然51單片機有很多的種類,新的產品也集成了很多更有用,更簡潔的功能,但是人們還是最最鍾情於功能最少操作比較複雜的51單片機—AT89S51單片機(ATMEL的早期產品)。

3.下面我們分析一下51單片機應用廣泛的真正原因:

在分析原因之前先討論一下幾個問題

(1)51單片機是神馬時間進入市場的?答:51單片機是上個世紀70年代發展80年代被廣泛應用的單片機。

(2)同時期還有其他的競爭產品嗎?答:有還有Zliog公司的z80單片機,但是不久就因為公司的策略原因退出了市場(網上說的)。

(3)下面說只要問題,現在工作在公司前線和學校的教育與前線的工作者現在多大年紀?答:40歲左右。

(4)現在40多歲的工作者在20年前在做什麼?答:在上大學而且大學裡開設的可就是51單片機。

(5)畢業之後他們去幹了些啥?答:一部分去公司工作了,就是現在的一線工程師,另一部分留校任教了,就是現在工作在教育一線的我們敬愛的老師。

(6)現在他們還還在用什麼?答:大部分還是在用51單片機,在公司工作的工程師們還在用51極力的做著自己的項目,只有在競爭十分激烈的公司遇到51完不成的項目時才會想著去找一個功能更強大的單片機,所以工程師中有一部分會使用其他的單片機。而老師就不一樣了做的工程不是很多也不是很大競爭也不是很激烈所以他們會的51單片機就足可以應付,所以他們的知識體系沒有更新,直到今天他們在教我們,以至於我們學的是他們在20年前學的東西。這才是為什麼我們什麼還在學習51單片機的真正原因。

再說說51單片機真的很簡單那很容易入門嗎,真的可以事半功倍嗎,我個人認為不是這樣,因為現在的好多單片機都比51單片機入門,例如:AVR單片機操作更簡單,片上外設更豐富,PIC單片機有更精簡的指令集有33、35、58條指令(視單片機的級別而定),屬精簡指令集。而51系列有111條指令,AVR單片機有118條指令。

這個現狀正在慢慢的改變,因為40歲的工作者正在慢慢老去,20歲的我們才是未來的主宰,20歲的我們也學會了更多的單片機,51內核的:STC全系列 C8051F全系列 肥1內核單片機:AVR PIC MSP430 還有更高級的ARM內核的單片機等等。

喜歡電子喜歡單片機的童鞋們,希望你們能學到更多使用的知識。

以上只代表個人看法。

與MCS51核同期比較有名的MCU還有Motorola的6805核、Zilog的Z8核、NSC的Cop8核、還有比MCS51早出生的MCS48核,還有很多不大有名氣的MCU核,過了三十年,還在大規模生產使用的八位核除了6805的姊妹HC08,就是一堆後起之秀了。之所以如此,主要是Intel當時開放了51核的授權,至今眾多的授權非授權供應商開發了過萬種51核或兼容51核的MCU,而且51核相當穩定,指令集比較合理。這些才是一般熟練R&D選擇它的原因。現在ARM的授權生產供應商也很多,當ARM真的有了較長時間存在的穩定內核時將肯定會改變這個局面。

早期51核中的8031片內沒有一般MCU必不可少的PROM,需要用戶自己外擴,但其片內集成的 Timer、I/O口、RAM、Uart 相當有用,外擴一片地址鎖存晶片,一片PROM,一個時鐘源,加上直流電源就可以適應不少控制工作,還有不少其他優點,價格也便宜,所以當時國內很快就普及了。

另外需要提出的是直到90's國內大部分學校還在教導Z80或8086,教51的相當少見。

到上世紀90年代,國內 中小市場 容易找到的 是MCS-51系列的資源(包括:晶片、開發工具、參考書、參考設計)。如Z80、6805,還有日系的NEC等,有總銷商,但其只對大型工廠, 對於 少量樣片根本不理睬(這估計與晶片製造商的戰略有關)。

但到 90年代後半期,市場就開始 多樣化了, 開始出現了 PIC、AVR。到本世紀初,則 圍繞ARM進行。

無論如何, 每一個存在,都有它的理由。4位MCU 也始終不死, 8位也暫時死不了(至少,40歲的人 還看不到它死的可能)。

MCS51是大多數人 或多或少經歷過的知識,但不代表 40歲左右的人 都只使用MCS-51,所見 範圍內 使用 AVR、PIC、ARM 年長者(50歲左右)也不少。

在校時,曾 接受過:

1)MCS-51 課程(實驗時,是用 彙編,轉換成機器碼 要查表 人工轉換,然後手工鍵入 十六進位值,按運行 看結果)

2)計算機系統結構 課程(實驗為 8086 彙編,寫了 計算機編譯, 所有均在DOS環境 進行)

教學生是教他們學習方法。

51內核從基本的內部定時器、中斷、串口到外擴ad、da、ram、rom,整個是微縮版的8086總線結構,

基本上51會了,avr、arm、pic也就不在話下了。但是會了pic、avr,不一定會其他的。

如果只教學生單晶片的pic、c8051f,可能一般學生不知道外擴ram該怎樣接。

相關焦點

  • 51單片機程序執行流程詳細分析
    若不是硬體特性已定的情況之下的其它流程都是代碼作祟。忽然想到來探探51單片機的執行流程。這個念頭起源於最初見到每個51程序裡面的主函數裡面最終都掛一個while(1);語句。為何要加一句while死循環讓程序停留在main函數中呢。將while(1);語句去掉有什麼影響麼?執行以上程序,由P1埠控制的流水燈閃了一下。
  • 微控制器晶片與51系列單片機
    單片機使用最廣的是51系列單片機。本文比較系統地介紹微控制器晶片和51系列單片機,包括嵌入式系統的種類、微控制器與單片機的發展,以及51系列單片機的基本知識。Intel 51系列是基本型,包括8031、8051、8751、8951這四個機種。它們都使用8031指令系統,其區別僅在於片內儲存器容量。8051的ROM(只讀存儲器)容量為4KB。
  • 論壇推薦:是時候向51單片機說再見?
    這時,如果再說51單片機是學習嵌入式的基礎肯定是不合時宜了。  誤區2:51單片機可以學習寄存器的操作  51單片機可以學習寄存器的操作,這一點兒是不容置疑的。我們分析一下其更深層的原因。在MSC-51單片機的編程環境中,最初是以彙編語言為主要程式語言。要知道彙編語言就是直接操作寄存器的,彙編語言是無法做到C語言的函數調用與封裝的。
  • 51單片機常用波特率初值表(12M晶振)
    資源下載:關注我們「單片機」,回復「教程」獲取單片機電子書,回復「仿真」獲取Proteus仿真資料。
  • 51單片機產生PWM方法
    限時乾貨下載:關注我們「單片機」,回復「教程」獲取單片機電子書,回復「仿真」
  • 51單片機開機復位、按鍵復位原理講解
    Reset的電壓從5V開始降低,由於單片機識別1.5V以上為高電平,所以在電解電容充電過程中,Reset由5V降到1.5V期間為高電平,1.5V降到0V為低電平,電解電容充滿點後,Reset維持在低電平,系統開機復位完成,進入運行階段。
  • 圖形化編程玩51單片機(十七)-數字鐘
    我們學習單片機的同學們,大家都想用自己學到的單片機知識來做一個有實用價值的電子產品。那麼數字鐘就是最好的首選。1,邏輯思維相對簡單,容易理解,比如:我們都知道60秒=1分鐘;60分鐘=1小時;24小時=1天,;所以,到了24小時清零,再循環就可以了。2,儘管邏輯相對簡單,但要運用我們單片機的多個器件的配合使用。
  • 單片機初學者必看
    網上資料、廠家宣傳、培訓機構廣告也對初學者產生誤導,使之誤認為ARM很容易學。但是沒有51單片機知識作為基礎,其他一切都是空中樓閣。必不能達到預期效果。51單片機作為入門級產品,現在更多的體現在教學意義上了。雖然大部分的產品,已經淘汰51,使用高級晶片或者增強型51晶片,但是奉勸初學者,還是要從底層、基礎、即51開始單片機的學習。
  • MCS_51單片機與8255A的接口設計
    三個埠都可以和外設相連,分別傳送外設的輸入/輸出數據或控制信息。(2) A、B組控制電路。這是兩組根據CPU的命令字控制8255工作方式的電路。A組控制A口及C口的高4位,B組控制B口及C口的低4位。(3) 數據緩衝器。這是一個雙向三態8位的驅動口,用於和單片機的數據總線相連,傳送數據或控制信息。(4) 讀/寫控制邏輯。
  • 基於51單片機的TFT液晶顯示設計
    0 引言本文引用地址:http://www.eepw.com.cn/article/173037.htm  51單片機作為一種常見的通用單片機, 雖然其內部資源, 處理速度等都無法與新型高速單片機相提並論,
  • 51單片機原理及C語言實例詳解|文末贈書
    本書較為詳細地介紹了單片機的開發方法和步驟,講解了開發工具的使用及基於單片機開發的C語言基礎知識,解讀了51單片機軟硬體資源的應用,歸納總結了單片機資源的通用方法。通過本書的學習,讀者可以快速掌握單片機資源綜合運用的能力。作者具有良好的專業背景和資深的開發經驗。本書既可作為專業教材,也可作為一線開發工程師的參考資料。
  • 51單片機指令周期,機器周期,時鐘周期詳解
    51單片機有指令周期,機器周期,時鐘周期的說法,看似相近,但是又都不太一樣,很容易混淆,還是詳細分析一下。
  • 7種常見的51單片機時鐘電路圖
    01在MCS-51單片機片內有一個高增益的反相放大器
  • 跟我學51單片機
    靜態驅動即指每個數碼管的數據線都有一個單獨的數據鎖存器,數據鎖存器輸入的數據由使能端控制,當使能端為高電平時,數據線上的數據(要顯示的七段碼)進入顯示器,使能端與地址解碼器的輸出相連,要顯示那位,則選通那位的地址,在軟體設計上不要求程序循環,也不存在顯示數字發生閃爍。但是這樣會佔用很多口線。動態顯示是將所有位數碼管的段選線並聯在一起,由位選線控制是哪一位數碼管有效。
  • 51單片機點亮一個燈和驅動蜂鳴器【程序+圖文】
    當我們編程的時候,根據原理圖找準了管腳連接,再配合以數據手冊上的寄存器等信息,就可以通過查詢或者中斷的方式來控制單片機管腳的電平變化來實現我們要實現的功能了。       說完原理圖還要說一下頭文件,在學C++的時候,編程第一句一般都是#include<iostream.h>一類的語句,單片機編程也是一樣的。
  • 51單片機領域的一個奇蹟,半導體界我只服你!
    可能現在很多人已經不玩51了,改行玩DSP,玩ARM,玩FPGA了,但毫無疑問8051才是我們的初戀。今天我們聊聊8051的發展史,還有順便說一下國內一個做51晶片的「奇葩」公司——宏晶科技(STC)。
  • 51單片機中中斷程序大全(源程序)
    實用乾貨下載:關注我們「單片機系列」,回復「資料
  • MCS-51單片機的引腳描述及片外總線結構
    一、晶片的引腳描述HMOS製造工藝的MCS-51單片機都採用40引腳的直插封裝(DIP方式),製造工藝為
  • MCS-51單片機I/O埠的結構、工作原理及使用
    ,指令數達111條,MCS-51單片機可以算是相當成功的產品,一直到現在。MCS-51系列單片機主要包括8031、8051和8751等通用產品。51系列單片機有4個I/O埠,每個埠都是8位準雙向口,共佔32根引腳。每個埠都包括一個鎖存器(即專用寄存器P0~P3)、一個輸出驅動器和輸入緩衝器。通常把4個埠統稱為P0~P3。在無片外擴展存儲器的系統中,這4個埠的每一位都可以作為準雙向通用I/0埠使用。
  • 單片機小白系列(十) 單片機程序下載相關知識
    前面已經說了,單片機相當於一個微型電腦,所以單片機是可以執行程序的。在電腦上,我們可以上網下載各種遊戲各種軟體,但是單片機這灰不溜秋的一塊晶片,怎麼讓它執行程序呢?不要急,這就給大家介紹相關知識。這裡涉及到一些專業詞彙,可能大家不明白,但是並沒有很大影響,大致了解就好了,有興趣的可以上網搜索去了解下。另外等學到後面,不少概念也自然就明白了。