protues模拟89C51的电路时,为什么在P0口加了上拉电阻后还是拉不高呢?

 我来答
yyh001123
推荐于2016-12-02 · TA获得超过1.4万个赞
知道大有可为答主
回答量:8341
采纳率:66%
帮助的人:6270万
展开全部
因为从P0口到地之间,只有一个D1,LED-RED,所以此时P0口的电压就是LED-RED的压降,所以不可能会被拉高为高电平

此时你即使让P0口输出为1,也不可能为高电平,否则LED-RED的压降就成为5V了。
所以对于这种情况,P0口的电平对于proteus来说就是不确定状态,既不是低电平,也不是高电平,所以仿真的时候,P0的电平指示应该是灰色的。
但此时LED是可能会被点亮的。

如果P0口输出为0,则P0口此时为低电平。

另外仿真和实际还是有些区别,比如LED的限流电阻,proteus中LED-RED默认是10mA,实际电路中没必要这么大,3mA左右就可以,还可以延长LED寿命。

对于单片机驱动LED最好采用灌电流方式,VCC--限流电阻--LED正端,LED负端--单片机口。

如果你是想要看单片机端口的高低电平变化,可以这么连接,单片机口--限流电阻--LED正端,LED负端--地。此时单片机口的高低电平就和你程序里设置一样了。VCC被限流电阻和LED共同承担了。

但如果不接限流电阻,就相当于你的电路里,把上拉电阻和电源同时去掉。此时如果单片机口输出为1,也就是高电平的时候,此时电压仅仅被施加在LED两端,情况和你现在一样,P0口的电平对于proteus来说就是不确定状态,既不是低电平,也不是高电平。
出钕Vf
2012-08-15 · TA获得超过1158个赞
知道小有建树答主
回答量:407
采纳率:100%
帮助的人:307万
展开全部
首先在这之前,你要确定单片机地脚和电源都上对。
确定很简单,就是把LED正极接电源+5V,负极串电阻接单片机IO,置0,灯亮,置1,灯灭。OK,单片机正常。
好了,如果都接对了,电路再改回上拉那么分析下,你上拉10K,典型的都5V单片机,则最大拉电流为0.5MA,有可能电平是有了,但拉电流不够,有些LED至少2MA以上的吧。 这时候把10K改成1K-300欧姆,这时候应该亮了,如果还有问题接着来追加
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
swpu500
2012-08-14
知道答主
回答量:15
采纳率:0%
帮助的人:11.6万
展开全部
你要给出具体电路图才好回答。
更多追问追答
追问

我现在用最简单的让LED亮,但是P0口拉不高。

具体出错在哪里呢?这个我经常遇到,但是不知道怎么解决。

追答
实时的画了下,电阻R1调小点,甚至R1不要。  或者 双击直流信号R1(1),看你的电压设置是多少,初始值默认是0的哦,现就这些了,要是不行再追问。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式