欢迎来到天天文库
浏览记录
ID:57572762
大小:51.76 KB
页数:5页
时间:2020-08-27
《单片机时钟模块.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、基础时钟模块+寄存器基础始终模块+的寄存器列于表4-1中。寄存器符号寄存器类型地址初始化状态DCO控制寄存器DCOCTL读/写056H带PUC的060H基础时钟系统控制寄存器1BCSCTL1读/写057H带POR的087H基础时钟系统控制寄存器2BCSCTL2读/写058H带PUC的复位基础时钟系统控制寄存器3BCSCTL3读/写053H带PUC的005HSFR中断使能寄存器1IE1读/写000H带PUC的复位SFR中断标志寄存器IFG1读/写002H带PUC的复位DCO控制寄存器-DCOCTLDCOX位DCO频率选择
2、。这几位选择由RSELX设置定义的八个7-5离散频率中的一个。MODX位调节器选择。这几位决定在32个DCOCLK周期内4-0fDCO+1频率被用的次数。在持续的时钟周期以内(32-MOD)fDCO频率被采用。当DCOX=7时不被采用。基础时钟系统控制寄存器1—BCSCTL1XT2OFF7位关闭XT2。该位关闭XT2振荡器0XT2打开1XT2不用于SMCLK或MCLK则关闭XTS6位LFXT1模式选择0低频率模式1高频率模式DIVAX5-4位ACLK分频00/101/210/411/8RSELX3-0位范围选择。十六种
3、频率范围可供选择。通过设置RSELX=0来选择最低频率。当DCOR=1时,RSEL3无效。基础时钟系统控制寄存器2—BCSCTL2注“+”的不使用于MSP430X20XX或MSP430X21XX系列器件SELMX7-6位选择MCLK。这两位选择MCLK的时钟源00DCOCLK01DCOCLK10当XT2振荡器在片内时采用XT2CLK。当XT2振荡器不在片内时采用LFXT1CLK或VLOCLK11LFXT1CLK或VLOCLKDIVMX5-4位MCLK分频00/101/210/411/8SELS3位选择SMCLK。该位选
4、择SMCLK的时钟源0DCOCLK1当XT2振荡器存在时选用XT2CLK,当XT2振荡器不存在时采用LFXT1CLK或VLOCLKDIVSX2-1位SMCLK分频00/101/210/411/8DCOR0位DCO寄存器选择0内部寄存器1外部寄存器基础时钟系统控制寄存器3—BCSCTL3注“+”的不使用于MSP430X2XX,MSP430X21XX或MSP430X22XX系列器件。XT2SX7-6位XT2范围选择。这些位选择XT2的频率范围。000.4-1MHz晶体或振荡器011-3MHz晶体或振荡器103-16MHz晶
5、体或振荡器110.4-16MHz外部数字时钟源LFXT1SX5-4位低频时钟选择和LFXT1范围选择。当XTS=0时在LFXT1和VLO之间选择。当XTS=1时选择LFXT1的频率范围。当XTS=0时:00LFXT1上的32768Hz晶体01保留10VLOCLK(MSP430X21X1器件上__________保留)11外部数字时钟信源XCAPX3-2位振荡器电容选择。这些位选择当XTS=0时用于LFXT1的有效电容。001Pf016Pf1010Pf1112.5PfXT2OF1位XT2振荡器失效0不存在失效条件1存在失
6、效条件LFXT1OF0位LFXT1振荡器失效不存在失效条件存在失效条件中断使能寄存器1-IE17-2位这些位被其它模块所用。参见仪器特别说明书。OFIE1位振荡器失效中断使能。该位使OFIFG中断使能。由于IE1的其它位用于其它模块,因此采用BIS.B或BIC.B指令来设置或清零该位比用MOV.B或CLR.B更合适。0禁止中断1使能中断0位该位可用于其它模块。参见仪器特别说明书。中断标志寄存器1—IFG17-2位这些位被其它模块所用。参见仪器特别说明书。OFIFG1位振荡器失效中断标志。由于IFG1的其它位用于其它模块
7、,因此采用BIS.B或BIC.B指令来设置或清零该位比用MOV.B或CLR.B更合适。0没有未被响应的中断1有未被响应的中断0位该位可用于其它模块。参见仪器特别说明书。例1设MCLK=XT2,SMCLK=DCOCLK,将MCLK由P5.4输出#includevoidmain(void){unsignedinti;WDTCTL=WDTPW+WDTHOLD;//停止WDTP5DIR
8、=0x10; //P5.4输出P5SEL
9、=0x10;//P5.4为外围模块用作MCLK信号输出BCSCT
10、L1&=~XT2OFF;//使XT2有效,XT2上电时默认是关闭的do{ IFG1&=~OFIFG; //清除振荡器失效标志 For(i=0xFF;i>0;i=--);//延时,稳定时间 }while((IFG1&OFIFG)!=0);//如果振荡器失效标志存在BCSCTL2
11、=SELM1; //MCLK=XT2fo
此文档下载收益归作者所有