51单片机io端口的输入对第二次输出有影响吗? 单片机不能启动的原因

4413℃ MARIA

51单片机io端口的输入对第二次输出有影响吗?单片机不能启动的原因

单片机的I/O端口的第二功能怎么使用

查阅你用的MCU的手册,上面有介绍关于IO口相应寄存器的描述,这类的在PDF里搜P3,一般都能搜到相应的寄存器,对比着寄存器来设置就OK,关键是要把手册看懂,看熟,也就是把芯片弄懂

将51单片机P3口既当做普通的I/O口使用 ,又使用第二功能是会不会相互影响??

一般而言,同一个端口要同时实现两种功能是不可能的。不过具体问题具体分析,有时候根据应用可以做到分时共用。你说的这种模式一定有,但一定是非常巧妙的,绝不是常规用法,不具备通用性。所以最好的办法还是进行扩展或使用多个端口。

具体到你的例子,共用无法实现。

又想了一下,有一种方法可能会实现:在对RAM写操作前保存LED状态,等完成后再恢复,这有个要求,就是RAM应有片选控制,总原则是不至于由于LED状态影响其它的外围设备,由于WR的负脉冲很短,对视觉的影响不大。如此可以实现。不过说实话,不规范,可能软件也比较麻烦,作为实验,你可以尝试一下,作为产品则不足取。

关于单片机IO口输入输出复用问题

首先电阻应该接电源正极,按键一端接地,但还不行,按键检测时 ,IO口先输出高电平,若有按键按下则检测到低电平,所以在你检测按键之前,LED已经处于亮态了,这和你检测到按键按下再亮是矛盾的

当按键不被按下时,IO口是高是低由程序决定的,复位时IO口黙认是作为输入用的,输出是高电平

但负载能力比较弱

将LED改为低电平驱动是可行的,平时IO时输出高平可作为输入,LED 不亮,按下按键后,单片机检测到低电平,可输出低电平,LED就一直亮了(也可由程序控制亮一段时间灭,以便再次进行检测)

51单片机I/O口输入输出问题

mov P1,1 将单元格01h中的数据送给P1

mov P1,#1 将数据0x01给P1