• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

如何设定STC15系列单片机内部时钟频率?

huihui163 2016-11-05 浏览量:13645
如何设定STC15系列单片机内部时钟频率?时钟模式呢
1 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 可以在STC-ISP中设置

    除了上面的设置之外,还可以设置CLK_DIV寄存器对时钟分频


    • 发布于 2016-11-05
    • 举报
    • 评论 0
    • 1
    • 0

其他答案 数量:5
  • 本帖最后由 MOP 于 2016-11-5 19:21 编辑

    嗨,Datasheet描述很清楚
    內部主時鐘的話,即8051 IC內部RC所構成的震盪器,使用ISP設定,而外部主時鐘的話,頻率即晶振頻率

    選擇內部or外部主時鐘,選擇內部主時鐘時可設定頻率


    內/外部主時鐘設置完成後,再根據CLK_DIV(97h)的設置,對外輸出SysCLK,即系統時鐘

    以下是圖解


    以下是設置的範例Code
    #include "reg51.h"
    
    sfr CLK_DIV = 0x97;
    
    void main()
    {
        CLK_DIV = 0x00; //不分頻
        //CLK_DIV = 0x01; //除2
        //CLK_DIV = 0x02; //除4
        //CLK_DIV = 0x03; //除8
        //CLK_DIV = 0x04; //除16
        //CLK_DIV = 0x05; //除32
        //CLK_DIV = 0x06; //除64
        //CLK_DIV = 0x07; //除128
      
        while(1);
    }
    
    以上希望對您有幫助:)



    • 发布于2016-11-05
    • 举报
    • 评论 0
    • 0
    • 0

  • 可以这样理解,必须先通过烧录软件选择振荡器频率,设置时钟分频寄存器确定系统时钟频率。在STC15系列当中都用库函数,不用寄存器,怎么写这个分频的代码呢,就如三楼的
    • 发布于2016-11-07
    • 举报
    • 评论 0
    • 0
    • 0

  • 本帖最后由 MOP 于 2016-11-7 19:15 编辑

    huihui163 发表于 2016-11-7 18:04
    可以这样理解,必须先通过烧录软件选择振荡器频率,设置时钟分频寄存器确定系统时钟频率。在STC15系列当中 ...
    我看了一下官方庫函數,沒有設置系統時鐘分頻唷.
    自己寫的話,最快還是直接用Register,只要一行,如我上面寫的,差別只是在於不用再宣告CLK_DIV,庫函數標頭檔STC15Fxxxx.h內已經有define,但還是直接操作Register
    #include "config.h" //包含STC15Fxxxx.h
    
    void main()
    {
          CLK_DIV = 0x00; //不分頻
          //CLK_DIV = 0x01; //除2
          //CLK_DIV = 0x02; //除4
          //CLK_DIV = 0x03; //除8
          //CLK_DIV = 0x04; //除16
          //CLK_DIV = 0x05; //除32
          //CLK_DIV = 0x06; //除64
          //CLK_DIV = 0x07; //除128
      
          while(1);
    }
    #ifndef		__CONFIG_H
    #define		__CONFIG_H
    
    
    /*********************************************************/
    
    #define MAIN_Fosc		22118400L	//定义主时钟
    //#define MAIN_Fosc		12000000L	//定义主时钟
    //#define MAIN_Fosc		11059200L	//定义主时钟
    //#define MAIN_Fosc		 5529600L	//定义主时钟
    //#define MAIN_Fosc		24000000L	//定义主时钟
    
    
    /*********************************************************/
    
    #include	"STC15Fxxxx.H"
    
    
    
    #endif
    
    config.h的內容,也可以在這裡設定主時鐘

    以上希望對您有用:)
    • 发布于2016-11-07
    • 举报
    • 评论 0
    • 0
    • 0

  • 会员你好,有了答案要及时选择最佳答案,别忘了哦
    • 发布于2016-11-22
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

如何设定STC15系列单片机内部时钟频率?