完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
#include"msp430x14x.h"
/**************************************************************************** * 名 称:ClkInit * 功 能:时钟系统初始化 MCLK为8MHz,SMCLK为1MHz * 入口参数:无 * 出口参数:无 ****************************************************************************/ void Init_Clk(void) { unsigned int i; WDTCTL = WDTPW+WDTHOLD; //停止看门狗 BCSCTL1 &= ~XT2OFF; //使TX2有效,TX2上电时默认为关闭的. do { IFG1 &= ~OFIFG; //清振荡器失效标志 for(i= 0xff; i>0; i--); //延时,待稳定. } while ((IFG1 & OFIFG)!=0); //若振荡器失效标志有效,一直等待 BCSCTL2 |= SELM_2+DIVM_3; //使MCLK选择XT2且MCLK=XT2/8=1MHZ BCSCTL2 |= SELS+DIVS_3; //使SMCLK选择XT2且SMCLK=XT2/8=1MHZ } void main(void) { WDTCTL = WDTPW+WDTHOLD; //停止看门狗 Init_Clk(); //初始化时钟 P1DIR|=0x0C; //P1.2,P1.3为模块功能输出,0000 1100,对应CCR1,CCR2 P1SEL|=0x0C; // 设P1.2,P1.3为模块功能TA1/2,0000 1100 默认为比较器工作方式 CCR0=20000; CCTL1=OUTMOD_7; //设CCR1输出单元为复位/置位模式 CCR1=500; //占空比384/512=75% CCTL2=OUTMOD_7; //设CCR2输出单元为复位/置位模式 CCR2=2500; //占空比128/512=25% TACTL=TASSEL1+MC_1; //定时器的时钟源选择为辅助时钟32.768kHz,增计数模式(如果是连续计数模式可以不?不可以), //从0开始计数到CCR0,重复,所以此处不需要反复设定初始值 //一旦设定好计数模式,计数就开始,不同于52单片机 _BIS_SR(LPM3_bits); //进入低功耗模式3,也可以写成:_EINT; LPM3; } |
|
相关推荐 |
|
只有小组成员才能发言,加入小组>>
3030个成员聚集在这个小组
加入小组2922 浏览 1 评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
3592 浏览 2 评论
请问怎么把下面51单片机的代码改成msp430 g2 pocket的代码,还有改下时间变成30秒
2341 浏览 1 评论
4800 浏览 1 评论
2573 浏览 1 评论
1323浏览 3评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
3594浏览 2评论
2923浏览 1评论
1506浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-27 17:18 , Processed in 1.322156 second(s), Total 78, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号