智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1508|回复: 2
打印 上一主题 下一主题

用TC7口做的频率和占空比检测,谁能帮我看看?

[复制链接]

4

主题

8

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
201
威望
136
贡献
39
兑换币
0
注册时间
2012-5-7
在线时间
13 小时
毕业学校
安徽建筑工业学院
跳转到指定楼层
1#
发表于 2012-5-15 15:17:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
__interrupt void TXTimer_Interrupt(void)   //PIT中断10ms
{
  int i;
  static int ledTime = 0;
  
  PITTF = 1;  
  
   
  if (ledTime++ > 10)
  {                              
    ledTime = 0;
    write_595(vLED);      //数码管显示(100ms刷新一次)
      TIE=0xC0;           //开捕捉中断(100ms中断一次)  
  }
  
voltage_feedback();      //模拟量输出(10ms输出一次)
                          
}

__interrupt void HL_TC7Interrupt(void)
{
  static byte i=0;
  i++;
  if(i==1){
   first=TC7;
   TCTL3_EDG7B=1;
   TCTL3_EDG7A=0;   //仅捕捉下降沿
  }
  
  else if(i==2){
   second=TC7;
   TCTL3_EDG7B=0;
   TCTL3_EDG7A=1;   //仅捕捉上升沿  
  }
  
  else if(i==3)
  {
   i=0;
   third=TC7;
   TCTL3_EDG7B=0;
   TCTL3_EDG7A=1;   //仅捕捉上升沿   
      
  temp1=third-first;
  temp2=second-first;
  fre=250000/temp1;         //范围:3.81~250000hz
  dty=temp2/temp1;
  TIE=0x00;             //关捕捉中断
  }
}  

4

主题

8

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
201
威望
136
贡献
39
兑换币
0
注册时间
2012-5-7
在线时间
13 小时
毕业学校
安徽建筑工业学院
2#
 楼主| 发表于 2012-5-15 16:29:27 | 只看该作者
为什么一进中断就程序就死啊?
回复 支持 反对

使用道具 举报

4

主题

8

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
201
威望
136
贡献
39
兑换币
0
注册时间
2012-5-7
在线时间
13 小时
毕业学校
安徽建筑工业学院
3#
 楼主| 发表于 2012-5-15 22:10:03 | 只看该作者
我的意思是在PIT中断里面每100ms开一次输入捕捉,连续3次测量后算出频率和占空比,再关掉中断,就是不知到底什么问题?
回复 支持 反对

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|亿加合和智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-5-18 14:42 , Processed in 0.133297 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表