天天看點

[C8051F320]C8051F320的内部時鐘工…

   問題描述:時鐘是MCU的心髒。C8051F320是帶有内置時鐘的,這個功能非常強大,可以不用外接晶振電路就可以驅動MCU工作。C8051F320的許多功能都是與時鐘相關的,像有時序要求的通信:序列槽,SPI等,以及定時器等。我在電路設計時就考慮用内部時鐘的,是以沒有設計外部時鐘電路,下面也會重點記錄内部時鐘的使用。

   C8051F320的時鐘:可程式設計内部時鐘+外部晶振驅動電路+4倍時鐘乘法器(名字有點别扭,暫且這麼叫了)。C8051F320的時鐘分為系統時鐘SYSCLK和USB時鐘USBCLK。

   可程式設計内部時鐘:這是系統複位後的預設時鐘,通過OSCICL寄存器程式設計。

   f_BASE是複位後的内部時鐘,C8051F320是12MHz,deta_T是時鐘周期。系統時鐘可以由内部時鐘1分頻/2分頻/4分頻/8分頻,具體的分頻設定在OSCICN寄存器的IFCN位,系統複位後預設使用的是8分頻。

   OSCICL複位值會使内部時鐘頻率為12MHz(12MHz适用于USB通信),而系統時鐘複位後預設是對内部時鐘進行8分頻,即1.5MHz。可以通過軟體修改内部時鐘值,但修改後就不适合用于USB通信了。

   内部時鐘有挂起模式,當往OSCICN的SUSPEND位寫1後内部時鐘就挂起了。

   外部時鐘驅動電路:可以是外部晶振,陶瓷諧振器,電容或RC網絡。CMOS時鐘也可以提供時鐘輸入。使用外部時鐘時需要配置對應的端口引腳的功能。