51单片机怎么检测不到外加电压的变化

我想用两组红外对射广电开关测速。有物体遮挡时,开关输出高电平,遮挡几乎输出为0.我按照一些网友的方法,将接受信号的I/O口置为0,然后进行检测,当有物体遮挡时,用万用表测得光电门输出5.6V。按理讲I/O口应该熄灭的。但怎么也观察不到Led的变化?
并且,当用万能表,测得时候本是高电位的输出端,变成了低电位。
求助!!

你初始化端口搞反了吧。应该是将接受信号的I/O口置为1,再读该端口的状态。在硬件上还应检查你的接法对不对。标准的光电开关的接法草图如下:

追问

您好,很感谢您的讲解。之前我是置为1的,但是没效果,后来换成了0.既然置为1,有低电平的话就会亮,那么我置为0的话,有高电平输出,他不就会从暗到亮吗?我就是么想的!

追答

你说的“会亮”,指的是什么会亮呢?你是把那个口设成读入得,不是输出的呀!例如你设的是P0.0口,你只需要一条MOV P0,20H指令,把P0口的状态读到20H寄存器,然后判断20H的数值就好了。

追问

我用的是C语言,会变学的不是很好。我是把Io口作为读入端的,用来检测外部是否有低电平。
还有一个问题,我感觉是不是我的两个电路共的接地端不一至造成的。因为我的单片机是电脑供电的,接地段是单片机的GND,红外光电开关时实验室的直流源供电,接地段是电源的负极,最后的电路相当于是将直流源的负极和单片机的GND相连,光电开光的输出和I/O口相连。这样有影响吗?回复

追答

共地是不影响的,不共地和电源的话,就是光电隔离的电路,这样会更好的。我估计你还是程序中的处理方式不对。C语言我不懂,所以帮不到你了。只能等懂C语言的高手来了。

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-05-04
用作输入的io口要置1,不是置0

51单片机怎么检测不到外加电压的变化
你初始化端口搞反了吧。应该是将接受信号的I\/O口置为1,再读该端口的状态。在硬件上还应检查你的接法对不对。标准的光电开关的接法草图如下:

51单片机输出电压随输入电压变化,如何实现
3、这样的功能也可以直接使用模拟电路来实现,说下思路:做一个1.7V的基准电压,通过一个减法器也就是基准电压-被测电压。减法器输出接增益为0.5的放大电路即可实现转换。4、对于你的信号不知道您需要用来做什么,考虑现实中的细节选取最好的方案。5、常在线,Hi我。祝您成功 ...

从51单片机输出到bl1616电压值有变化吗
造成这类错误的原因有两个:一个是元器件买来时就已坏了;另一个是由于安装错误,造成器件烧坏。可以采取检查元器件与设计要求的型号、规格和安装是否一致。在保证安装无误后,用替换方法排除错误。1.3排除电源故障 在通电前,一定要检查电源电压的幅值和极性,否则很容易造成集成块损坏。加电后检查各插...

51单片机下载程序出现的问题,求解呀。。。
【2】绝对不能分压R上和R下,得出目标值3.3V。实际情况是,“单片机及外围电路”这个动态负载Rx和分压电阻R下将会并联,分压后实际电压应该远低于目标值3.3V,且因为Rx变化,实际单片机工作电压不稳定。【3】简单方法是串联小电阻和3.3V稳压管In4728a或In746a,稳压管并联电容来做到。正确的方法应...

单片机系统硬件抗干扰的常用方法介绍
这些大功率的驱动电路集成到单片机内部无疑增加了噪声源。而跳变沿的软化技术可消除这方面的影响,办法是将一个大功率管做成若干个小管子的并联,再为每个管子输出端串上不同等效阻值的电阻。以降低di\/dt。 3.时钟监测电路、看门狗技术与低电压复位 监测系统时钟,当发现系统时钟停振时产生系统复位信号以恢复系统...

利用51单片机,4个数码管设计一个计时器,要求在数码管上显示的数据从0开...
这样就对应了单片机时钟产生的不同方式:若采用这个放大器,产生振荡即为内部方式;若采用外部振荡输入,即为外部方式。方案一、内部方式如果在51单片机的XTAL1和XTAL2引脚之间外接晶体谐振器,便会产生自激振荡,即可在内部产生与外加晶体同频率的振荡时钟。最常见的内部方式振荡图如图3.2所示。 图3.2 晶体振荡电路不同...

protues模拟89C51的电路时,为什么在P0口加了上拉电阻后还是拉不高...
如果你是想要看单片机端口的高低电平变化,可以这么连接,单片机口--限流电阻--LED正端,LED负端--地。此时单片机口的高低电平就和你程序里设置一样了。VCC被限流电阻和LED共同承担了。但如果不接限流电阻,就相当于你的电路里,把上拉电阻和电源同时去掉。此时如果单片机口输出为1,也就是高电平的时候...

突然给单片机的io脚发送高电平会怎样
--- 简单说吧,51单片机的io脚,首先是受到本机程序的控制。如果程序控制io脚输出高电平,就是进入了输入状态,io脚电平随着输入发生变化。如果程序控制io脚输出低电平,那就是输出低电平,io脚如果再外接另一个输出信号,就是错误的接法。两个输出会出现冲突,产生非0非1的逻辑混乱。

PIC单片机检测0~24V电压值:下图可以使用吗?稳压管有什么作用? SW.ON...
这个图还是有些毛病的,PIC单片机的AD可以检测 0-5V电压,那么,我们看一下,当你的SW.ON在0-24V变化时,AD0的电压应该是 0-6V,又因为并联了5.1V稳压管,所以,导致当SW.ON的电压在20.5V以上时,单片机无法正确的检测到.所以,如果以上电路,单片机只能检测到 0--20.5V,为了能让单片机检测到全程的 0...

PIC单片机复位问题。
而如果你希望检测到这个现象的发生,单片机可以知道并记录下来的话。有两种方法,一是把大电容换成小容值的,让单片机实实在在断电。二是可以用其他IO引脚来检测,用IO引脚的电平变化功能(但这必须是有多余的引脚,PIC12F508本身就是八引脚单片机,如果你的电路里吧所有的引脚都占用了,那没法检测了)...

相似回答