我在一个跟红外有关的计时器,我将红外传感器的out端随意接到51单片机的一个可用的引脚上,通上电源后,红外传感器灯亮,此时为低电平,即out=0;智能车通过遮挡住红外光,灯熄灭,out为高电平,即out=1,以此作为开启中断的信号,开始计时。很显然,这样的计时方式只可以凭借遮挡住一次红外光,计时器开始计时,再遮挡住一次,计时器结束计时。我现在想要达到的效果是,假设有两辆车先后通过红外光,第一辆车通过,计时开始,第二辆车通过,我要记录这个时间,等他们跑完,再次通过红外光时,将第一辆车通过的时间记录,第二辆车通过,计时器停止计时,这怎么做到?(程序怎么写啊?求大神指点)
这种情况你应该开启一个自转载的定时器,然后用查询的方法来实现计数,这要求你的相关程序足够精简且执行时间为常数,这样就可以实现多个时间记录。
上传了一些书籍资料,也许有你想要的:https://download.eeworld.com.cn/user/chunyang
而且我是用数码管显示,怎么做到,通过红外四次,可以显示四个时间?
不用关闭计时器,取两次信号的时间差用减法就行了.定时器溢出时向高位累加就行了.