现在我的电路是将脉冲信号采集直接接在单片机的IO口上
对的这样就可以了不过你接的IO口不是随意接的,接在外部INT0或者INT1上面就可以了,同时配置对应计数器即可。
利用定时器的门控位GATE测量正脉冲宽度,脉冲由INT引脚输入,门控位GATE=1,定时计数器T的启动受到外部中断INT引脚的控制。当GATE=1时TR=1时,只有INT引脚为高电平时,T才被允许计数。利用GATE的这个功能可以测量INT引脚上正脉冲的宽度。
说明一下:关于TR、T、INT只是泛泛而谈,看你使用哪一个啦
最后说一下关于GATE,TMOD的第七位:
决定相应的外部中断是否起作用
GATE=0,由运行控制位TR启动定时器
GATE=1,由外部中断请求信号INT和TR的组合状态启动定时器。
OK了,程序建议自己编写,将结束时TL和TH中的值取出来在进一步处理OK啦。
如果程序有问题的话,Hi我,常在线
接单片机中断口,例如采用下降沿中断计数,在中断里累加就行了。
或者这个脉冲若是比较慢的话,单片机程序每次循环都查询下端口电平。
或者单片机如果有捕捉方式端口话,就采用计数器捕捉方式试试咯
对高低电平计时就可以了