首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

[讨论] 请教大家一个输入捕捉时间间隔测转速的问题?

[讨论] 请教大家一个输入捕捉时间间隔测转速的问题?

大家好.我这里想用s12dp256测发动机的转速,使用外部16MHz的晶振..用的是输入捕捉功能.想测量一下两个下降沿的时间间隔.我这里把A口与通道0相接,用A口发送高低电平的脉冲,当通道0捕捉到电平变化后进入中断,这个时候中断里的dic就是2次下降沿的时间间隔吧...关键点是::我想问一下.这个时间间隔长度具体到咱们的分秒上怎么算出来呢?..比如我测到dic=42那我怎么能知道A口脉冲下降沿的频率呢? 具体dic记一个数是多长时间呢? 问题比较多哈.谢谢大家了.希望版主能帮我说一下.

/*ECT应用举例2-使用输入捕捉功能对脉冲进行计数 2009年2月 */
/*本例利用输入捕捉0通道(PT0在管脚9)对外来方波信号进行捕捉,采用中断方式.
中断发生后,读取捕捉后的计数值,并用LED灯指示中断成功.
通道0设置为输入捕捉,采用双沿触发,IC0开中断,可以进入终端服务程序.通道0接受外来方波信号 */


#include <hidef.h> /* common defines and macros */
#include <mc9s12dp256.h> /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12dp256b"

unsigned char ic4,dic4,ic40;

void ic_init (void) //输入捕捉初始化函数
{
TSCR1=0x90; //主定时器使能
TSCR2=0x07; //分频因子为128
ICSYS=0x02; //IC缓冲使能
TIOS=0x00; //通道设置为输入捕捉
TCTL4=0x02; //采用下降沿触发
TIE=0x01; //通道0开中断
}

void delayms(int ms)
{
int ii,jj;
if (ms<1) ms=1;
for(ii=0;ii<ms;ii++)
for(jj=0;jj<1335;jj++);
}


void main(void)
{
EnableInterrupts;
ic_init();
DDRA=0xff; //设置PORTA的方向寄存器,为输出
PORTA=0x00; //PORTA的输出初始化为低电平
DDRB=0xff; //PORTB设置为LED灯的控制信号
PORTB=0xff;
delayms(2000); //LED灯全亮
for(;;)
{

PORTA=0x00; //循环中设置为高电平
delayms(100);

PORTA=0xff; //循环中设置为低电平,产生一个方波
delayms(100);

}

}

#pragma CODE_SEG NON_BANKED
void interrupt 8 ic0_int(void) //中断服务程序
{
TFLG1_C0F=1; //中断标志清除
ic4=TC0; //通过读TC0寄存器来相应中断,
dic4=ic4-ic40;
ic40=ic4; //得到脉冲宽度不需要考虑溢出
PORTB=0x55; //用LED灯来指示已经进入了中断
}

要测的东西已经出来了,就剩下物理计算转换成转速了。

正好我也正学16位的飞思卡尔的芯片呢,花了两个星期拜读了以下他们的英文资料,我们来探讨探讨吧!

你把分频因子设为128,也就是此定时器的时钟就是总线时钟除以128得到的。如果你没有使用PLL 的话,总线速率就是8MHz, 8M除以128是16分之一兆,倒数后再乘以42,应该就是一转所用的时间,1000000转每672秒,1488转每秒。我的妈神,你测的是什么东西啊,转那么快啊?我这里有一份英文资料,好好拜读吧,尤其是46页那个框图。

KoUjMTHl.rar (245.72 KB)

你要将定时器的周期算出来,乘以dic(也就是你说的间隔数),这个时间就是你要测的两个下降沿的时间了!

然后在根据发动机转一圈,会有多少个方波产生(这个主要跟发动机的飞轮齿盘的齿数有关系),进行转化,就可以得到发动机的转速了

补充下哈,2楼算出来的只是一个齿所用的时间,如果你是60-2的话,你的1488/60=200左右再除以分钟,才30转每分,楼主,我就是做发动机的,咱们可以交流

顶楼主 不是很清楚!
http://www.ruiyish.com  万艾可
http://www.zxgrow.com  卡王
http://www.gzkemei.com  基因育根
http://www.dfdzpcb.com  阴茎增大
http://www.jishiyaofang.com  超级P57
http://www.KYKYY.COM  充气仿真娃娃
http://www.jskmvchina.com  怎么样才能生儿子
http://www.cdwucheng.com  脚气的治疗方法
http://www.am688.com  阴茎短小
http://www.jxhaichuan.com  快高
http://www.chxtn.com  wifi 密码破解
返回列表