Philips 8位元P89C51單晶片基本電路與一般傳統(tǒng)的8051電路大致相同,電路包括:電源電路、時脈電路(Clock)、重置電路(Reset)。由於P89C51具有串列式線上下載程式功能(ISP),因此必須額外加入一組與PC電腦連接的串列通訊界面,才能執(zhí)行程式下載功能。以下將電路分為基本電路,串列通訊電路,以及輸出入介面電路三部份做介紹。
P89C51基本電路
Philips公司出品的P89C51Rx2晶片有三種包裝型式,我們採用傳統(tǒng)40PIN DIP包裝IC,本電路使用的腳位如表4-1所示;倦娐方Y構如圖4-1,相關說明如下:
l 電源電路(電源/接地)︰在Vcc/Vss(40腳,20腳),分別連接5V直流電源與接地。一般為了讓單晶片系統(tǒng)電源品質,建議使用MC7805CT,額外加入穩(wěn)壓電路,將提供穩(wěn)定5V的電源,如圖4-2所示。(註圖左端的圓形接點是使用一般變壓器電源的圓形插孔)
l 系統(tǒng)時脈的振盪電路(Clock):在XTAL1/2 (18腳,19腳),時脈反相放大器輸出/入端,連接兩個20PF的電容與石英振盪器。P8C51RX2的最大頻率可用到33MHz,通常使用12MHz。由於考量使用串列通訊時,希望獲得更精確的傳輸率(baud rate) ,因此我們使用11.0592MHz的石英振盪器。(請參照本章4-7節(jié)的說明)
l 重置電路(RESET):在RESET (9腳),使用10KΩ電阻與10uF電容組成一RC電路,電容並接一按鍵開關,提供系統(tǒng)重置時,RESET接腳提昇到高電位的觸發(fā)信號,並保持一足夠的延遲時間。
串列通訊電路
在P89C51Rx2單晶片電路中加入串列通訊界面,透過RS-232連接到PC電腦,除了可提供單晶片線上下載程式功能(ISP)之外,還可以利用此資料傳輸通道,使用PC對單晶片系統(tǒng)做遠端控制的功能。相關界面電路製作的說明如下:
l 串列傳輸界面(UART):在RXD/TXD(10腳,11腳),使用ICL232的EIA界面(或MAX232),做為串列傳輸界面。這是因為遠距離串列傳輸容易受到雜訊干擾,加入ICL232的目的是將準位0V轉換為-8V~-15V,將準位5V轉換為8V~15V。
l 使用9PIN的RS-232標準接頭,將其中三支重要的接腳Pin2,Pin3,Pin5(接收、傳送與接地),連接ICL232的T2(Out)、R2(In)接腳,方便P89C51與PC的RS-232串列埠連接。
l 串列傳輸指示燈:在RXD/TXD(10腳,11腳),另外跨接一組LED指示燈。當程式下載或串列通訊傳輸時,可由指示燈顯示。
l 程式線上下載切換開關:在 (29腳)加入ISP_SW切換開關。當開關閉合時,
l 低電位狀態(tài),可執(zhí)行程式燒錄工作;當開關打開時,單晶片進入程式執(zhí)行狀態(tài)。
輸出入界面電路
使用8PIN的腳座將P89C51的輸出入埠P0埠(32~39腳)、P1埠(1~8腳)、P2埠(21~28腳),可依照使用者的需求,搭配不同的輸出入界面電路,彈性運用這些輸出入埠。例如,LED、SW、LCD、鍵盤、ADC轉換、感測電路、馬達驅動電路…等。此外,P3埠(10~17腳)除了RXD/TXD做串列傳輸之外,還有INT0/INT1、T0/T1,亦可做拉出腳座,提供外部中斷與計數使用。本章稍後會介紹幾種常用的輸出入介面的應用實例。
表4-1:P89C51基本電路的相關腳位
接腳 | 說明 |
Vcc /Vss <40,20> | 電源(5V)/ 接地 |
XTAL1/2 <18,19> | 時脈反相放大器輸出/入端, 接石英振盪器(11.0592MHz) |
RESET <9> | 高電位動作, 系統(tǒng)重置, PC回到0000H(PB1) |
EA/Vpp/Psen <31> | 若系統(tǒng)讀取外部程式,接低電位(接+5v) |
PSEN <29> | 程式儲存致能ISP功能開啟需接地才能執(zhí)行 (ISP_SW) |
P0.0~P0.7 <32-39> | 8位元I/O埠,外接記憶體做資料位址線 |
P1.0~P1.7 <1-8> | 8位元I/O埠 |
P2.0~P2.7 <21-28> | 8位元I/O埠,外接記憶體可做位址線 |
RXD/TXD <10,11> | 串列通訊輸出/入(P3.0, P3.1) |
INT0/1 <12,13> | 外部中斷輸入 (P3.2, P3.3) |
T0/T1 <14,15> | 計時計數器的輸入(P3.4, P3.5) |
WR/RD <16,17> | 外部資料的讀取/寫入(P3.7, P3.8) |
圖4-1:P89C51基本電路
圖4-2:P89C51的穩(wěn)壓電路
【範例4-1】 P89C51基本電路測試:
測試P89C51電路是否正常,可以將P0埠連結一組LED BAR,並使用Keil uVision2 撰寫一個簡單的P0埠輸出程式,經組譯連結後的HEX檔,再使用Flash Magic將它下載測試電路上的P89C51,並觀察LED BAR是否正常顯示,以確認電路是否正確。操作步驟如下:
步驟1:依照圖4-3,製作單晶片89C51測試電路。P0埠加入測試電路。所需零件清單如表4-2。
圖4-3: 8個LED輸出做基本電路測試
表4-2: C51 P89C51基本電路的零件清單
零件名稱 | 規(guī)格 | 數量 | 備註 |
P89C51單晶片 | P89C51RD2 | 1 | CPU |
石英振盪器 | 11.059MHz | 1 | 時脈電路 |
鎝質電容 | 20P | 2 | 時脈電路 |
電解質電容 | 25v/10uf | 1 | 重置電路 |
重置開關 | 可復歸式開關 | 1 | 重置電路 |
ICL232 | EIA界面/準位轉換 | 1 | 串列通訊電路 |
MC7805 | 穩(wěn)壓電路 | ||
LED | 8 | 輸出測試用 | |
電阻(排阻) | 330 | 輸出測試用 |
步驟2:開啟Keil μVision2,建立一新專案ch4_1。加入ch4_1.c檔案,輸入下列程式:
//範例4-1:P89C51基本電路測試
//檔名:ch4_1.C
#include
void main()
{
P0=0x52; // P0埠=01010010B
}
步驟3:執(zhí)行ch4_1專案的編譯與連結。產生ch4_1.hex。
步驟4:將P89C51電路測試的串列通訊埠,經由RS-232傳輸線連接到PC電腦上。開啟測試電路電源,切換到程式下載狀態(tài)。
步驟5:開啟Flash Magic程式,設定晶片種類,選擇ch4_1.hex檔案,將測試程式下載到測試電路的P89C51晶片上。(Flash Magic程式的操作方式,請參照第2章2-6節(jié)的說明)
步驟6:將測試電路切換到執(zhí)行狀態(tài)。觀察P0埠的8個LED燈號。顯示是否如下圖4-4。如果無法確顯示,重新檢查電路與程式下載動作是否,直到正確顯示為止。
圖4-4: P0埠的8個LED輸出測試結果
歡迎光臨 (http://www.torrancerestoration.com/bbs/) | Powered by Discuz! X3.1 |