我的思路是这样的,给随便一个IO口接电路,电路时高低电平变化的,设k初值为0.每变换一次额高低电平,k加1.最后输出K的值.我的电路设计的高低电平变换最多只有6次.
这只是我的想法,最总怎么实现,想问问各位大神的意见,请教教我程序应该怎么写?,
登录后可评论,请 登录或 注册
这个可以用定时器的捕获模式实现啊。参考下面的资料
style:normal;font-variant:normal;">当捕获/比较寄存器与定时器总线相连:可在满足捕获条件时,将 TAR 的值写入捕获寄存器;可在 TAR 的值与比较器值相等时,设置标志位。通过 TACCTLx 中的 CAP 选择模式,该模块既可用于捕获模式,也 可用于比较模式。用 CMx 选择捕获条件,可以禁止捕获,上升沿捕获,下降沿捕获或者上下沿都捕获。 可用 CCISx 选择捕获的输入信号源,输入信号可以来自外部引脚,也可来自内部信号,还可暂存在一个触 发器中由 SCCI 信号输出。 捕获模式 当 TACCTLx 中的 CAP=1,该模块工作在捕获模式,这时如果在选定的引脚上发生设定的脉冲触发沿 (上升沿,下降沿或任意跳变) ,则 TAR 中的值将写到 TACCRx 中。 每个捕获/比较寄存器都能被软件用于时间标记,可用于各种目的。例如,测量软件程序所用时间,测 量硬件事件间的时间,测量系统频率。
这个可以用定时器的捕获模式实现啊。参考下面的资料
style:normal;font-variant:normal;">当捕获/比较寄存器与定时器总线相连:可在满足捕获条件时,将 TAR 的值写入捕获寄存器;可在 TAR
的值与比较器值相等时,设置标志位。通过 TACCTLx 中的 CAP 选择模式,该模块既可用于捕获模式,也
可用于比较模式。用 CMx 选择捕获条件,可以禁止捕获,上升沿捕获,下降沿捕获或者上下沿都捕获。
可用 CCISx 选择捕获的输入信号源,输入信号可以来自外部引脚,也可来自内部信号,还可暂存在一个触
发器中由 SCCI 信号输出。
捕获模式
当 TACCTLx 中的 CAP=1,该模块工作在捕获模式,这时如果在选定的引脚上发生设定的脉冲触发沿
(上升沿,下降沿或任意跳变) ,则 TAR 中的值将写到 TACCRx 中。
每个捕获/比较寄存器都能被软件用于时间标记,可用于各种目的。例如,测量软件程序所用时间,测
量硬件事件间的时间,测量系统频率。