标题: stc51单片机管脚如何分时复用? [打印本页]

作者: 殇两盏    时间: 2021-8-18 08:07
标题: stc51单片机管脚如何分时复用?
我想数码管和lde点阵同时用( 都是P 0 口 ),可是试了一下不太行

如图1  P0控制数码管显示

                                              图1


如图2 P0控制点阵的段选

                                           图二


作者: sinside    时间: 2021-8-18 08:07
LED 和按键复用有好几种方式, 具体要给出你的电路才好判断.
我看你程序(我没有细看)里面LED显示有用到595, 不知道你是 LED的COM端和SEG端都通过595控制, 还是SEG通过595控制, COM通过IO控制的三极管来控制.

无论哪种, 都是象楼上说 的, 先把LED 关断, 然后再进行按键扫描.
例如: LED 更新内容后(显示了) 持续保持50ms(假设而已), 50ms 后, 关闭所有的LED. 然后开始扫描按键, 按键扫描后, 再进行LED 刷新, 如此重复.

要注意按键 一直 按住的时候, 硬件本身会干扰 LED显示, 因此需要加二极管保护.

总之, 楼上说的没错, 具体要看你的电路是怎么设计的.


作者: 殇两盏    时间: 2021-8-18 08:11
这是源码

mima lock.rar

56.86 KB, 下载次数: 4


作者: yzwzfyz    时间: 2021-8-18 14:56
理论上是可以的:
LED的显示不是时刻都在使用的,它有显示的间隙。
在间隙时间(即LED不显示的瞬间),是可以用于测试键入的。
作者: 殇两盏    时间: 2021-8-18 14:57
yzwzfyz 发表于 2021-8-18 14:56
理论上是可以的:
LED的显示不是时刻都在使用的,它有显示的间隙。
在间隙时间(即LED不显示的瞬间),是 ...

可以具体说一下吗
作者: 殇两盏    时间: 2021-8-18 14:58
yzwzfyz 发表于 2021-8-18 14:56
理论上是可以的:
LED的显示不是时刻都在使用的,它有显示的间隙。
在间隙时间(即LED不显示的瞬间),是 ...

可以具体说一下吗
作者: lkc8210    时间: 2021-8-18 17:34
要看你的硬体线路
如果LED是:5V--电阻--LED--P00这样接
中间没有开关元件
那就没办法与数码管共用P0
因为P0有信号时LED必亮
作者: 51hei团团    时间: 2021-8-18 22:36
这里有三个例子
http://www.51hei.com/bbs/dpj-204059-1.html
http://www.51hei.com/bbs/dpj-177069-1.html
http://www.51hei.com/bbs/dpj-20385-1.html




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1