用430记录电脉冲的次数,应该怎么写呢?

  • 蓝雨LOVE诗
  • LV0工程师
  • |      2015-09-28 14:22:20
  • 浏览量 2428
  • 回复:12

我的思路是这样的,给随便一个IO口接电路,电路时高低电平变化的,设k初值为0.每变换一次额高低电平,k加1.最后输出K的值.我的电路设计的高低电平变换最多只有6次.


这只是我的想法,最总怎么实现,想问问各位大神的意见,请教教我程序应该怎么写?,

  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:10
home2015 2015-10-10
首先得知道脉冲的频率是多少
0   回复
举报
发布
leo8086 2015-09-30

这个可以用定时器的捕获模式实现啊。参考下面的资料

style:normal;font-variant:normal;">当捕获/比较寄存器与定时器总线相连:可在满足捕获条件时,将 TAR 的值写入捕获寄存器;可在 TAR
的值与比较器值相等时,设置标志位。通过 TACCTLx 中的 CAP 选择模式,该模块既可用于捕获模式,也
可用于比较模式。用 CMx 选择捕获条件,可以禁止捕获,上升沿捕获,下降沿捕获或者上下沿都捕获。
可用 CCISx 选择捕获的输入信号源,输入信号可以来自外部引脚,也可来自内部信号,还可暂存在一个触
发器中由 SCCI 信号输出。
捕获模式
当 TACCTLx 中的 CAP=1,该模块工作在捕获模式,这时如果在选定的引脚上发生设定的脉冲触发沿
(上升沿,下降沿或任意跳变) ,则 TAR 中的值将写到 TACCRx 中。
每个捕获/比较寄存器都能被软件用于时间标记,可用于各种目的。例如,测量软件程序所用时间,测
量硬件事件间的时间,测量系统频率。

0   回复
举报
发布
约伊兹的贤狼 2015-09-30
那个if里的=换成==
0   回复
举报
发布
蓝雨LOVE诗 2015-09-29
能给我个例子看看吗?我不太理解.
0   回复
举报
发布
君子好“球” 2015-09-29
用个定时器,通过外部中断来检测脉冲上升沿的个数。
0   回复
举报
发布
630183258 2015-09-29
楼上说得有理。
0   回复
举报
发布
fjjjnk1234 2015-09-28
可以通过外部中断,这样在检测过程中还能处理其它事,如果还需要检测脉冲宽度的话,就需要用定时器的输入捕获了
0   回复
举报
发布
蓝雨LOVE诗 2015-09-28
要不要用计数器/定时器呢?可以直接统计吗?
0   回复
举报
发布
君子好“球” 2015-09-28
用个I/O口,直接统计上升沿的个数就行了。
0   回复
举报
发布
约伊兹的贤狼 2015-09-28
设置一个100ms的定时器,去检测那个IO口是否出现上升沿即可;如果你用的那个IO口可以接外部中断,直接用中断计数。如果你是初学者,只想试验下,主程序里while(1)循环直接检测就好。
0   回复
举报
发布
x
收藏成功!点击 我的收藏 查看收藏的全部帖子