目錄
?一.時鐘電路設計
1.內部時鐘方式
2.外部時鐘方式
3.時鐘信號的輸出
二.機器周期,指令周期與指令時序
1.時鐘周期
2.機器周期
3.指令周期
三.復位操作和復位電路
1.復位操作
2 復位電路設計
四.低功耗節電模式
AT89S52本身片內有8KB閃爍存儲器,256B的RAM單元,4個I/0口,外接時鐘電路和復位電路即構成了一個AT89S52單片機最小應用系統,如圖所示:
該最小應用系統只能作為小型的數字量的測控單元

一.時鐘電路設計
時鐘頻率直接影響單片機的速度,時鐘電路的質量也直接影響單片機系統的穩定性。常用的時鐘電路有兩種方式,一種是內部時鐘方式,另一種是外部時鐘方式。
1.內部時鐘方式
AT89S52內部有一個用于構成振蕩器的高增益反相放大器,輸入端為芯片引腳XTAL1,輸出端為引腳XTAL2。這兩個引腳跨接石英晶體振蕩器和微調電容,構成一個穩定的自激振蕩器,如圖是AT89S52內部時鐘方式的電路。
C1和C2的典型值通常選擇為30pF。電容大小會影響振蕩器頻率高低振蕩器的穩定性和起振的快速性。晶振頻率范圍通常是1.2~12MHz,串口通信時,為了得到準確的波特率,多采用11.0592M晶體。晶體頻率越高,單片機速度就越快
常選6MHz或12MHz的石英晶體。隨著集成電路制造工藝技術的發展單片機的時鐘頻率也在逐步提高,已達33MHz。
2.外部時鐘方式
用現成的外部振蕩器產生脈沖信號,常用于多片AT89S52同時工作,以便于多片AT89S52單片機之間的同步,一般為低于12MHz的方波。外部時鐘源直接接到XTAL1端,XTAL2端懸空,見圖:
3.時鐘信號的輸出
當使用片內振蕩器,XTAL1、XTAL2引腳還能為應用系統中的其他芯片提供時鐘,但需增加驅動能力。引出的方式有兩種,如圖所示。
二.機器周期,指令周期與指令時序
各種指令時序與時鐘周期相關。
1.時鐘周期
時鐘控制信號的基本時間單位。若晶振頻率為,則時鐘周期
=1/
如
=6MHZ,
=166.7ns
2.機器周期
CPU完成一個基本操作所需時間為機器周期。執行一條指令分為幾個機器周期。每個機器周期完成一個基本操作,如取指令、讀或寫數據等。每12個時鐘周期為1個機器周期(機器周期=12*)
1個機器周期包括12個時鐘周期,分6個狀態: S1~S6。每個狀態又分兩拍: P1和P2。因此,一個機器周期中的12個時鐘周期表示為S1P1、S1P2、S2P1、S2P2、··、S6P2,如圖所示。
3.指令周期
執行一條指令所需的時間。簡單的單字節指令,取出指令立即執行,只需一個機器周期的時間。而有些復雜的指令,如轉移、乘、除指令則需兩個或多個機器周期
從指令執行時間看:
?單字節和雙字節指令一般為單機器周期和雙機器周期;
?三字節指令都是雙機器周期;
?乘、除指令占用4個機器周期;
三.復位操作和復位電路
單片機的初始化操作,給復位腳RST加上大于2個機器周期(即24個時鐘振蕩周期)的高電平就使AT89S52復位。
1.復位操作
復位時,PC初始化為0000H,程序從0000H單元開始執行。除系統的正常初始化外,當程序出錯(如程序跑飛) 或操作錯誤使系統處于死鎖狀態時,需按復位鍵使RST腳為高電平,使AT89S52擺脫“跑飛”或“死鎖”狀態而重新啟動程序。
復位操作還對其他一些寄存器有影響,這些寄存器復位時的狀態如圖:
由表可看出,復位時,SP=07H ,而P0~P3引腳均為高電平
在某些控制應用中,要注意考慮PO~P3引腳的高電平對接在這些引腳上的外部電路的影響
例如,當P1口某個引腳外接一個繼電器繞組,當復位時,該引腳為高電平繼電器繞組就會有電流通過,就會吸合繼電器開關,使開關接通,可能會引起意想不到的后果。
2 復位電路設計
AT89S52單片機的復位是由外部的復位電路實現的。復位電路應兼有上電復位(一開機就復位? )和人工按鍵復位兩種功能。典型的復位電路如圖:
注:信號一定要>2個機器周期,要想做到這一點,就要使復位的時間長一點,上電復位(電容的充放電速率緩慢),人工按鍵復位(按下按鍵的時候停留一會兒,保證>2個機器周期)
當時鐘頻率選用6MHz時,電容C的參考取值為22uF,兩個電阻Rs和Rk的參考阻值分別為220和1k
四.低功耗節電模式
兩種低功耗節電工作模式:空閑模式(idle mode)和掉電保持模式(power down mode)
空閑模式:表示使CPU停止工作,單片機的中斷,串行口定時/計時器繼續工作。
掉電模式:使外部時鐘停止工作,沒有外部時鐘信號,內部的部件都不會進行工作。
掉電保持模式下,Vcc可由后備電源供電。圖中為兩種節電模式的內部控制電路。
兩種節電模式可通過PCON的位IDL和位PD的設置來實現。格式如圖所示。
PCON寄存器各位定義:
SMOD:串行通信波特率選擇。
一:保留位。
GF1、GF0:通用標志位,兩個標志位用戶使用。
PD:掉電保持模式控制位,PD=1,則進入掉電保持模式
IDL:空閑模式控制位,若IDL=1,則進入空閑運行模式
恢復方式:
空閑模式恢復:1.中斷信號使IDL=0? ? ?2.硬件復位使IDL=0
掉電模式恢復:1.外部中斷信號使PD=0? ? 2.硬件復位使PD=0
注:如果是硬件復位,那么之前運行的程序,需要重新開始,如果是中斷信號,那么只需要從中斷程序繼續開始