永发信息网

单片机 计数器问题

答案:6  悬赏:80  手机版
解决时间 2021-01-16 05:06
  • 提问者网友:世勋超人
  • 2021-01-15 23:49
单片机 计数器问题
最佳答案
  • 五星知识达人网友:纵马山川剑自提
  • 2021-01-16 00:27
你把脉冲输入接到P3.4(或者P3.5)上吧,然后把定时器0(或者定时器1)改成计数模式,最多能计数65536个脉冲,不知道能不能满足你的要求,如果不能满足,那就中断之后记下中断次数,定时器清0重新计数,最后65536乘上中断次数就行了
定时器/计数器计数的时候不会占用CPU的时间,所以只要不溢出中断不会增加程序的运行时间,而且计数也准确啊
还有啊,看下你的AD是不是也可以接成中断的方式
全部回答
  • 1楼网友:行雁书
  • 2021-01-16 04:42
我是新手,是来看回答的!!
  • 2楼网友:杯酒困英雄
  • 2021-01-16 04:25
你用中断就好了
还有就是,如果你用的18B20测温的话,你就不能一直测了,过段时间采集一次吧
  • 3楼网友:大漠
  • 2021-01-16 03:07
外部计数最好用计数中断来做,要不很容易会漏掉脉冲的
  • 4楼网友:封刀令
  • 2021-01-16 02:38
采用中断,多任务查询,好好协调,不至于有59ms的。
--------------------
请问怎么读定时器0的数值?
使用传送指令即可。
但是,如果定时器0处于“计数中”,数值的准确读取,就比较困难。
  • 5楼网友:过活
  • 2021-01-16 01:47
两位楼上的说的很对,脉冲采集一定要用中断,否则会产生漏脉冲的情况;
另外补充一下,测温和显示不一定要做到实时,一般的做法是经过8次采样之后进行平均,然后再进行计算和送显,测温,AD和显示可以用一个定时器进行中断,然后每次中断进行处理,这个定时器可以设定10ms,50ms,这个时间根据你需要的采样时间来设定,在中断中设定一个标志量,定时器中断后标志置1,在主程序的循环中用if(flg==1){...}来处理相应程序,在处理最后将标志清零
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯