MSP430F5438学习笔记 定时器TA1 比较匹配CCR0

发布者:advancement3最新更新时间:2018-04-28 来源: eefocus关键字:MSP430F5438  定时器  CCR0 手机看文章 扫描二维码
随时随地手机看文章
  1. // 时钟默认情况  

  2. // FLL时钟      FLL选择 XT1  

  3. // 辅助时钟     ACLK选择 XT1          32768Hz  

  4. // 主系统时钟   MCLK选择 DCOCLKDIV    8000000Hz  

  5. // 子系统时钟   SMCLK选择 DCOCLKDIV   8000000Hz  

  6. // TA1选择ACLK,最大计数值为16384,中断频率为2HZ  

  7. // 在TIMER1_A0_VECTOR中翻转P4.0  

  8.   

  9. #include   

  10. #include   

  11. void clock_config(void);  

  12. void select_xt1(void);  

  13. void dco_config(void);  

  14.   

  15. int main(void)  

  16. {  

  17.     clock_config();                             // 初始化时钟  

  18.     P4DIR |= BIT0;                              // P4.0输出  

  19.   

  20.     TA1CCTL0 = CCIE;                            // 使能TA1CCR0,比较匹配中断  

  21.     TA1CCR0 = 16384;                            // 初始化最大值,发生比较匹配中断频率 32768/16384 = 2Hz  

  22.     TA1CTL = TASSEL_1 + MC_1 + TACLR;           // 选择ACLK,最大值为CCR0,清除计数值  

  23.   

  24.     _EINT();                                    // 初始化全局中断  

  25.   

  26.     while(1)  

  27.     {  

  28.         ;  

  29.     }  

  30. }  

  31.   

  32. void clock_config(void)  

  33. {  

  34.     WDTCTL = WDTPW + WDTHOLD;                   // 停止看门狗  

  35.     select_xt1();                               // 选择XT1  

  36.     dco_config();                               // ACLK = XT1 = 32.768K  

  37.                                                 // MCLK = SMCLK = 8000K  

  38. }  

  39.   

  40. void select_xt1(void)  

  41. {  

  42.     // 启动XT1  

  43.     P7SEL |= 0x03;                              // P7.0 P7.1 外设功能  

  44.     UCSCTL6 &= ~(XT1OFF);                       // XT1打开  

  45.     UCSCTL6 |= XCAP_3;                          // 内部电容  

  46.     do  

  47.     {  

  48.         UCSCTL7 &= ~XT1LFOFFG;                  // 清楚XT1错误标记  

  49.     }while (UCSCTL7&XT1LFOFFG);                 // 检测XT1错误标记  

  50. }  

  51.   

  52. void dco_config(void)  

  53. {  

  54.     __bis_SR_register(SCG0);                    // 禁止FLL功能  

  55.     UCSCTL0 = 0x0000;                           // Set lowest possible DCOx, MODx  

  56.     UCSCTL1 = DCORSEL_5;                        // DCO最大频率为16MHz  

  57.     UCSCTL2 = FLLD_1 + 243;                     // 设置DCO频率为8MHz  

  58.                                                 // MCLK = SMCLK= Fdcoclkdiv = (N+1)X(Ffllrefclk/n)  

  59.                                                 // N为唯一需要计算的值  

  60.                                                 // Ffllrefclk FLL参考时钟,默认为XT1  

  61.                                                 // n取默认值,此时为1  

  62.                                                 // (243 + 1) * 32768 = 8MHz  

  63.     __bic_SR_register(SCG0);                    // 使能FLL功能  

  64.   

  65.     // 必要延时  

  66.     __delay_cycles(250000);  

  67.   

  68.     // 清楚错误标志位  

  69.     do  

  70.     {  

  71.         UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG + XT1HFOFFG + DCOFFG);  

  72.                                                 // 清除所有振荡器错误标志位  

  73.         SFRIFG1 &= ~OFIFG;                      // 清除振荡器错误  

  74.     }while (SFRIFG1&OFIFG);                     // 等待清楚完成  

  75. }  

  76.   

  77. #pragma vector=TIMER1_A0_VECTOR  

  78. __interrupt void TIMER1_A0_ISR(void)  

  79. {  

  80.     P4OUT ^= BIT0;  


关键字:MSP430F5438  定时器  CCR0 引用地址:MSP430F5438学习笔记 定时器TA1 比较匹配CCR0

上一篇:I2C操作笔记——以 AT24C04为例
下一篇:MSP430F5438A 指令周期 和 时钟周期

推荐阅读最新更新时间:2024-03-16 16:00

stm32专题二十六:高级定时器介绍
高级定时器 STM32F103有 2 个高级定时器 TIM1 和 TIM8,高级定时器的功能主要有定时、输入捕获、输出比较、互补输出等。 高级定时器简介: 计数器16bit,上 / 下 / 两边 计数,TIM1和TIM8,还有一个重复计数器RCR,独有; 有4个GPIO,其中通道1 ~ 3还有互补输出GPIO; 时钟来自PCLK2,为72M,可实现1~65536分频; 高级定时器和通用定时器的引脚分布: 高级定时器结构框图(分成6个部分): 一、时钟源: 内部时钟(CK_INT); 外部时钟模式1:外部输入引脚; 外部时钟模式2:外部触发输入ETR; 内部触发输入(ITRx):使用一
[单片机]
stm32专题二十六:高级<font color='red'>定时器</font>介绍
MSP430F5438内部延时函数的用法
今天看示例程序中出现了__delay_cycles()这个函数,在查找msp430x54x.h这个头文件的时候,发现这个头文件中没有该函数的声明,原来这个函数已经在IAR这个编译器中集成,这里总结一下__delay_cycles();这个函数的具体用法 第一步,复制代码: #define CPU_F ((double)8000000) #define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0)) #define delay_ms(x) __delay_cycles((lo
[单片机]
ARM LPC2103定时器中断方式寄存器
定时器查询方式定时器初始化: 1、设置定时器分频数,为(x+1)分频 2、匹配通道X中断并复位TxTC 3、比较值(1S定时值) 4、启动并复位TxTC 如: T1PR = 99; // 设置定时器0分频为100分频,得110592Hz T1MCR = 0x03; // 匹配通道0匹配中断并复位T0TC T1MR0 = 110592/2; // 比较值(1S定时值) T1TCR = 0x03; // 启动并复位T0TC T1TCR = 0x01; 研究了好长一段时间,LPC210X的定时器,查
[单片机]
ARM9舵机程序详解
/***************************************************************************************************************************** 定时器特性总结如下。 ● 5 个16 位定时器可以工作在中断模式或DMA 模式。 ● 包括2 个8 位预分频器、2 个4 位分割器。 ● 输出波形的占空比可用编程控制(即进行脉宽调制)。 ● 具有自动重载模式或单次触发模式。 ● 具有死区发生器。 与定时器相关的寄存器有:TCFG0、TCFG1、TCON、TCMPBn、TCNTBn、TCNTOn 定时器的频率由PCLK分频而来,
[单片机]
STM32定时器触发ADC的时序话题
在STM32芯片的ADC应用中,我们往往会利用定时器来触发ADC的启动转换,而能够触发ADC转换的定时器事件往往有多个,有时我们可能很关注这些定时器事件在触发ADC时有哪些时序上的差别。下面以STM32G4芯片为例,来大致聊聊该话题。 这里选择TIM1来触发ADC。我们从手册或CubeMx配置界面不难看到可用来触发ADC的定时器事件可以是定时器TRGO信号和通道CC事件/信号,而TRGO可能来自定时器的使能动作、定时器的更新事件、通道输出比较事件、通道比较输出参考信号以及编码时钟。 这里先重点就Update事件、通道OCx信号和OCxREF信号作为TRGO来触发ADC,看看相应的触发时间点在哪里。 另外,作为ADC的外部触
[单片机]
STM32<font color='red'>定时器</font>触发ADC的时序话题
STM32用一个定时器输出多路不同频率及占空比的PWM(输出比较
我们使用STM32输出PWM时会使用定时器的PWM输出模式来进行生成,但是这样子生成PWM是有局限的,它只能生成四路频率相同的PWM,当你设定了TIMx_PSC(预分频寄存器)和TIMx_ARR(自动重装载寄存器),这时PWM的频率就被定下来了,为系统的时钟/TIMx_PSC+1/TIMx_ARR+1,你可以通过改变各个通道的CCR寄存器来改变占空比。但是如果我们想生成多路不同频率的PWM的话,使用这个方法只能使用多个定时器了,这样对于定时器资源较少的板子无疑是不可取的,在前几周准备蓝桥杯比赛的时候我发现了32定时器有一个输出比较的模式,可以生成多路不同频率及占空比的PWM。 配置代码如下: __IO u16 CCR1
[单片机]
xs128 双定时器PIT0和PIT1
/***************************************************************** ** 函数说明:xs128 双定时器PIT0和PIT1 ** 版 本:V1.00 ** 修 改:庞辉 芜湖联大飞思卡尔工作室 ** 修改日期:2011年09月19日 ** ** 说 明:PLL倍频到80Mhz,PB0口灯1s闪烁,PB1口灯2s闪烁 ** ** 版本更新:详见readme.txt **
[单片机]
基于51单片机的电子琴设计
0 引言 随着计算机在社会各领域的渗透,单片机的应用正在不断地走向深入,同时带动着工业、农业、商业、家电以及玩具的日新月异更新,极大地提高了电子电路及系统设计质量和效率。本设计是以主控芯片STC89C5l为中心器件,辅以小键盘、LCD显示和功放电路及扬声器等来设计电子琴系统。同时详细论述了该系统的设计过程及关键技术。 1 系统硬件组成 电子琴的控制电路分为单片机STC89C51、工作指示LED、LCD显示器、按键输入、喇叭接口等几部分。其硬件电路结构框图如图1所示。 1.1 单片机STC89C51简介 STC单片机是一款增强型5l单片机,完全兼容MCS-51。STC89C51可以代替AT89C51,而且功能更强
[单片机]
基于51单片机的电子琴设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved