1. 51單片機最小系統原理圖
單片機的最小系統是由組成單片機系統必需的一些元件構成的,除了單片機之外,還需要包括電源供電電路、時鍾電路、復位電路。單片機最小系統電路(單片機電源和地沒有標出)如圖2-7所示。x0dx0ax0dx0a圖2-7 單片機最小系統x0dx0a下面著重介紹時鍾電路和復位電路。x0dx0a1)時鍾電路x0dx0a單片機工作時,從取指令到解碼再進行微操作,必須在時鍾信號控制下才能有序地進行,時鍾電路就是為單片機工作提供基本時鍾的。單片機的時鍾信號通常有兩種產生方式:內部時鍾方式和外部時鍾方式。x0dx0a內部時鍾方式的原理電路如圖2-8所示。在單片機XTAL1和XTAL2引腳上跨接上一個晶振和兩個穩頻電容,可以與單片機片內的電路構成一個穩定的自激振盪器。晶振的取值范圍一般為0~24MHz,常用的晶振頻率有6MHz、12 MHz、11.0592 MHz、24 MHz等。一些新型的單片機還可以選擇更高的頻率。外接電容的作用是對振盪器進行頻率微調,使振盪信號頻率與晶振頻率一致,同時起到穩定頻率的作用,一般選用20~30pF的瓷片電容。x0dx0a外部時鍾方式則是在單片機XTAL1引腳上外接一個穩定的時鍾信號源,它一般適用於多片單片機同時工作的情況,使用同一時鍾信號可以保證單片機的工作同步。x0dx0a時序是單片機在執行指令時CPU發出的控制信號在時間上的先後順序。AT89C51單片機的時序概念有4個,可用定時單位來說明,包括振盪周期、時鍾周期、機器周期和指令周期。x0dx0a振盪周期:是片內振盪電路或片外為單片機提供的脈沖信號的周期。時序中1個振盪周期定義為1個節拍,用P表示。x0dx0a時鍾周期:振盪脈沖送入內部時鍾電路,由時鍾電路對其二分頻後輸出的時鍾脈沖周期稱為時鍾周期。時鍾周期為振盪周期的2倍。時序中1個時鍾周期定義為1個狀態,用S表示。每個狀態包括2個節拍,用P1、P2表示。x0dx0a機器周期:機器周期是單片機完成一個基本操作所需要的時間。一條指令的執行需要一個或幾個機器周期。一個機器周期固定的由6個狀態S1~S6組成。x0dx0a指令周期:執行一條指令所需要的時間稱為指令周期。一般用指令執行所需機器周期數表示。AT89C51單片機多數指令的執行需要1個或2個機器周期,只有乘除兩條指令的執行需要4個機器周期。x0dx0a了解了以上幾個時序的概念後,我們就可以很快的計算出執行一條指令所需要的時間。例如:若單片機使用12MHz的晶振頻率,則振盪周期=1/(12MHz)=1/12us,時鍾周期=1/6us,機器周期=1us,執行一條單周期指令只需要1us,執行一條雙周期指令則需要2us。x0dx0a2)復位電路x0dx0a無論是在單片機剛開始接上電源時,還是運行過程中發生故障都需要復位。復位電路用於將單片機內部各電路的狀態恢復到一個確定的初始值,並從這個狀態開始工作。x0dx0a單片機的復位條件:必須使其RST引腳上持續出現兩個(或以上)機器周期的高電平。x0dx0a單片機的復位形式:上電復位、按鍵復位。上電復位和按鍵復位電路如下。x0dx0ax0dx0a圖2-9 單片機復位電路x0dx0a上電復位電路中,利用電容充電來實現復位。在電源接通瞬間,RST引腳上的電位是高電平(Vcc),電源接通後對電容進行快速充電,隨著充電的進行,RST引腳上的電位也會逐漸下降為低電平。只要保證RST引腳上高電平出現的時間大於兩個機器周期,便可以實現正常復位。x0dx0a按鍵復位電路中,當按鍵沒有按下時,電路同上電復位電路。如在單片機運行過程中,按下RESET鍵,已經充好電的電容會快速通過200Ω電阻的迴路放電,從而使得RST引腳上的電位快速變為高電平,此高電平會維持到按鍵釋放,從而滿足單片機復位的條件實現按鍵復位。x0dx0a單片機復位後各特殊功能寄存器的復位值見表2-11。x0dx0a表2-11 單片機特殊功能寄存器復位值x0dx0a寄存器復位值寄存器復位值寄存器復位值x0dx0aPC0000HSBUF不確定TMOD00Hx0dx0aB00HSCON00HTCON00Hx0dx0aACC00HTH100HPCON0***0000Bx0dx0aPSW00HTH000HDPTR0000Hx0dx0aIP***00000BTL100HSP07Hx0dx0aIE0**00000BTL000HP0~P3FFHx0dx0a註:*表示無關位。