关于定时/计数器的使用

calmhmg 2005-06-09 08:57:29
我最近遇到一个问题,就是我现在要写个程序,要用8031的T0和T1的端口来测试T0端每秒钟的脉冲数和T1端每秒钟的脉冲数,但8031单片机只有两个定时/计数器呀,怎么才能用这两个有限的定时/计数器来测每秒钟两个端口的脉冲数呢?
我想了一下,能不能用分时的方法来做这个呢?就是先用T0做定时器,用T1做计数器,先测出每秒T1端口的脉冲数,再在T0的中断服务程序里把T1和T0的工作方式对换,用T1做定时器,用T0做计数器测出T0端口每秒的脉冲数。
我现在没有东西来测试到底能不能在T0或T1的中断服务程序里面修改它们的工作方式。我想是可以的,不知道在实际中能不能这样实现呢?
...全文
83 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
calmhmg 2005-06-10
  • 打赏
  • 举报
回复
谢谢
Great_Bug 2005-06-09
  • 打赏
  • 举报
回复
可以的。
suyun9329 2005-06-09
  • 打赏
  • 举报
回复
每一个TIMER都有COMPARE和CAPTURE模式,可以通过指令来实现
hzoll 2005-06-09
  • 打赏
  • 举报
回复
只要时间允许完全可以的,我做过20ms一次切换的,测量两个信号的频率,0.5秒一次刷新,使用起来不错的。

27,382

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧