单片机MSP430入门--理论②--时钟模块
上期大概给大家汇总了MSP430的主要作用以及简介,后面我会把单片机常用的模块时钟,定时器,看门狗,D/A,A/D转换,UART理论跟实例都会说一下,最后在串联起来讲一下做的项目
这期给大家整理并认识下什么叫时钟模块,时钟模块对于单片机是很重要的,如果单片机没有时钟模块,相当于人没有了脉搏,时钟模块是通过振荡器的东西生成的,
可以比喻为人的心脏,我们的心脏也是按照一定的节拍在运动,每一次跳动都会促使身体血液循环,同理时钟模块也是根据振荡器产生,时钟脉冲信号按一定的功率节拍,不断对C对代码读取,译码,执行等工作,当然也能使外部设备正常有序工作
具体MSP430的振荡器:
三个振荡器:低频时钟源LFXT1 、高频时钟源XT2 、数字控制RC振荡器DCO
LFXT1CLK--低频时钟源,由外接晶体振荡器,而无需外接两个振荡电容器,较常使用的晶体振荡器是32.768KHZ,主要提供给ACLK的低频时钟信号,也可以接(400K-8MHZ),一次有效的PUC信号将使OSCOFF复位,允许LFXT1工作,如果LFXT1信号没有用作SMCLK或MCLK,可软件置OSCOFF关闭LFXT1.
XT2CLK--高频时钟源,也是由外接晶体振动器,但是需要外接两个振动电容器,常使用的晶体振荡器是8MHZ,也可以接(400K-8MHZ),为MCKL和SMCLK提供高速时钟,XT2产生XT2CLK时钟信号,如果XT2CLK信号没有用作时钟MCLK和SMCLK,可以通过置XT2OFF关闭XT2,PUC信号后置XT2OFF,即XT2的关闭的。
DCOCLK--数字可控制的RC振荡器,系统自带集成数控晶振,DCOx=7,MODx=3标识最高频率,当其他振荡器发生错误失效时,DCO振荡器会自动被选做MCLK的时钟源。如果DCO信号没有用作SMCLK和MCLK时钟信号时,可置SCG0位关闭DCO直流发生器。
所能产生的常用时钟:
三个时钟:辅助时钟ACLK 、主时钟MCLK 、子系统时钟SMCLK
1. 辅助时钟ACLK:是LFXT1CLK信号经1/2/4/8分频后得到的,主要用作低速外设的时钟;用BCSCTL1设置,一般用XT1振荡器(32768HZ)分频
2. 主时钟MCLK:是LFXT1CLK,XT2CLK,DCOCLK的三者之一决定,由软件选择,然后经1/2/4/8分频后得到,主要用于CPU和系统;
MCLK我们通常选择的是XT2高速时钟,如果是msp430f14x的话,建议用DCOCLK选择450K~8M,这属于稳定的范围,所有设置应该是BCSCTL2 |= SELM1,然后分频
3.子时钟SMCLK:可由LFXT1CLK和DCOCLK,或者XT2CLK与DCOCLK决定,然后经1/2/4/8分频后得到,主要用于高速外围模块;
MCLK跟SMCLK都是用BCSCTL2设置,默认为DCOCLK,也可以设置为XT2,BCSCTL2 |= SELS1
在系统PUC之后,默认SMCLK与MCLK都以DCO作为时钟源,震荡频率在1.1M左右,ACLK以LFXT1作为时钟源,工作在LF模式下内部6pF的负载电容