单片机如何实现多个同样的传感器同时工作?就是传感器的程序是一样的但是要多个传感器连在多个IO口上。

如题所述

单片机对多个传感器信号的读取是采用扫描式的方法,顺序而循环地读取各个传感器的数据。对读取的信号有单片机中设定的各个对应的回路进行独立运算,最后的结果也是采用扫描的方法,顺序而循环地送到各个输出点。单片机的各个输入/输出点可以是相互独立的每页可以是共用一个,这是检测信号传送的方式不同。如果是模拟量的信号,各输入/输出点必须相互独立;如果是载波传送,可以公用一个点,但要编制各传感器的地址信号,使单片机能认识这些传感器,在运算时可以有所区分。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-08-25
肯定要分时复用的,单片机都是单线程的,不能同时干几件事情,在时间差上解决,这也是很多不耗的CPU资源的硬件出现的原因。如果是多个红外,读信号数据就要一个个的读,读完第一个就读第二个,如果是超声波,对回波的处理也要一个来。本回答被网友采纳
第2个回答  2013-11-15
这取决与是什么类型的传感器,如果是总线类型的,或者是需要A/D转换的,绝对的同时访问是不存在的,常用的方式就是轮流查询各个传感器的状态,由于轮询的速度极快,从用户角度看仿佛是同时操作一样。
如果传感器输出的是开关量,则可以将他们连接到同一地址的IO上,访问时整体访问该IO口,处理程序整体处理,这样是绝对同时的。
第3个回答  2013-11-15
可以的,连续检测各个IO口的状态就可以了,当然最好是数字量,如果是模拟量的话,你只能选择有AD转换功能的单片机如STC12C5A60S2,有8路10位AD,可以同时接入8路传感器。本回答被网友采纳
第4个回答  2017-09-06
你好!这个要看你是用的什么传感器了,不同的传感器接法不一样;
比如 DS18B20就可以采用单线制接法,很方便,只是编程会麻烦一些;
你要接的传感器是什么?要接多少个?硬件、软件我,可,以,完,成
相似回答