51单片机p0加上拉电阻依然不能输出高电平
1个回答
展开全部
猜测原因如下:
1、注意程序不能结束,确保不运行到main函数的大括号处,如果程序结束,结束后的状态基本是不可预料的。
2、端口被击穿了,或者焊接不好,端口和地短路了。断开电源,先测一下端口对地是否短路先。
3、程序有误,没有正确的执行 P0 = 0xFF 这样的语句。P0是8个端口,必须赋值0xFF才是全部高电平。
4、端口配置不正确,被用作外设用途,那个外设刚好输出低电平。
实际单片机端口不需加上拉电阻,只要配置正确,用万用表就可测试出高电平。加上拉电阻只是提高驱动能力,对于一些需要较大驱动电流的场合才需要。
1、注意程序不能结束,确保不运行到main函数的大括号处,如果程序结束,结束后的状态基本是不可预料的。
2、端口被击穿了,或者焊接不好,端口和地短路了。断开电源,先测一下端口对地是否短路先。
3、程序有误,没有正确的执行 P0 = 0xFF 这样的语句。P0是8个端口,必须赋值0xFF才是全部高电平。
4、端口配置不正确,被用作外设用途,那个外设刚好输出低电平。
实际单片机端口不需加上拉电阻,只要配置正确,用万用表就可测试出高电平。加上拉电阻只是提高驱动能力,对于一些需要较大驱动电流的场合才需要。
追问
1、while(1)按道理到不了结束。
2、不赋值的时候测电压是5v左右,赋值1后只有0.98v
3、程序P0=0x0F,后4个脚电压为0后,前4个脚0.98v
4、51的P0端口不用配置用途。
追答
2、不赋值的时候测电压是5v左右,赋值1后只有0.98v
这个现象还真不好说,只能谈些思路了。可能单片机坏了,或者电源功率不够,比如赋值后,当端口0.98V时,测试单片机电源输入引脚和地引脚之间的电压,是否还保持5V。
我以前碰过一个情况,用面包板把几个单片机插在一起,通过面包板的槽作为供电总线,就是所有单片机按顺序接到一根电源线上,结果运行时各种异常,端口电压也是不足5V。后来发现,面包板的槽电阻太大,单片机功耗很高,相当于越靠后的单片机,其供电电路上就多串一个电阻,所以最后的几块单片机根本分不到5V电压。只要把单片机的供电各自独立的用一条线接到电源上,问题就解决了。
意法半导体(中国)投资有限公司
2023-06-12 广告
2023-06-12 广告
单片机复位电路原理通常包括以下几个主要步骤:1. 电平检测:单片机复位电路需要检测一个关键参数,即控制器的复位引脚是否处于高电平(2V)。如果复位引脚没有高电平,复位电路就会启动一个复位过程来清除单片机内部的错误状态并将其恢复到正常状态。2...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询