引腳功能:
MCS-51是標準的40引腳雙列直插式集成電路芯片,引腳分布請參照單片機引腳圖: l P0.0~P0.7 P0口8位雙向口線(在引腳的39~32號端子)。 l P1.0~P1.7 P1口8位雙向口線(在引腳的1~8號端子)。 l P2.0~P2.7 P2口8位雙向口線(在引腳的21~28號端子)。 l P3.0~P3.7 P2口8位雙向口線(在引腳的10~17號端子)。
這4個I/O口具有不完全相同的功能,大家可得學好了,其它書本里雖然有,但寫的太深,初學者很難理解,這里都是按我自已的表達方式來寫的,相信你也能夠理解。
P0口有三個功能: 1、外部擴展存儲器時,當做數據總線(如圖1中的D0~D7為數據總線接口) 2、外部擴展存儲器時,當作地址總線(如圖1中的A0~A7為地址總線接口) 3、不擴展時,可做一般的I/O使用,但內部無上拉電阻,作為輸入或輸出時應在外部接上拉電阻。
P1口只做I/O口使用:其內部有上拉電阻。
P2口有兩個功能: 1、擴展外部存儲器時,當作地址總線使用 2、做一般I/O口使用,其內部有上拉電阻;
P3口有兩個功能: 除了作為I/O使用外(其內部有上拉電阻),還有一些特殊功能,由特殊寄存器來設置,具體功能請參考我們后面的引腳說明。
有內部EPROM的單片機芯片(例如8751),為寫入程序需提供專門的編程脈沖和編程電源,這些信號也是由信號引腳的形式提供的,即:編程脈沖:30腳(ALE/PROG)
編程電壓(25V):31腳(EA/Vpp) 接觸過工業設備的兄弟可能會看到有些印刷線路板上會有一個電池,這個電池是干什么用的呢?這就是單片機的備用電源,當外接電源下降到下限值時,備用電源就會經第二功能的方式由第9腳(即RST/VPD)引入,以保護內部RAM中的信息不會丟失。
在介紹這四個I/O口時提到了一個“上拉電阻”那么上拉電阻又是一個什么東東呢?他起什么作用呢?都說了是電阻那當然就是一個電阻啦,當作為輸入時,上拉電阻將其電位拉高,若輸入為低電平則可提供電流源;所以如果P0口如果作為輸入時,處在高阻抗狀態,只有外接一個上拉電阻才能有效。
ALE/PROG 地址鎖存控制信號:在系統擴展時,ALE用于控制把P0口的輸出低8位地址送鎖存器鎖存起來,以實現低位地址和數據的隔離。
ALE有可能是高電平也有可能是低電平,當ALE是高電平時,允許地址鎖存信號,當訪問外部存儲器時,ALE信號負跳變(即由正變負)將P0口上低8位地址信號送入鎖存器。當ALE是低電平時,P0口上的內容和鎖存器輸出一致。
在沒有訪問外部存儲器期間,ALE以1/6振蕩周期頻率輸出(即6分頻),當訪問外部存儲器以1/12振蕩周期輸出(12分頻)。從這里我們可以看到,當系統沒有進行擴展時ALE會以1/6振蕩周期的固定頻率輸出,因此可以做為外部時鐘,或者外部定時脈沖使用。
PORG為編程脈沖的輸入端:在8051單片機內部有一個4KB或8KB的程序存儲器(ROM),ROM的作用就是用來存放用戶需要執行的程序的,那么我們是怎樣把編寫好的程序存入進這個ROM中的呢?實際上是通過編程脈沖輸入才能寫進去的,這個脈沖的輸入端口就是PROG。
PSEN 外部程序存儲器讀選通信號:在讀外部ROM時PSEN低電平有效,以實現外部ROM單元的讀操作。 1、內部ROM讀取時,PSEN不動作; 2、外部ROM讀取時,在每個機器周期會動作兩次; 3、外部RAM讀取時,兩個PSEN脈沖被跳過不會輸出; 4、外接ROM時,與ROM的OE腳相接。
EA/VPP 訪問和序存儲器控制信號 1、接高電平時: CPU讀取內部程序存儲器(ROM) 擴展外部ROM:當讀取內部程序存儲器超過0FFFH(8051)1FFFH(8052)時自動讀取外部ROM。 2、接低電平時:CPU讀取外部程序存儲器(ROM)。8031單片機內部是沒有ROM的,那么在應用8031單片機時,這個腳是一直接低電平的。 3、8751燒寫內部EPROM時,利用此腳輸入21V的燒寫電壓。
RST 復位信號:當輸入的信號連續2個機器周期以上高電平時即為有效,用以完成單片機的復位初始化操作,當復位后程序計數器PC=0000H,即復位后將從程序存儲器的0000H單元讀取第一條指令碼。
TAL1和XTAL2 外接晶振引腳。當使用芯片內部時鐘時,此二引腳用于外接石英晶體和微調電容;當使用外部時鐘時,用于接外部時鐘脈沖信號。
VCC:電源+5V輸入
VSS:GND接地。 |