- 單片機原理、應用與仿真
- 荊珂 張樹江主編
- 1055字
- 2018-12-27 05:39:21
1.3 時鐘電路及復位電路
1.3.1 時鐘電路與時序
1.時鐘電路
單片機內有時鐘電路(又稱時鐘發生器),與振蕩器共同產生單片機工作所需要的時鐘信號。它使單片機在唯一的時鐘信號控制下,嚴格地按一定的節拍進行工作,或者說按一定的時序進行工作。振蕩器可由單片機內振蕩電路外接振蕩元件(如晶振)實現,構成內部時鐘方式,如圖1-11(a)所示。振蕩器也可以是外振蕩源,將其信號接單片機XTAL1腳,XTAL2腳懸空,構成外部時鐘方式,如圖1-11(b)所示。

圖1-11 單片機時鐘方式原理框圖
2.時序
單片機執行的指令均是在CPU控制器的時序控制電路的控制下進行的,各種時序均與時鐘周期有關。各時序關系圖如圖1-12所示。

圖1-12 各時序關系圖
(1)時鐘周期
時鐘周期是為單片機提供定時信號的振蕩源的周期,也稱為振蕩周期,是單片機的基本時間單位。為了描述方便,下面敘述中的振蕩周期用P表示。
(2)狀態時鐘周期
時鐘周期經2分頻后成為內部兩相脈沖信號P1、P2,用做單片機內部功能部件按序協調工作的控制信號,稱為狀態時鐘周期,簡稱狀態周期,用S表示。
(3)機器周期
CPU完成一個基本操作所需要的時間稱為機器周期。規定一個機器周期的寬度為6個狀態周期,并依次表示為S1~S6。由于一個狀態又包括兩個時鐘周期,因此,一個機器周期總共有12個時鐘周期,分別記做S1P1、S1P2、……、S6P2。即,機器周期=12/fOSC。
(4)指令周期
執行一條命令所需要的時間稱為指令周期。AT89S51單片機有單周期指令、雙周期指令和四個機器周期指令。
例如:當振蕩脈沖頻率為fOSC=12MHz時,則
時鐘周期=1/fOSC=0.0833μs
狀態周期=2×時鐘周期=0.167μs
機器周期=12×時鐘周期=1μs
指令周期=(1~4)機器周期=1~4μs
1.3.2 復位電路
復位是令單片機初始化的操作,其主要功能是初始化單片機的工作狀態。例如復位后PC=0000H,這樣使單片機從0000H單元開始執行程序。另外,當程序運行出錯或因操作錯誤而使系統處于死鎖狀態時都需要進行復位操作。
單片機常見的復位電路如圖1-13所示。

圖1-13 單片機復位電路
圖1-13(a)為上電復位電路,它是利用電容充電來實現的。在接電瞬間,RST端的電位與VCC(+5V)相同,隨著充電電流的減小,RST的電位逐漸下降。只要保證RST為高電平的時間大于兩個機器周期,便能正常復位。
圖1-13(b)為按鍵復位電路。該電路除了具有上電復位功能,還可以使用按鍵復位,只需按下圖1-13(b)中的SW按鍵,此時電源VCC經電阻R1、R2分壓,在RST端產生一個復位高電平。通常晶振為6MHz時,復位電路元件參數為22μF的電解電容和1KΩ的電阻;若晶振為12MHz時,復位電路元件參數為10μF的電解電容和10KΩ的電阻。復位后,內部各專用寄存器狀態如表1-7所示。
表1-7 AT89S51單片機復位后各內部寄存器的狀態