2179|2

2

帖子

1

TA的资源

一粒金砂(初级)

楼主
 

求助大神 MSP430f149 利用定时器A捕获周期 程序哪写错了 [复制链接]

#include
#include"1602.h"
#include"string.h"
#define uint unsigned int
#define uchar unsigned char
#define NUM 16
char table1[]="width(us)";
uint new_cap=0,old_cap=0;
char N1;
long diff[NUM];
char index=0;
long data;
uchar table[]={'0','1','2','3','4','5','6','7','8','9'};
//char led[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,
//0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
//char position[]={0x20,0x10,0x08,0x04,0x02,0x01};
char led_buf[]={0,0,0,0,0,0};
void data_to_buf(long data1)
{
  char i;
  for(i=0;i<6;i++)
  {
    led_buf[i]=data1%10;
    data1=data1/10;
  }
}

void main()
{
  int i,num;
  WDTCTL=WDTPW+WDTHOLD;
  init();
  //P4DIR=0xff;
  //P5DIR=0xff;
  P1SEL|=0x02;
  TACTL=TASSEL_2+MC_2+TAIE;
  BCSCTL2|=SELS;
  BCSCTL2=DIVS0+DIVS1;
  TACCTL0=CM_1+CCIS_0+SCS+CAP+CCIE;
  //TACCR0=20000;
  _EINT();
  write_com(0x80);
  for(num=0;num<9;num++)
  {
    write_data(table1[num]);
  }

  while(1){
    if(index==0)
    {
      data=0;
      for(i=1;i       {
        data+=diff[i];

      }
      data=data/15;
      //write_com(0x01);
    }
    data_to_buf(data);
    //isp();
    write_com(0x80+0x40);

    for(i=5;i>=0;i--)
    {
     write_data(table[led_buf[i]]);
    }
  }



}
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A0(void)
{

  new_cap=TACCR0;
  diff[index]=65536*N1+new_cap-old_cap;
  TACCTL0=CM_1+SCS+CAP+CCIE;
  index++;
  if(index==NUM)
  {
    index=0;
  }
  old_cap=new_cap;
  N1=0;

}
#pragma vector=TIMERA1_VECTOR
__interrupt void Timer_A1(void)
{
  switch(TAIV)
  {
  case 2:break;
  case 4:break;
  case 10:N1++;
  break;
  }
}


最新回复

这样确实看不出来~ 毕竟不是火眼金睛 给你一个解决问题的方法: 第一步.调试出来定时器A0的程序,你可以定时让LED指示 第二步.调试出来定时器A1的程序 第三步.把你的LCD显示调通 最后.整合起来   详情 回复 发表于 2016-7-12 09:33
 
点赞 关注

回复
举报

42

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
这样确实看不出来~ 毕竟不是火眼金睛

给你一个解决问题的方法:
第一步.调试出来定时器A0的程序,你可以定时让LED指示
第二步.调试出来定时器A1的程序
第三步.把你的LCD显示调通
最后.整合起来
 
个人签名物联网,智能家居产品开发   https://nicole088.taobao.com/
 

回复

2

帖子

1

TA的资源

一粒金砂(初级)

板凳
 
nicole088 发表于 2016-7-12 09:33
这样确实看不出来~ 毕竟不是火眼金睛

给你一个解决问题的方法:
第一步.调试出来定时器A0的程序,你可 ...

谢谢 我再看看
 
 
 

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

查找数据手册?

EEWorld Datasheet 技术支持

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

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

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