1670|0

2015

帖子

0

TA的资源

纯净的硅(中级)

楼主
 

MSP430F149学习之路——捕获/比较模式 [复制链接]

1.捕获模式

 1 #include <msp430x14x.h>
 2 unsigned int last0=0,last1=0;
 3 unsigned int k=0,j=0;
 4 void mian(void)
 5 {
 6   WDTCTL = WDTPW + WDTHOLD;
 7   TACTL  = TACLR + TASSEL_2 + ID_3 + MC_3;
 8   
 9   TACCTL0 = CM_3 + CCIS_0 + SCS + CAP + CCIE;
10   TACCTL1 = CM_3 + CCIS_1 + SCS + CAP + CCIE;
11   
12   P1DIR = 0X00;
13   P1SEL = 0XFF;
14 
15   P3DIR = 0XFF;
16   P3OUT = 0XFF;
17   _EINT();
18   for(;;)
19   {
20     for(int i=0;i<10000;i++)
21       _NOP();
22     P3OUT ^= BIT0;       //产生捕获信号源
23   }
24 }
25 #pragma vector=TIMERA1_VECTOR
26 __interrupt void Timer_A(void)
27 {
28   switch(TAIV)
29   {
30   case 2:
31     P1OUT ^= BIT3;
32     j=CCR1 = last1;
33     last1  = CCR1;
34     break;
35   case 4:break;
36   case 10:P1OUT ^= BIT0;break; 
37   }
38 }
39 
40 #pragma vector=TIMERA1_VECTOR
41 __interrupt void Timer_cc(void)
42 {
43   if(SCCI0 == 0)
44   {
45     k = CCR0 - last0;
46     last0 = CCR0;
47   }
48 }
2.比较模式

 1 /***************************************
 2 功能:ACLK=32768 Hz,MCLK=SMCLK=DCOCLK=80kHz
 3       由捕获/比较模块0产生10Hz的方波,P6.0输出;
 4       由捕获/比较模块1产生20Hz的方波,P6.7输出。
 5 ***************************************/
 6 #include <msp430x14x.h>
 7 void  main(void)
 8 {
 9   WDTCTL = WDTPW + WDTHOLD;
10   TACTL |= TASSEL_2 + ID_3 + MC_2 + TACLR + TAIE;
11   
12   TACCTL0= CCIE;
13   TACCTL1= CCIE;
14   TACCR0 = 5000;
15   TACCR1 = 10000;
16   
17   P6DIR  = 0XFF;
18   P6OUT  = 0Xff;
19   _EINT();
20 }
21 
22 #pragma vector=TIMERA0_VECTOR
23 __interrupt void Timer_A(void)
24 {
25   P6OUT ^= BIT0;
26   TACCR0 = TACCR0 + 5000;
27 }
28 #pragma vector=TIMERA1_VECTOR
29 __interrupt void Timer_A1(void)
30 {
31   switch(TAIV)
32   {
33   case 2:
34     P6OUT ^= BIT7;
35     TACCR1 = TACCR1+10000;
36     break;
37   case 4:break;
38   case 10:P6OUT ^= BIT1;break;
39   }
40 }

 
点赞 关注

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表