STC15W408AS单片机时钟结构

控制/MCU

1814人已加入

描述

STC15W408AS单片机有两个时钟源:内部高精度R/C时钟和外部时钟(外部输入时钟或外部晶体振荡器产生的时钟)。内部高精度R/C时钟(±0.3%),±1%温漂,常温下温漂±0.6%(-20℃~+65℃)。

一、内部时钟配置

内部时钟配置是通过STC提供的下载软件stc-isp实现的。用户可根据自己的需要选择。

定时器

二、主时钟分频和分频寄存器

如果希望降低系统功耗,可对时钟进行分频。利用时钟分频控制寄存器CLK_DIV(PCON2)

可进行时钟分频,从而使单片机在较低频率下工作。

时钟分频寄存器CLK_DIV (PCON2)各位的定义如下:

定时器

相关控制位说明:

定时器

定时器

三、时钟结构

定时器

主时钟既可以是内部R/C时钟,也可以是外部输入的时钟或外部晶体振荡产生的时钟。但对于无外部时钟源的单片机(STC15F100W系列、STC15W201S系列、STC15W404S系列、STC15W1K16S系列)以及现供货的STC15F2K60S2系列C版单片机,其主时钟只能是内部R/C时钟。

主时钟可在管脚MCLKO或MCLKO_2对外输出。其中,STC15系列8-pin单片机(如STC15F100W系列)在MCLKO/P3.4口对外输出时钟;STC15F2K60S2系列、STC15W201S系列及STC15F408AD系列单片机在

MCLKO/P5.4口对外输出时钟;而STC15W404S系列及STC15W1K16S系列单片机除可在MCLKO/P5.4口对外输出时钟外,还可在MCLKO_2/P1.6口对外输出时钟。

系统时钟是指对主时钟进行分频后供给CPU、定时器、串行口、SPI、CCP/PWM/PCA、A/D转换的实际工作时钟。

MCLK是指主时钟频率,MCLKO是指系统时钟输出。SysClk是指系统时钟频率,SysClkO是指系统时钟输出。

MCLKO_2:主时钟对外输出位置的选择位

0:在MCLKO/P5.4口对外输出主时钟;

 1:在MCLKO_2/P1.6口对外输出主时钟;

四、测试程序

#include "stc15.h"
// 对外输出分频控制
#define MCKO_0  0x00  // 主时钟不对外输出时钟
#define MCKO_1  0x40  // 主时钟对外输出时钟,但时钟频率不被分频,输出时钟频率 = MCLK / 1
#define MCKO_2  0x80  // 主时钟对外输出时钟,但时钟频率被2分频,输出时钟频率 = MCLK / 2
#define MCKO_4  0xC0  // 主时钟对外输出时钟,但时钟频率被4分频,输出时钟频率 = MCLK / 4
// 主频时钟分频控制
#define CLKS_1    0x00  // 主时钟频率/1,不分频
#define CLKS_2    0x01  // 主时钟频率/2
#define CLKS_4    0x02  // 主时钟频率/4
#define CLKS_8    0x03  // 主时钟频率/8
#define CLKS_16   0x04  // 主时钟频率/16
#define CLKS_32   0x05  // 主时钟频率/32
#define CLKS_64   0x06  // 主时钟频率/64
#define CLKS_128  0x07  // 主时钟频率/128
// 对外输出管脚控制
#define MCLKO_2  0x00;  // 在MCLKO/P5.4口对外输出主时钟;


void main()
{
  CLK_DIV = MCKO_1 | CLKS_2; // 主频时钟对外输出2分频 在P5.4对外输出
  while (1);
}

五、实际效果图

定时器

可以看见输入的频率是5.54MHz基本是STC-ISP下载软件设置的11.0592MHz的一半。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分