打印

4个口实现5个键和5个灯的方法

[复制链接]
5603|32
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
任尔风|  楼主 | 2008-8-27 14:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
雁舞白沙| | 2008-8-27 14:59 | 只看该作者

我的做法

四个IO--LED:

A:控制端---控制LED电源
B:高电平驱动01LED,低电平驱动02LED
C:高电平驱动03LED,低电平驱动04LED
D:高电平驱动05LED,低电平驱动06LED

四个IO--KEY:

A:控制端---选择电平
B:高电平01KEY,低电平02KEY
C:高电平03KEY,低电平04KEY
D:高电平05KEY,低电平06KEY

以上需要硬件配合!

使用特权

评论回复
板凳
任尔风|  楼主 | 2008-8-27 15:35 | 只看该作者

补充

回复2楼:想了半天还是不懂2楼的做法,恳求说的再具体点。

我再补充下我的问题:
        条件:只有4个IO口、VCC、GND--总共6根线
要实现的功能:控制5个按键、5个LED灯。灯的状态要求能全部关掉能同时亮多个灯。按键不需要检测多个键同时按下。

我最近在做一个产品,算来算去IO口就是不够。希望前辈们能帮个忙。

使用特权

评论回复
地板
任尔风|  楼主 | 2008-8-27 16:44 | 只看该作者

s

没人知道吗?比较急。盼解决方法。

使用特权

评论回复
5
zjh006| | 2008-8-27 16:47 | 只看该作者

看看这个

使用特权

评论回复
6
任尔风|  楼主 | 2008-8-27 17:04 | 只看该作者

s

谢谢5楼提供的这个思路。想法非常不错。非常感谢,就是不知道在扫描的时候LED灯会不会闪烁,微亮。

使用特权

评论回复
7
emailli| | 2008-8-27 17:15 | 只看该作者

你用个595扩展一下不知道是否可以?

如果可以的话,你要N个KEY,N个灯都没有问题

并且显示稳定的很。

使用特权

评论回复
8
lyjian| | 2008-8-27 18:12 | 只看该作者

楼上的电路IO很危险

要能驱动LED,IO应该都为强输出才行
如果P00输出高,P01输出低时,K1按下会怎么样

使用特权

评论回复
9
PowerAnts| | 2008-8-28 00:47 | 只看该作者

4个GPIO控制8个按键+8个LED

GPIO输出1,下面一个LED亮,输出0,上面一个LED亮,转INPUT检测两个按键(不可同时动作)

使用特权

评论回复
10
emailli| | 2008-8-28 08:59 | 只看该作者

8楼

你怎么知道会危险呢?

用595扩展 IO 用来动态扫描或者静态扫描按键 均不会有任何危险。

你不会设计一个可靠的电路来实现啊???

我可没有要你直接将 595的输出 加在 CPU的IO口上哦

先去看看 74HC595 的芯片资料吧

CPU有4个IO口,用3个来驱动 74HC595,剩下1个用来做按键扫描。

8LED+8KEY 一点问题都没有,如果想要更多都没有问题。

使用特权

评论回复
11
lyjian| | 2008-8-28 09:14 | 只看该作者

没说你的电路有危险,我是说5楼的

使用特权

评论回复
12
lyjian| | 2008-8-28 09:17 | 只看该作者

10楼的电路有问题

使用特权

评论回复
13
常来21ic| | 2008-8-28 11:24 | 只看该作者

10楼电路妙!

此电路似曾相识,我还以为用ad检测两个按键呢。

只看懂了检测下方的按键,上方的按键如何检测?对I/O口有什么要求么?具体如何操作?   希望能点拨下,^_^

使用特权

评论回复
14
soho| | 2008-8-28 11:32 | 只看该作者

按键不能干扰显示

LED输出用595,键输入是165,四个口正好够用。

使用特权

评论回复
15
dragon_hn| | 2008-8-28 13:05 | 只看该作者

同意15楼

其他方法都不能保证LED不受干扰.
当然用个便宜的单片机也行.便宜的单片机量大有BOND 1RMB以下的.

使用特权

评论回复
16
PowerAnts| | 2008-8-28 14:03 | 只看该作者

10楼电路

2.2V以上,GPIO辩别是高电平,1V以下是低电平。中间两个电阻的接入,可保证按建动作时,LED不乱亮。
10楼的图,俺漏画了一个元件,关系到可靠识别上下两个按键,谁来补上它?

使用特权

评论回复
17
lyjian| | 2008-8-28 17:37 | 只看该作者

不按按键的时候,IO同样会有数据读进来,要么是0要么是1,

而且,在输入时把IO偏置在中间电平也是一个非常傻的做法

使用特权

评论回复
18
PowerAnts| | 2008-8-28 17:47 | 只看该作者

动点脑子行不?

接个小电容如104,程序跑至需要读按键时,先输出一个脉冲(脉宽以电容充电到2.5V左右不致使LED发光)将电容电位置1或0,再掉过头去读...
不做软件,也要懂得指挥哈

使用特权

评论回复
19
lyjian| | 2008-8-28 18:27 | 只看该作者

不要光纸上谈兵好不好

你就不能实际测试一下行不行再说

使用特权

评论回复
20
PowerAnts| | 2008-8-28 18:40 | 只看该作者

出几两银子?

答个问题还是先实贱一番的话,我看坛子里不会有人答话了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

18

主题

34

帖子

1

粉丝