(1) 單片機(AT89S51)外觀
本文引用地址:
http://www.eepw.com.cn/article/201611/319713.htm(2) 單片機(AT89S51)的引腳功能圖
(3) 51系列單片機8031、8051及89c51/89s51均採用40Pin封裝的雙列直接DIP結構。上圖是它們的引腳配置:40個引腳中,正電源和地線兩根,外置石英振蕩器的時鐘線兩根,4組8位共32個I/O口,中斷口線與P3口線復用。現在我們對這些引腳的功能加以說明:
1、電源引腳
Vcc 40腳 正電源腳,工作電壓為5V,另有AT89LV51工作電壓則是2.7-6V, 引腳功能一樣。
GND 20 接地端
2.外接晶體引腳
Pin19:時鐘XTAL1腳, Pin18:時鐘XTAL2腳,
XTAL1是片內振蕩器的反相放大器輸入端,XTAL2則是輸出端,使用外部振蕩器時,外部振蕩信號應直接加到XTAL1,而XTAL2懸空。內部方式時,時鐘發生器對振蕩脈衝二分頻,如晶振為12MHz,時鐘頻率就為6MHz。晶振的頻率可以在1MHz-24MHz內選擇。電容取30PF左右。
型號同樣為AT89C51的晶片,在其後面還有頻率編號,有12,16,20,24MHz可選。大家在購買和選用時要注意了。如AT89C51 24PC就是最高振蕩頻率為24MHz,40P6封裝的普通商用晶片。
3.復位 RST 9
在振蕩器運行時,有兩個機器周期(24個振蕩周期)以上的高電平出現在此引腳時,將使單片機復位,只要這個腳保持高電平,51晶片便循環復位。復位後P0-P3口均置1引腳表現為高電平,程序計數器和特殊功能寄存器SFR全部清零。當復位腳由高電平變為低電平時,晶片為ROM的0000H處開始運行程序。常用的復位電路如下圖所示。
復位操作不會對內部RAM有所影響。當8051通電,時鐘電路開始工作,在RESET引腳上出現24個時鐘周期以上的高電平,系統即初始復位。什麼叫復位?復位是單片機重新執行程序代碼的意思。
8051的復位方式可以是自動復位,也可以是手動復位,見下圖。此外,RESET/Vpd還是一復用腳,Vcc掉電期間,此腳可接上備用電源,以保證單片機內部RAM的數據不丟失。
輸入輸出(I/O)引腳:
Pin39-Pin32為P0.0-P0.7輸入輸出腳,稱為P0口,是一個8位漏極開路型雙向I/O口。內部不帶上拉電阻,當外接上拉電阻時,P0口能以吸收電流的方式驅動八個LSTTL負載電路。通常在使用時外接上拉電阻,用來驅動多個數碼管。在訪問外部程序和外部數據存儲器時,P0口是分時轉換的地址(低8位)/數據總線,不需要外接上拉電阻。
Pin1-Pin8為P1.0-P1.7輸入輸出腳,稱為P1口,是一個帶內部上拉電阻的8位雙向I/0口。P1口能驅動4個LSTTL負載。通常在使用時外不需要外接上拉電阻,就可以直接驅動發光二極體。埠置1時,內部上拉電阻將埠拉到高電平,作輸入用。
我們現在講一個它的輸出功能吧,在單片機工作時,我們 可以通過用指令控制單片機的引腳輸出高電平或者低電平。如: 指令CLR ,清零的意思。
CLR P1.0 ;讓單片機從第一腳輸出低電平。
指令 SETB,置1的意思。
SETB P1.0 ;讓單片機從第一個腳輸出高電平。
請問讓第8個腳輸出低電平的指令如何寫?
Pin21-Pin28為P2.0-P2.7輸入輸出腳,稱為P2口,是一個帶內部上拉電阻的8位雙向I/O口,P2口能驅動4個LSTTL負載。埠置1時,內部上拉電阻將埠拉到高電平,作輸入用。對內部Flash程序存儲器編程時,接收高8位地址和控制信息。在訪問外部程序和16位外部數據存儲器時,P2口送出高8位地址。而在訪問8位地址的外部數據存儲器時其引腳上的內容在此期間不會改變。
Pin10-Pin17為P3.0-P3.7輸入輸出腳,稱為P3口,是一個帶內部上拉電阻的8位雙向I/O口,P2口能驅動4個LSTTL負載,這8個引腳還用於專門的第二功能。埠置1時,內部上拉電阻將埠拉到高電平,作輸入用。
對內部Flash程序存儲器編程時,接控制信息。
P1-3埠在做輸入使用時,因內部有上接電阻,被外部拉低的引腳會輸出一定的電流。
除此之外P3埠還用於一些專門功能,具體請看下表。
P3引腳兼用功能P3.0串行通訊輸入(RXD)P3.1串行通訊輸出(TXD)P3.2外部中斷0( INT0)P3.3外部中斷1(INT1)P3.4定時器0輸入(T0)P3.5定時器1輸入(T1)P3.6外部數據存儲器寫選通WRP3.7外部數據存儲器寫選通RD 什麼叫上拉電阻?上拉電阻簡單來說就是把電平拉高,通常用4.7-10K的電阻接到Vcc電源,下拉電阻則是把電平拉低,電阻接到GND地線上。具體說明也不是這裡要討論的,接下來還是接著看其它的引腳功能吧。
5.其它的控制或復用引腳
(1) ALE/PROG 30 訪問外部存儲器時,ALE(地址鎖存允許)的輸出用於鎖存地址的低位字節。即使不訪問外部存儲器,ALE端仍以不變的頻率輸出脈衝信號(此頻率是振蕩器頻率的1/6)。在訪問外部數據存儲器時,出現一個ALE脈衝。對Flash存儲器編程時,這個引腳用於輸入編程脈衝PROG
(2) PSEN 29 該引是外部程序存儲器的選通信號輸出端。當AT89C51由外部程序存儲器取指令或常數時,每個機器周期輸出2個脈衝即兩次有效。但訪問外部數據存儲器時,將不會有脈衝輸出。
(3) EA/Vpp 31 外部訪問允許端。當該引腳訪問外部程序存儲器時,應輸入低電平。要使AT89S51隻訪問外部程序存儲器(地址為0000H-FFFFH),這時該引腳必須保持低電平。對Flash存儲器編程時,用於施加Vpp編程電壓。
看到這您對AT89S51引腳的功能應該有了一定的了解了,引腳在編程和校驗時的時序我們在這裡就不做詳細的探討,通常情況下我們也沒有必要去撐握它,除非你想自己開發編程器。
引腳功能:
P0口有三個功能:
P2口有兩個功能:
P3口有兩個功能:
ALE/PROG 地址鎖存控制信號:
在沒有訪問外部存儲器期間,ALE以1/6振蕩周期頻率輸出(即6分頻),當訪問外部存儲器以1/12振蕩周期輸出(12分頻)。從這裡我們可以看到,當系統沒有進行擴展時ALE會以1/6振蕩周期的固定頻率輸出,因此可以做為外部時鐘,或者外部定時脈衝使用。
PORG為編程脈衝的輸入端:在第五課單片機的內部結構及其組成中,我們已知道,在8051單片機內部有一個4KB或8KB的程序存儲器(ROM),ROM的作用就是用來存放用戶需要執行的程序的,那麼我們是怎樣把編寫好的程序存入進這個ROM中的呢?實際上是通過編程脈衝輸入才能寫進去的,這個脈衝的輸入埠就是PROG。
PSEN 外部程序存儲器讀選通信號:在讀外部ROM時PSEN低電平有效,以實現外部ROM單元的讀操作。
EA/VPP 訪問和序存儲器控制信號
RST 復位信號:
XTAL1和XTAL2 :
VCC:電源+5V輸入
VSS:GND接地。