MSP430单片机的时钟信号小结.doc

上传人:sk****8 文档编号:3520341 上传时间:2019-06-01 格式:DOC 页数:2 大小:29.50KB
下载 相关 举报
MSP430单片机的时钟信号小结.doc_第1页
第1页 / 共2页
MSP430单片机的时钟信号小结.doc_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

1、MSP430 单片机的时钟信号小结时钟源有 LFXT1(低频或高频),XT2 (高频),DCO(数控)。时钟信号有 ACLK(辅助时钟 ),SMCLK(子系统时钟),MCLK(系统时钟)。ACLK 由 LFXT1 驱动;SMCLK 可由 XT2,DCO 之一驱动;MCLK 可由 LFXT1,XT2,DCO 之一驱动;MSP430F449 复位后,MCLK 和 SMCLK 的驱动源为 DCO,SMCLK=MCLK=32*ACLK=32*32768=1048576Hz。fDCOCLK = D x (N + 1) x fACLK。N 的设置为 SCFQCTL = N(N 取值 1127);D 的设置

2、为 SCFI0 = D(D 取值 FLLD_1,FLLD_2,FLLD_4,FLLD_8,即 D=1,2,4,8),默认值 D 取 2;还要设置 FLL_CTL0 = DCOPLUS,D 才会生效。在寄存器 FLL_CTL1 里设置 SMCLK,MCLK 的时钟驱动源。程序清单 MSP430 的另外一个特点是用 C 语言编写程序简单,而且效率较高。本例就采用 C 语言编写了程序。清单如下: i nclude i nclude int SampleTimes=0; /*定义正弦表,并用 32 个抽样值初始化正弦表,不要用“0“抽样*/ int SinTable=255,254,246,234,2

3、19,199,177,153,128,103,79,57,37,22,10,2, 1,2,10,22,37,57,79,103,128,153,177,199,219,234,246,255; void main(void) int i; WDTCTL = WDTPW +WDTHOLD; / 禁止看门狗定时器 /*初始化端口*/ P2DIR |= 0x0C; / P2.2 和 P2.3 为输出 P2SEL |= 0x0C; / P2.2 和 P2.3 分别为 TB1 和 TB2 /*设置系统时钟*/ FLL_CTL0 = XCAP18PF; / 设置 XTAL1 的负载电容 SCFQCTL =

4、 50-1; / 1.6384MHz/32768Hz = 50,fDCO=MCLK=1.6384MHz for (i = 50000; i; i-); / 晶振初始化延时 /*设置 Timer_B*/ TBCTL = TBSSEL1 + TBCLR; / 选择 SMCLK 为时钟,定时器清除 TBCTL|=MC_1+CNTL_0+TBCLGRP_0; /选择 up,16 位模式 TBCCTL0=CCIE; /将 CCR0 设为比较模式,中断允许 TBCCR0=256-1; /PWM 的周期为 256,也就是 DAC 为 8bit TBCCTL1=OUTMOD_7+CLLD_1; /将 CCRx

5、 设为比较模式,中断禁止 TBCCTL2=OUTMOD_7+CLLD_1; /选择输出模式 7,当 TBR 计数到 0 时 CCRx 数据加载到TBCTLx TBCCR1=SinTableSampleTimes; /将正弦表加载到 CCR1 TBCCR2=128; /PWM 的占空比为 50%,产生 0.5VCC 的直流电平 _EINT(); /中断允许 for (;) _BIS_SR(LPM0_bits); /CUP 进入低功耗模式 _NOP(); /调用中断函数 interrupt TIMERB0_VECTOR void Timer_B(void) SampleTimes=(SampleTimes+1)%32; TBCCR1=SinTableSampleTimes; /将新的抽样值装入 CCR1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 实用文档资料库 > 策划方案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。