Categories: 8051

單晶片,很高興見到你。

單晶片(Single Chip),又稱微控制器(Microcontroller,µC)是我一直在探索與研究的領域之一。我記得與他的初次見面是在國二的樣子,至於發現過程是如何…這我還得要想想,似乎是因為書本上提到這玩意的關係而使我去找尋與研究。

總之,這東西現在是我專研的領域之一,同時也是我學習組合語言的開始。

最初的我接觸到的單晶片是由Atmel所出產的 89C51 這顆IC,當時單價約50元,算是我那時接觸電子領域買過最昂貴的材料,而他的燒錄器也他X的貴(只能燒C51/52的要800),真是…坑人嘛!

不過C系列的時代流行過好長一段時間後,就進入了S系列,也就是現在常見的 89S51/S52 ,而其燒錄方式改為成本較低廉ISP燒錄方式,只需要幾條線與一個軟體便可達成,同時,也因為燒路線少,所需零件相對的也少,DIY上也方便,很適合初入門的人學習用。

記得當時一直看到8051這四個數字,查詢後發現,原來8051是Intel於1981年生產販售的產品,其內含有:

  • 8 位元 CPU
  • 4KB 內部程式記憶體,最大可擴充至 64KB。
  • 128Bytes 內部資料記憶體,最大可擴充至 64KB。
  • 具有邏輯代數運算功能(位元邏輯)。
  • 4 組可位元定址的 I/O 埠〈P0、P1、P2、P3〉。
  • 2 組16位元計時/計數器〈T0、T1〉。
  • 5 個中斷源〈INT0、INT1、T0、T1、RXD、TXD〉。
  • 1 組全雙工串列埠〈UART〉。

 

與89C51、89S51的規格幾乎是一模一樣,只是燒錄方式與特性不同。不過Atmel生產的這些IC是從8051的圓形下去進行開發與改良,所以大家喜歡稱這些IC為8051,因為相容嘛!

接下來,先帶大家看看這顆擁有40隻腳的黑色蜈蚣IC的接腳功能。

  • VCC:接正電源5V。8051的能量來源
  • GND:接地。他的排泄口(誤)
  • PORT0:可做一般I/O使用,當作輸入或輸出時應在外部接提升電阻,外部記憶體擴充時,當作資料匯流排(D0~7)及位址匯流排(A0~7)。
  • PORT1:一般I/O使用,內部設有提升電阻。
  • PORT2:一般I/O使用,內部也有提升電阻,外部記憶體擴充時,當作位址匯流排(A8~15)使用。
  • RST:晶片重置信號輸入腳,只要輸入一高電位脈衝,大於2個機械週期,就可以完成重置動作。戳一下遊戲
  • ALE/PROG:接外部記憶體時,位址栓鎖致能輸出脈衝,利用此信號將位址栓鎖住,以便取得資料碼未接外部記憶體時,有1/6石英晶體的振盪頻率,可做為外部時脈在燒錄PROM時,此接腳也是燒錄脈波之輸入端。
  • PSEN:當作程式儲存致能外部程式記憶體之讀取脈波,在每個機械週期會動2次,外接ROM 時, 與ROM 的/OE 腳連接。
  • EA/VPP:接高電位時,讀取內部程式記憶體;接低電位時,讀取外部程式記憶體。欲燒錄內部EPROM 時,利用此腳接收21伏特之燒錄供應電壓。
  • XTAL1, XTAL2:接石英晶體振盪器,工作機械週期=石英晶體/12。他的手錶

看完以上超級多的文字後,我相信各位一定對這東西還是一知半解,這不用否認,因為我當初看完這些東西只是一臉疑惑…不過當時的我並沒有相當完整的電腦知識,所以RAM、ROM、KB、位元…這些東西我完全,不懂。哈哈哈哈哈!

稍稍解釋一下這幾個名詞好了。

RAM 即 Random-access memory 的縮寫,中文解釋是「隨機存取記憶體」,用來儲存資料用,這些資料是CPU在運行所需的東西,大部分是程式碼片段的機械語言以及運算過程中的暫存資料。

ROM 則是唯讀記憶體 (Read-only Memory),是存放程式碼的地方,也就是說,你寫的程式轉成機械碼之後所存放的地方,目前以EEPROM、Flash ROM為主流。

那麼,

單晶片能幹嘛? 能吃嗎?

單晶片是科技半導體的產物,簡單說就是一種奇怪的石頭(晶體),所以是不能吃的。

只是,當你會運用這種長相怪異、路邊撿不到的石頭的時候,他就有機會為你製造鈔票來讓你買東西吃。至於買來的東西好不好吃…我只能說,看個人喜好囉~

其實,單晶片應用的範圍很廣,在你生活周遭就有單晶片的存在。離你最近的就是你現在正在用的這台電腦,它的內部就有數顆類似的晶片正在運作著,然後你手上握著的滑鼠,內部也有一顆單片,然後你正在敲打的鍵盤底下也有一顆,證據還不夠嗎? 那麼你身上的MP3 Player、房間的CD音響組、DVD撥放器、電視機…你生活周遭幾乎都有單晶片的影子存在,你說,這東西不能吃嗎? 只是吃法不同罷了。

之後因為技術的成熟與提升,單晶片不再是簡單的8位元的慢速晶片了,目前已有更快的16位元以及32位元的晶片問世,且其內的功能更加的強大!其中32位元的單晶片通常是用來做嵌入式系統,舉個最簡單也最常見的例子,就是你經常用的,手機。

如何? 是不是很驚人呢? 這樣的小東西居然創造了如此多的產品,不過最終的功臣並不是他,而是具有更高度智慧的人類,不然就算有這樣的東西,沒人去思考如何應用,它終究只是一塊石頭…

本文參考資料: http://zh.wikipedia.org/wiki/8051

真的很高興遇見你,89C51。

duye.chen

View Comments

  • 版主:
    您好,
    感謝版主提供許多豐富實用資源,
    想請問版主對於51外部EPROM W27C512燒錄,
    可否請教?
    謝謝。

    • EPROM的部分我就得要跟您說聲抱歉了,因為我目前還沒有去學習這部分的應用...QQ

Recent Posts

[教學] 打造你的 NFT 智能合約 – ERC721A

GM!前些日子在幣圈亂玩,一路...

2 年 ago

JavaScript – Singleton 設計模式

前言 在設計程式時,我們有時會...

3 年 ago

PlaidML 讓你的 Mac 也能加速 Tensorflow 機器學習!

相信很多使用 Mac 或者手上...

4 年 ago

RESTful API 測試很煩,只好動手寫屬於自己的測試了

寫在最前面 嗨,大家好久不見!...

4 年 ago

Node.js 與 Socket.io – 即時聊天室實作:資料庫

經過前兩篇(一、二)文章,我們...

6 年 ago