单片机高电平输出4.9V,低电平输出3.6V左右,什么情况!?求教

2019-07-15 09:49发布

AT89C52RC芯片是用触摸模块在P1脚高电平输入3.6V,控制P0口LED亮灭,蓝而,唯独P1.0口和P0.0口特别,P1.0口由触摸模块输入3.6V至高电平,程序代码控制P0.0口由高电平转低电平(LED  5V共阳),P0.0口由4.9V降到3.6V左右(其他引脚降到2.8V),P0.0口LED不够亮,求解释!!!!
IMG_20170822_140334.jpg
U169XJA`RHFPG9X6)CJLNU2.png
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
15条回答
达菲奇
1楼-- · 2019-07-16 07:07
本帖最后由 达菲奇 于 2017-8-23 09:38 编辑
wulinwl 发表于 2017-8-23 07:21
你照片中明显可以看出来芯片是STC,怎么可能是AT89C52RC?虽然STC芯片是51核心,但在实际使用中还是有些许区别。PxM0、PxM1是I/O口模式寄存器,如果你的芯片是STC89C52RC,44个引脚,那么I/O口从P0~P4共有39个.你在程序中用STC官网头文件就不会报错了。如果仍用reg52.h头文件,只要声明一下I/O口模式寄存器地址也就不会报 ...

恩恩,对,是STC89C52RC,把代码加进去了,还是没效果呢,P1.0口3.6V输入,P0.0口高电平有4.9V,变至低电平还有3.8V,有10K的上拉电阻。P1.0口从低电平至高电平,P0.0口从高电平至低电平。。试了一下,改了程序,把输出换成了P2口,高电平5V,低电平可以有0.6V左右,就好了,这是什么情况?大神指教
IMG_20170823_084955.jpg
wulinwl
2楼-- · 2019-07-16 10:25
 精彩回答 2  元偷偷看……
达菲奇
3楼-- · 2019-07-16 15:38
wulinwl 发表于 2017-8-23 10:54
为了准确表示在程序中什么位置设置I/O口模式寄存器,while(1)这里表示主循环,花括号里内容省略为;

加代码进去,还是不行,怎么办
langzitianya
4楼-- · 2019-07-16 19:57
吧发光二极管拆下来看看电平怎么样,有可能是i的负载过大。你也可以测测这个io口的的电流,看看是不是很大啊!
再有你用的是stc的芯片,建议你去官方下载手册看看,吧io口设置为强推挽模式。
asusyt
5楼-- · 2019-07-16 23:09
wulinwl 发表于 2017-8-23 10:54
为了准确表示在程序中什么位置设置I/O口模式寄存器,while(1)这里表示主循环,花括号里内容省略为;

谢谢
达菲奇
6楼-- · 2019-07-17 04:01
wulinwl 发表于 2017-8-23 07:21
你照片中明显可以看出来芯片是STC,怎么可能是AT89C52RC?虽然STC芯片是51核心,但在实际使用中还是有些许区别。PxM0、PxM1是I/O口模式寄存器,如果你的芯片是STC89C52RC,44个引脚,那么I/O口从P0~P4共有39个.你在程序中用STC官网头文件就不会报错了。如果仍用reg52.h头文件,只要声明一下I/O口模式寄存器地址也就不会报 ...

看手册上说,P0口上电复位后是开漏输出,当P0管脚作IO口时,需要外加10K—4.7K的电阻,当P0口管教做为地址/数据复用线使用时,不用加外加电阻。
我把程序按你说的改,也没有反应呢。

一周热门 更多>