智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1423|回复: 0
打印 上一主题 下一主题

mc9s12xs128 帮助

[复制链接]

5

主题

8

帖子

0

精华

注册会员

Rank: 2

积分
184
威望
134
贡献
34
兑换币
0
注册时间
2012-4-14
在线时间
8 小时
跳转到指定楼层
1#
发表于 2012-6-29 10:35:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
PWM  P0口 发出频率250hz
采用周期中断PIT 0.5ms ,计数IC0口的脉冲,然后求速度
但是调试不出速度,求帮助

#include <hidef.h>      /* common defines and macros */
#include "derivative.h"      /* derivative-specific definitions */
#include "w_speed.h"

#define  chishu  40  
#define  radius  262    //mm
#define  dt      500     //ms
int iPulesNum=0;
int temp=0;
int w_speed0=0;
void main(void) {
  /* put your own code here */

PWM4ms_Init();
CAP0_Init();
PIT0_Init();
EnableInterrupts;


  for(;;) {
  
  w_speed0=(temp*3*radius)/(dt*chishu);
  
    _FEED_COP(); /* feeds the dog */
  } /* loop forever */
  /* please make sure that you never leave main */
}
#pragma CODE_SEG __NEAR_SEG NON_BANKED
void interrupt 66 PIT0_ISR(void)
{

   temp= iPulesNum;
  
//  w_speed0=(temp*3*radius)/(dt*chishu);
   
   iPulesNum=0;
   PITTF_PTF0=1; //clear PIT ch 0 time-out flag
}
#pragma CODE_SEG __NEAR_SEG NON_BANKED
void  interrupt 8 capture0_ISR(void)
{
   TFLG1_C0F = 1;
   iPulesNum++;
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-9-22 03:32 , Processed in 0.159690 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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