找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4813|回复: 0
打印 上一主题 下一主题
收起左侧

P89C51详解

[复制链接]
跳转到指定楼层
楼主
ID:83710 发表于 2015-6-24 18:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

Philips 8位元P89C51單晶片基本電路與一般傳統的8051電路大致相同,電路包括:電源電路、時脈電路(Clock)、重置電路(Reset)。由於P89C51具有串列式線上下載程式功能(ISP),因此必須額外加入一組與PC電腦連接的串列通訊界面,才能執行程式下載功能。以下將電路分為基本電路,串列通訊電路,以及輸出入介面電路三部份做介紹。

P89C51基本電路

Philips公司出品的P89C51Rx2晶片有三種包裝型式,我們採用傳統40PIN DIP包裝IC,本電路使用的腳位如表4-1所示。基本電路結構如圖4-1,相關說明如下:

l 電源電路(電源/接地)︰在Vcc/Vss(40腳,20腳),分別連接5V直流電源與接地。一般為了讓單晶片系統電源品質,建議使用MC7805CT,額外加入穩壓電路,將提供穩定5V的電源,如圖4-2所示。(註圖左端的圓形接點是使用一般變壓器電源的圓形插孔)

l 系統時脈的振盪電路(Clock):在XTAL1/2 (18腳,19腳),時脈反相放大器輸出/入端,連接兩個20PF的電容與石英振盪器。P8C51RX2的最大頻率可用到33MHz,通常使用12MHz。由於考量使用串列通訊時,希望獲得更精確的傳輸率(baud rate) ,因此我們使用11.0592MHz的石英振盪器。(請參照本章4-7節的說明)

l  重置電路(RESET):在RESET (9腳),使用10KΩ電阻與10uF電容組成一RC電路,電容並接一按鍵開關,提供系統重置時,RESET接腳提昇到高電位的觸發信號,並保持一足夠的延遲時間。

串列通訊電路

在P89C51Rx2單晶片電路中加入串列通訊界面,透過RS-232連接到PC電腦,除了可提供單晶片線上下載程式功能(ISP)之外,還可以利用此資料傳輸通道,使用PC對單晶片系統做遠端控制的功能。相關界面電路製作的說明如下:

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 低電位狀態,可執行程式燒錄工作;當開關打開時,單晶片進入程式執行狀態。

輸出入界面電路

使用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>


高電位動作, 系統重置, PC回到0000H(PB1)


EA/Vpp/Psen <31>


若系統讀取外部程式,接低電位(接+5v)


PSEN <29>


程式儲存致能ISP功能開啟需接地才能執行 (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的穩壓電路


【範例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基本電路的零件清單



零件名稱


規格


數量


備註


P89C51單晶片


P89C51RD2


1


CPU


石英振盪器


11.059MHz


1


時脈電路


鎝質電容


20P


2


時脈電路


電解質電容


25v/10uf


1


重置電路


重置開關


可復歸式開關


1


重置電路


ICL232


EIA界面/準位轉換


1


串列通訊電路


MC7805






穩壓電路


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:執行ch4_1專案的編譯與連結。產生ch4_1.hex。

步驟4:將P89C51電路測試的串列通訊埠,經由RS-232傳輸線連接到PC電腦上。開啟測試電路電源,切換到程式下載狀態。

步驟5:開啟Flash Magic程式,設定晶片種類,選擇ch4_1.hex檔案,將測試程式下載到測試電路的P89C51晶片上。(Flash Magic程式的操作方式,請參照第2章2-6節的說明)

步驟6:將測試電路切換到執行狀態。觀察P0埠的8個LED燈號。顯示是否如下圖4-4。如果無法確顯示,重新檢查電路與程式下載動作是否,直到正確顯示為止。

圖4-4: P0埠的8個LED輸出測試結果


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表