求助各位老师:
做实验需要,我现在有20对红外对射管用来监测小鼠的活动的(分成4组,每只小鼠用到5对红外对射管),工作时每对都会产生0或5V的数字信号,我将他们依次连接在51
单片机(晶振11.989120M)上的P0/P1/P2管脚上。
现在我想每50ms(采样率为20Hz)将这些IO口上的实际值依次采集,然后按照顺序通过串口发送给电脑,用串口助手来在收集采集到的数据。
这个单片机的程序该怎么写呢?由于自己是外行,尝试写了很久也没能搞定,这个是不是需要两个定时器才能完成,一个是来设置串口波特率,另一个用来定时50ms的定时采样,有点晕了。
先谢谢了!
楼主的定时器工作方式设置有误,TMOD=0x02是将定时器设为8位自动重装,而且定时器初值也设置有误,一次溢出最多能计时5ms左右,楼主却想直接设为50ms,需设置标志位计算多次中断,累计起来才能得到50ms.
一周热门 更多>