数字输入信号都是12V的,并且必须与5V微控制器接口。为此,光电耦合器,用于从5V系统12V信号分离。
1K的输入电阻限制输入电流的光电耦合器在10ma。
由于空间的限制,没有空间可在PC板上5V的上拉电阻。微控制器的设置使输入引脚的弱上拉。
目前在无信号输入(低)的光电耦合器,没有电流流过光耦的LED。因此,光耦晶体管关闭。微控制器中的弱上拉会拉起来的收藏家几乎5V,而且会被视为逻辑高的微控制器。
带12V应用(高)的光电耦合器的输入,在10ma流过光耦的LED。因此,光耦晶体管将被打开。这将把收集到的几乎为0V,将被视为逻辑低的微控制器。
请注意,由微控制器看到输入倒比12V输入。
正常的代码读取输入引脚看起来如下:
布尔输入= //读出数字接口的值(inputpin);
正确的反转信号,使用下面的代码:
<strong>布尔输入=!//读出数字接口的值(inputpin)</strong>;//注意!在读前
现在,由微控制器看到输入对应的12V输入。
最后输入电路包括4个数字输入。每个输入终端连接到PC板上。