打印

键盘控制十个led

[复制链接]
2028|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
沙发
867405479|  楼主 | 2012-9-21 00:10 | 只看该作者
K1-K5,5401A,5401B接到单片机的七个IO口,通过按键来控制10个led灯的亮灭

使用特权

评论回复
板凳
usbyt| | 2012-9-21 15:52 | 只看该作者
平时来控制LED,按键两次扫描时间尽量长点
   扫键时,用5401 关闭灯控,扫完后,恢复之前Io状态

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
867405479 + 1
地板
867405479|  楼主 | 2012-9-23 15:47 | 只看该作者
我要求按一次键,相应的灯亮,比如第一次按下S2键,LED5一直亮,第二次按下S2键,LED3,LED2亮,但是如果按键弹起,LED灯的左端将会是高电平,无论怎么控制5401,LED将熄灭。还有我不怎么明白那个电阻为什么与按键串联接入单片机IO口,我自己搭了个电路,如果按键上串联电阻后,接入单片机IO口,IO口将为高阻态,单片机是无法识别按键IO口是高电平还是低电平,请高手指点一下?

使用特权

评论回复
5
867405479|  楼主 | 2012-9-23 16:09 | 只看该作者
3楼的意思是不是平时没有按键时五个IO作为输出口用,同时对五个IO口进行 扫描,一旦有低电平出现,将IO口输入口,5401控制口作为输出口,确定那个按键按下,将按键口作为输出口,配合5401控制口,点亮或熄灭10个LED.只是好像这五个按键口,按键扫描时,是输入口,这就要求扫描时间要多于IO口作为输出,将LED点亮的时间,也就是说,LED灯并不是一直是亮的,亮的时侯作为输出,灭的时候作为输入,是这个意思吗?

使用特权

评论回复
6
867405479|  楼主 | 2012-9-23 19:03 | 只看该作者
问题解决了,的确与3楼讲的一样,不过有一点要注意,我用的是51单片机,由于IO口是准双向口,在IO口作为输出口,点亮LED后,要将IO口的电平拉为高电平,然后才能接着进行按键扫描,从新将IO口设为输出,谢谢3楼的高手

使用特权

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

本版积分规则

7

主题

52

帖子

0

粉丝