51单片机IO端口操作的一个有趣现象

maker   2008-11-3 09:58 楼主
我想实现P1.1端口跟随P1.4端口同步输出,都是驱动LED,P1.4端口使用定时器定时翻转,主循环程序随时判断P1.4状态,同步驱动P1.1。  开始我是这样写的:
  看来没问题,在KEIL仿真运行也没问题,可是下载到89S52中,只见OUT闪烁,LED根本不动,奇怪??
  后来经过查阅资料和网络搜索,是由于准双向口的结构问题造成的!
  然后增加了一个FLAG标志位,才解决。
  所以,以后有类似的应用时大家编程时要注意喽!

回复评论 (5)

Re: [分享] 51单片机IO端口操作的一个有趣现象

低电平有效驱动发光二极管就不会有这现象了
点赞  2008-11-28 23:16

Re: [分享] 51单片机IO端口操作的一个有趣现象

我做过的没有出现过这种问题,可能是电平驱动不同吧
点赞  2008-11-29 20:16

4楼 cqr 

小弟刚刚接触研发,还没入门,您说的这个状况我似乎接触到过,当时我是用单片机的IO口驱动继电器,单片机上电后就让IO口输出高电平,希望继电器有动作,结果就是没有动作,必须先置低IO口后再输出高电平才能得到自己想要的效果,到现在我也不明白什么为什么。这个问题对我很重要,能否把汇编程序解释一下呢?为什么加个flag就解决问题了?谢谢!!

忘了说,我的继电器是通过8050三极管驱动的。而且线圈的放电二极管我也加上了,防止三极管误动作的大点儿的电阻我也加上了。而且我觉得这些都不加也不是IO口输出高电平继电器不动作的理由。

有高手吗?帮解释一下吧!谢谢了,呵呵

[ 本帖最后由 cqr 于 2008-12-7 19:37 编辑 ]
点赞  2008-12-4 23:12
学习了。。。。。。。。。。。。。。。受益匪浅
点赞  2008-12-8 08:32

Re: [分享] 51单片机IO端口操作的一个有趣现象

看的一本51的单片机的书上写的  必须先要置低之后才能读
点赞  2009-1-22 15:41
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复