由于单片机自带定时器,不需要额外的硬件资源!
可以将“读取数据”看做是一个任务。采用设置定时器每个5ms的方式运行该任务即可(如何设置这个应该很容易查到)
需要注意的是:
你指的这个任务“读取数据”需要运行多长时间是你需要关注的。如果远小于5ms定时周期,那么可以;如果不是,那么上边这个定时检查的方式就有问题,你可以保证一次,但不能保证每次都按时读取。这是你需要将你“读取数据”分解完成。
总之,定时简单,但是设计任务是需要你更认真考虑的。
用定时器0或者定时器1,定时5ms,每到5ms产生一次中断,然后运行接受数据程序。定时器0用循环20次定时5ms,HL0,TH0的初始值为06H,每次定时250us。20次刚好5ms。
你的问题让人有点难以回答 定时读取数据对于51可以说只是程序的问题了 可以用定时器中断实现 中断函数中就是读取数据的操作。
至于电路图嘛 不知道该怎么画给你 因为不知道你要读的是什么东西的数据 数据传输方式都不知道你用哪种 不好画 只能说你用单片机搭建最小系统 然后挂接外部数据模块上去
如果要再精确一点就要算上程序运行时用的时间了