P3口有兩個功能:
除了作為I/O使用外(其內(nèi)部有上拉電阻),還有一些特殊功能,由特殊寄存器來設(shè)置,具體功能請參考我們后面的引腳說明。
有內(nèi)部EPROM的單片機芯片(例如8751),為寫入程序需提供專門的編程脈沖和編程電源,這些信號也是由信號引腳的形式提供的,
即:編程脈沖:30腳(ALE/PROG)
編程電壓(25V):31腳(EA/Vpp)
接觸過工業(yè)設(shè)備的兄弟可能會看到有些印刷線路板上會有一個電池,這個電池是干什么用的呢?這就是單片機的備用電源,當(dāng)外接電源下降到下限值時,備用電源就會經(jīng)第二功能的方式由第9腳(即RST/VPD)引入,以保護內(nèi)部RAM中的信息不會丟失。
(注:這些引腳的功能應(yīng)用,除9腳的第二功能外,在“新動力2004版”學(xué)習(xí)套件中都有應(yīng)用到。)
在介紹這四個I/O口時提到了一個“上拉電阻”那么上拉電阻又是一個什么東東呢?他起什么作用呢?都說了是電阻那當(dāng)然就是一個電阻啦,當(dāng)作為輸入時,上拉電阻將其電位拉高,若輸入為低電平則可提供電流源;所以如果P0口如果作為輸入時,處在高阻抗?fàn)顟B(tài),只有外接一個上拉電阻才能有效。
ALE/PROG地址鎖存控制信號:在系統(tǒng)擴展時,ALE用于控制把P0口的輸出低8位地址送鎖存器鎖存起來,以實現(xiàn)低位地址和數(shù)據(jù)的隔離。(在后面關(guān)于擴展的課程中我們就會看到8051擴展EEPROM電路,在圖中ALE與74LS373鎖存器的G相連接,當(dāng)CPU對外部進(jìn)行存取時,用以鎖住地址的低位地址,即P0口輸出。ALE有可能是高電平也有可能是低電平,當(dāng)ALE是高電平時,允許地址鎖存信號,當(dāng)訪問外部存儲器時,ALE信號負(fù)跳變(即由正變負(fù))將P0口上低8位地址信號送入鎖存器。當(dāng)ALE是低電平時,P0口上的內(nèi)容和鎖存器輸出一致。關(guān)于鎖存器的內(nèi)容,我們稍后也會介紹。
在沒有訪問外部存儲器期間,ALE以1/6振蕩周期頻率輸出(即6分頻),當(dāng)訪問外部存儲器以1/12振蕩周期輸出(12分頻)。從這里我們可以看到,當(dāng)系統(tǒng)沒有進(jìn)行擴展時ALE會以1/6振蕩周期的固定頻率輸出,因此可以做為外部時鐘,或者外部定時脈沖使用。
PORG為編程脈沖的輸入端:在第五課 單片機的內(nèi)部結(jié)構(gòu)及其組成中,我們已知道,在8051單片機內(nèi)部有一個4KB或8KB的程序存儲器(ROM),ROM的作用就是用來存放用戶需要執(zhí)行的程序的,那么我們是怎樣把編寫好的程序存入進(jìn)這個ROM中的呢?實際上是通過編程脈沖輸入才能寫進(jìn)去的,這個脈沖的輸入端口就是PROG。
PSEN外部程序存儲器讀選通信號:在讀外部ROM時PSEN低電平有效,以實現(xiàn)外部ROM單元的讀操作。
1、內(nèi)部ROM讀取時,PSEN不動作;
2、外部ROM讀取時,在每個機器周期會動作兩次;
3、外部RAM讀取時,兩個PSEN脈沖被跳過不會輸出;
4、外接ROM時,與ROM的OE腳相接。
參見圖2—(8051擴展2KB EEPROM電路,在圖中PSEN與擴展ROM的OE腳相接)
EA/VPP訪問和序存儲器控制信號
1、接高電平時:
CPU讀取內(nèi)部程序存儲器(ROM)
擴展外部ROM:當(dāng)讀取內(nèi)部程序存儲器超過0FFFH(8051)1FFFH(8052)時自動讀取外部ROM。
2、接低電平時:CPU讀取外部程序存儲器(ROM)。 在前面的學(xué)習(xí)中我們已知道,8031單片機內(nèi)部是沒有ROM的,那么在應(yīng)用8031單片機時,這個腳是一直接低電平的。
3、8751燒寫內(nèi)部EPROM時,利用此腳輸入21V的燒寫電壓。
RST復(fù)位信號:當(dāng)輸入的信號連續(xù)2個機器周期以上高電平時即為有效,用以完成單片機的復(fù)位初始化操作,當(dāng)復(fù)位后程序計數(shù)器PC=0000H,即復(fù)位后將從程序存儲器的0000H單元讀取第一條指令碼。
XTAL1和XTAL2外接晶振引腳。當(dāng)使用芯片內(nèi)部時鐘時,此二引腳用于外接石英晶體和微調(diào)電容;當(dāng)使用外部時鐘時,用于接外部時鐘脈沖信號。
VCC:電源+5V輸入
VSS:GND接地。