(单片机)外部时钟与内部时钟区别、作用、使用条件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(单片机)外部时钟与内部时钟区别、作用、使用条件相关的知识,希望对你有一定的参考价值。

1)使用寿命。寿命主要指以下2方面:单片机开发产品拥有良好的稳定性和较长的使用寿命,可以长时间稳定运行10年或是20多年;与微处理器相比拥有较长的使用寿命。随着半导体技术的不断提高,MPU更新换代速度的不断提升,部分已经成功上市,同时年龄较小的CPU核心同样会随着I/O模块的发展而不断丰富,生存周期较长。随着新型CPU产品的出现,单片机领域也不断扩展,用户选择余地也相继增加。目前单片机的主要发展趋势就是32位、16位和8位单片机的共同进步。最初单片机主要是从8位开始的,随着多媒体技术、互联网技术和移动通讯技术的发展,32位单片机逐渐发展起来。比如32位的CPU单片机Mororola68k曾经就实现过八千万枚的销量,而16位单片机的发展从产量和品种两种层面上看也有着巨大的进步,呈现出增长的态势。[5]
(2)运行速度。MUP发展中的主要是不断提升速度,主要是以时钟频率为主要标志,时钟频率逐渐增高。但是单片机却和MUP存在一定的差异,为了进一步提升单片机的抗干扰能力,减少噪音影响,单片机在发展过程中逐渐开始从降低时钟频率入手,为此不惜降低运算效率。从单片机内部系统入手,改变内在时序,在不提升时钟频率的基础上,进一步提高了单片机的运算速度。[
参考技术A 单片机的时钟信号由外部振荡和内部振荡两种方式取得
在引脚XTAL1和XTAL2外接晶振振荡器或陶瓷谐振器,就构成了单片机的内部振荡方式。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器,并产生振荡时钟脉冲。
单片机的外部振荡方式时把已有的时钟信号引入单片机内。这种方式适宜用来使单片机的时钟与外部信号一致。(对于HMOS的单片机(8031,8031AH等),外部时钟信号由XTAL2引入,对于CHMOS的单片机(8XCXX),外部时钟由XTAL1引入)。
它们的作用一般都是为单片机定时计数器提供时钟信号,还有看门狗上也有应用,对于使用条件没什么要求吧,接上就用吧(不过值得注意的是在焊板子时晶振距离单片机不要太远了 ps 我当年就是没注意这个问题)本回答被提问者采纳

2.STC15W408AS单片机时钟

        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的一半。

以上是关于(单片机)外部时钟与内部时钟区别、作用、使用条件的主要内容,如果未能解决你的问题,请参考以下文章

在stm32F10X单片机中,时钟有啥作用?,有那几种?请举列说明?

STM32里的外设时钟是干啥?

1. 单片机时钟与GPIO

1. 单片机时钟与GPIO

1. 单片机时钟与GPIO

17.3.14--对于时钟的知识,涉及到的总结