第一章
單晶片微電腦簡介
1.1
微電腦硬體結構
微電腦硬體結構包含中央處理單元、記憶體單元、輸入單元與輸出單元等四個主要單元,其結構關係則如下圖所示。

其中,中央處理單元則是由運算單元與控制單元兩部分所組成的單元,即是一般所通稱的CPU(Center Processing Unit),此為微電腦最重要的部分。以下就微電腦中各單元的功能做簡單介紹:
1. 運算單元(Arithmetic Logic Unit,簡稱ALU)
運算單元又稱為算數邏輯單元,在中央處理單元中可用於執行算數運算,(如:加、減、乘、除等),以及邏輯運算(如:AND、OR、NOT等),能將記憶體單元或輸入單元送至中央處理單元的資料執行各種運算。當運算完成後再由控制單元將結果資料送至記憶體單元或輸出單元。
2. 控制單元(Control Unit,簡稱CU)
此單元在中央處理單元中,負責協調與指揮各單元間的資料傳送與運作,使得微電腦可依照指令的要求完成工作。在執行一個指令時,控制單元先予以解碼(Decode),瞭解指令的動作意義後再執行(Execute)該指令,因此控制單元將指令逐一執行,直到做完整個程式的所有指令為止。
3. 輸入單元(Input Unit,簡稱IU)
此單元是用以將外部的資訊傳送到CPU做運算處理或存入記憶體單元,一般在為電腦的輸入單元有鍵盤、磁碟機、光碟機、滑鼠、光筆、掃描器或讀卡機等週邊設備。
4. 輸出單元(Output Unit,簡稱OU)
此單元是用以將CPU處理過的資料輸出或儲存傳送外部週邊設備,一般在為電腦的輸出單元有顯示器、印表機、繪圖機、燒錄機或磁碟機等週邊設備。
5. 記憶體單元(Memory Unit,簡稱MU)
記憶體單元是用來儲存輸入單元傳送來的資料,或儲存經過中央處理單元處理完成的資料。記憶體單元之記憶體可分為主記憶體(Main Memory)與輔助記憶體(Auxiliary Memory)兩種,而主記憶體依存取方式不同,又可分為唯讀記憶體(Read Only Memory,簡稱ROM)與隨機存取記憶體(Random Access Memory,簡稱RAM)。ROM所儲存的資料,在微電腦中只能被讀出但不能被寫入,也不會因為關機斷電而使資料流失;至於RAM在微電腦中,則可被讀出或寫入資料,但在關機斷電後儲存於RAM中的資料將會流失。輔助記憶體則是指磁片、硬碟或磁帶等週邊硬體,一般亦為輸出入單元,主要用來彌補主記憶體的不足,其容量可無限制擴充。
1-2 8051單片的內部結構:
8051為Intel公司所推出的MCS-51系列產品之一,其內部結構如下:
8051單片具有以下之特性:
1. 專為控制使用所設計的8位元單晶片。
2. 具有位元邏輯運算能力。
3. 具有128位元的RAM,以及4K位元的ROM。
4. 具有4個8位元I/O埠。
5. 具有2個16位元的計時/計數器。
6. 具有全雙工的UART。
7. 具有5個中斷源及兩層中斷優先權結構。
8. 具有時脈產生電路。
具有外部電路擴充64位元程式記憶體的能力。
1-3 8051單晶片的接腳:
8051為40支接腳之單晶片,其接腳圖與功能說明如下:

1. Vcc:+5電源供應接腳。
2. GND:接地接腳。
3. P0.0~P0.7:埠0,為開洩極(Open Drain)雙向I/O埠。在做為外部擴充記憶體時,可低八位元位址線 (A0~A7 address line)與資料匯流排(data bus)雙重功能。在做為一般I/O埠時必須加上如下之外部提升電路。
4. P1.0~P1.7:埠1,為具有內部提升電路的雙向I/O埠。
5. P2.0~P2.7:埠2,為具有內部提升電路的雙向I/O埠。在做為外部擴充記憶體時,可為高八位元位址線(A8~A15 address line)。
6. P3.0~P3.7:埠3,為具有內部提升電路的雙向I/O埠。此外,埠3的每支接腳都具有另一特殊功能,其功能如下:
RXD(P3.0):串列傳輸的接收端。
TXD(P3.1):串列傳輸的輸出端。
(P3.2):外部中斷輸入端。
(P3.3):外部中斷輸入端。
T0(P3.4):計時/計數器外部輸入端。
T1(P3.5):計時/計數器外部輸入端。
(P3.6):外部資料記憶體寫入激發信號(Strobe)。
(P3.7):外部資料記憶體讀取激發信號(Strobe)。
7. RST:重置信號(Reset)輸入端。在單晶片工作時,將此腳保持在“Hi”兩個機械週期,CPU將重置。
8. ALE:位址鎖住致能(Address Latch Enable),在每個機械週期都會出現,可做為外部電路的時脈源。
9.
:程式激發致能(Program
Strobe Enable),可輸入外部程式記憶體的讀取信號。
10.
:外部存取致能(External
Access Enable),當EA接腳為“L0”時,則讀取外部程式記憶體執行。
11. XTAL1:反相振盪放大器的輸入端。
12. XTAL2:反相振盪放大器的輸出端。其基本電路連接如下: