单片机时钟模块_第1页
单片机时钟模块_第2页
单片机时钟模块_第3页
单片机时钟模块_第4页
单片机时钟模块_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基础时钟模块寄存器 基础始终模块的寄存器列于表41 中。 寄存器 符号 寄存器类型 地址 初始化状态 DCO控制寄存器 DCOCTL 读/ 写 056H 带PUC的060H 基础时钟系统控制寄存器1 BCSCTL1 读/ 写 057H 带POR的087H 基础时钟系统控制寄存器2 BCSCTL2 读/ 写 058H 带PUC的复位 基础时钟系统控制寄存器3 BCSCTL3 读/ 写 053H 带PUC的005H SFR中断使能寄存器1 IE1 读/ 写 000H 带PUC 的复位 SFR中断标志寄存器 IFG1 读/ 写 002H 带PUC 的复位 DCO控制寄存器DCOCTL DCOX位DCO频率选择。这几位选择由RSEL X设置定义的八个 75 离散频率中的一个。 MODX位调节器选择。这几位决定在32个DCOCLK周期内 40 fDCO+1频率被用的次数。在持续的时钟周期以内(32MOD)f DCO频率被采用。 当DCOX=7时不被采用。 基础时钟系统控制寄存器1 BCSCTL1 XT2OFF 7 位关闭XT2。该位关闭XT2振荡器 0 XT2打开 1 XT2不用于SMCLK 或MCLK则关闭 XTS 6 位LFXT1 模式选择 0 低频率模式 1 高频率模式 DIVAX 54位ACLK分频 00 /1 01 /2 10 /4 11 /8 RSELX 30位范围选择。十六种频率范围可供选择。通过设置RSELX0 来选择最低频率。当DCOR1时,RSEL3 无效。 基础时钟系统控制寄存器2 BCSCTL2 注“”的不使用于MSP430X20XX 或MSP430X21XX 系列器件 SELMX 76位选择 MCLK 。这两位选择 MCLK的时钟源 00 DCOCLK 01 DCOCLK 10 当XT2振荡器在片内时采用 XT2CLK。当XT2振荡器不在 片内时采用LFXT1CLK或VLOCLK 11 LFXT1CLK或VLOCLK DIVMX 54位 MCLK分频 00 /1 01 /2 10 /4 11 /8 SELS 3 位选择 SMCLK。该位选择SMCLK的时钟源 0 DCOCLK 1 当XT2振荡器存在时选用XT2CLK,当XT2振荡器不存在 时采用LFXT1CLK或VLOCLK DIVSX 21位SMCLK分频 00 /1 01 /2 10 /4 11 /8 DCOR 0 位DCO寄存器选择 0 内部寄存器 1 外部寄存器 基础时钟系统控制寄存器3 BCSCTL3 注“”的不使用于MSP430X2XX,MSP430X21XX 或MSP430X22XX系列器件。 XT2SX 76位XT2范围选择。这些位选择XT2 的频率范围。 00 0.41MHz 晶体或振荡器 01 13MHz 晶体或振荡器 10 316MHz晶体或振荡器 11 0.416MHz 外部数字时钟源 LFXT1SX 54 位低频时钟选择和 LFXT1范围选择。当XTS=0时在LFXT1 和VLO 之间选择。当XTS1 时选择LFXT1的频率范围。 当 XTS=0时: 00 LFXT1上的32768Hz晶体 01 保留 10 VLOCLK(MSP430X21X1器件上_保留) 11 外部数字时钟信源 XCAPX 32位振荡器电容选择。这些位选择当XTS=0 时用于LFXT1的有效电容。 00 1Pf 01 6 Pf 10 10 Pf 11 12.5 Pf XT2OF 1 位XT2振荡器失效 0 不存在失效条件 1 存在失效条件 LFXT1OF 0 位LFXT1振荡器失效 不存在失效条件 存在失效条件 中断使能寄存器1IE1 72位这些位被其它模块所用。参见仪器特别说明书。 OFIE 1位振荡器失效中断使能。该位使OFIFG 中断使能。由于IE1的其它位 用于其它模块,因此采用BIS.B 或BIC.B指令来设置或清零该位比 用MOV.B或CLR.B 更合适。 0 禁止中断 1 使能中断 0位该位可用于其它模块。参见仪器特别说明书。 中断标志寄存器1IFG1 72位这些位被其它模块所用。参见仪器特别说明书。 OFIFG 1位振荡器失效中断标志。由于IFG1 的其它位用于其它模块,因此 采用BIS.B 或BIC.B 指令来设置或清零该位比用MOV.B 或 CLR.B 更合适。 0 没有未被响应的中断 1 有未被响应的中断 0 位该位可用于其它模块。参见仪器特别说明书。 例 1 设 MCLK=XT2,SMCLK=DCOCLK,将 MCLK 由 P5.4 输出 #include void main(void) unsigned int i; WDTCTL = WDTPW + WDTHOLD; / 停止 WDT P5DIR |= 0x10; / P5.4 输出 P5SEL | = 0x10; / P5.4 为外围模块用作 MCLK 信号输出 BCSCTL1 / 使 XT2 有效,XT2 上电时默认是关闭 的 do IFG1 / 清除振荡器失效标志 For(i=0xFF; i0; i=-); / 延时,稳定时间 while(IFG1 / 如果振荡器失效标志存在 BCSCTL2|=SELM1; / MCLK=XT2 for(;) ; 例 2 设 ACLK=MCLK=LFXT1=HF,将 MCLK 通过 P5.4 输出。 #include void main(void) unsigned int i; WDTCTL = WDTPW + WDTHOLD; / 停止 WDT P5DIR |= 0x10; / P5.4 输出 P5SEL | = 0x10; / P5.4 为外围模块用作 MCLK 信号输出 BCSCTL1|=XTS; / 使 XT2 有效,XT2 上电时默认是关闭的 do IFG1 / 清除振荡器失效标志 For(i=0xFF; i0; i=-); / 延时,稳定时间 while(IFG1 / 如果振荡器失效标志存在 BCSCTL2|=SELM1+SELM0; / MCLK=XT2 for(;) ; 手册上的建议的操作顺序就是如此; 用晶振做时钟源,打开晶振时 OFIFG 会置位,不清零的话会触发 NMI,并且锁定到 POR; 这时你要手动清零,并等待至少 50us,一直等到你的晶体正常工作为止。 MSP430 的看门狗默认是打开的,如果在程序开始不关闭程序执行到一定时间(时间间隔 忘了,可以看手册或用户指南)就会自动复位,那样程序就无法正常执行。当然你可以不 关闭看门狗定时喂狗,一般在成为正式产品,要保证其可靠性的情况下再开看门狗,在程 序调试阶段不建议开狗。 #include “msp430f248.h“ #define MAX 0XFF void main( void ) unsigned int i; / Stop watchdog timer to prevent time

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论