4956|12

70

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

怎么利用F155实现计数功能 [复制链接]

请教:将一个矩形脉冲序列送入单片机计算其脉冲数并根据脉冲数调节其增益。怎么实现呢?主要是计算脉冲数。谢谢

最新回复

试试将这个脉冲源用作TA或TB的时钟源(即TACLK或TBCLK)  详情 回复 发表于 2008-1-21 15:26
 
点赞 关注

回复
举报

82

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
高手给点思路也行啊 。。艾
 
 

回复

85

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
愁啊。也没个高人来指点一下
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

4
 
设置一全局变量 a
P1 或 P2 口中某一脚做输入检测,脉冲高电平触发中断,在中断中给变量 a++;
你可以用定时器A 每1ms至1s 的时间段中选择合适的中断时间,中断一次判断 变量 a 的值大小;
根据变量 a 值的大小 再通过改变DAC或数字电位器的数据改变增益;
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

5
 
我用的高速晶振是8M的。我先设置TA的CCR2=10000。但是脉冲来之后每个高电平都要触发中断啊。这个中断怎么写呢?(也就是a++放在哪啊)。然后这个脉冲序列计数完后再触发中断得到a的值。
总的中断这样设置行吗?
#pragma vector=TIMERA1_VECTOR
__interrupt void Gp_int(void)
{

switch(TAIV)
{
case 4:
GAIN=a; //暂时表示一下

default:
break;
}
 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

6
 
P1DIR &=~ BIT0;
P1IES |= BIT0;
P1IE |= BIT0;

#pragma vector=PORT1_VECTOR
__interrupt void Pout1 (void)
{
if(P1IFG&BIT0) // 如用P1。0 I/O口 检测脉冲
{
a++;
P1IFG &=~ BIT0;
}

}
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

7
 
用定时器做的话,也可以将定时器设置在捕获状态下,如上升沿捕获,当定时器捕获到上升沿时会产生一次中断,此时定时器会记录当前计数器的值到CCRX,您可以把这个值放到指定的变量里,两个次中断的记数差值就是你实际计数个数,这样你可以根据你计数个数调整增益,另外如果要计算时间的话只要将个数乘以定时器时钟就可以。
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

8
 
谢谢两位高人。
对于频率1M的脉冲中断响应应该是及时的吧?
 
 
 

回复

18

帖子

0

TA的资源

一粒金砂(初级)

9
 
还有每次中断为什么都要1ms到1s啊。小于这个不行吗?
 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

10
 
用捕获的方式就不用设置1mS~1S啦。你可以把8MHZ当TIMERA时钟,最小可以到1/8uS,另外由于1MHZ捕获信号与8MHZ比较接近,如果采用两次捕获计算一个脉冲宽度精度不高,可以多采几次,如100次求得平均,这样精度会高很多。
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

11
 
我就是计脉冲数。不是测宽度,这样用软件的方式中断响应及时吗?
用硬件计数怎么实现呢??
 
 
 

回复

55

帖子

0

TA的资源

一粒金砂(初级)

12
 
版主。再来指导一下撒。用硬件方法怎么实现呢
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

13
 
试试将这个脉冲源用作TA或TB的时钟源(即TACLK或TBCLK)
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
【干货上新】电源解决方案和技术第二趴 | DigiKey 应用探索站
当月好物、电源技术资源、特色活动、DigiKey在线实用工具,干货多多~

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

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

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

北京市海淀区中关村大街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
快速回复 返回顶部 返回列表