单片机如何控制矩阵中LED灯的亮灭。
请问,如果我想分别控制16个LED灯,让他们分别单独点亮,请问该如何控制这8跟引脚呢。(不需要代码,只需要思路)如果这个电路图无法实现,请问如何修改电路图,才可以单独点亮...
请问,如果我想分别控制16个LED灯,让他们分别单独点亮,请问该如何控制这8跟引脚呢。(不需要代码,只需要思路)
如果这个电路图无法实现,请问如何修改电路图,才可以单独点亮矩阵中的LED灯呢。 展开
如果这个电路图无法实现,请问如何修改电路图,才可以单独点亮矩阵中的LED灯呢。 展开
5个回答
展开全部
如果你的单片机端口有强的推挽输出能力,那就很好办了。假设端口是P1,LX3~0接P1.7~1.4,LY3~0接P1.3~1.0,那么电量D115就在P1输出00101011,你想电量哪个灯,就在LX3~0上选择对应的输出1,LY3~0上对应的输出0.
追问
但现在我碰到一个问题,比如,我想同时点亮D105,D114,D130,D132(没有规律,就是随机点亮一个或者几个LED灯),请问此时该如何操作呢。
追答
这就有点麻烦了啊……如果用上面的方法,电量D104和D114时会把D113和D106电量。
这样的话就需要动态显示的方法了,就像扫描键盘矩阵那样。一次只点亮一行(如LX0)上面需要电量的灯(D105),下一次点亮下一行(LX1)上面的(D114),这样一秒重复至少30次,这样每个灯看着是持续点亮的了。
展开全部
不妨假设你的接法是:LX0~LX3和LY0~LY3分别接的是P0口的P0^0~P0^7,那你想要D105点亮,其他不亮,就是把LX0置高电平,LX1~LX3置低电平,LY0置低电平,LY1~LY3置高电平,即对应11100001这个二进制编码,同理,每个灯都有一个这样的编码,你把编码保存在一个数组中LED_CODE[],那想要第 i 个灯亮就用P0=LED_CODE[i]就行。想要多个灯同时亮,把多个灯的编码或运算就行(LX和LY应该要分开处理)。
更多追问追答
追问
但现在我碰到一个问题,比如,我想同时点亮D105,D114,D130,D132(没有规律,就是随机点亮一个或者几个LED灯),请问此时该如何操作呢。
追答
我不是说了吗,要想点亮多个灯,把编码或运算。假设你要同时点亮D105,D114,D130,D132这几个灯,再假设这几个灯对应的编码分别为LED_CODE[1]~LED_CODE[4],可以这么做:
CODE = 11110000; //这个编码是全灭的编码
CODE的高4位 = CODE的高4位 & LED_CODE[1]的高4位,(高4位与运算)
CODE的低4位 = CODE的低4位 | LED_CODE[1]的低4位。(低4位或运算)
同理,对LED_CODE[2]~LED_CODE[4]也这么处理,最后得到的CODE就是同时点亮这4个灯的编码,P0=CODE就行。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
图给LED矩阵的点亮还是比较容易的:
1、按图给电路,每个LED的坐标为(LX(i),LY(j)),LX(i)为高电平,LY(j)为低电平时,交点(i,j)上的LED被点亮,所以……………………
2、例子:要点亮D30,需要LX2接高电平,LY1接地即可
3、理解以上两点,程序控制应该不难…………
1、按图给电路,每个LED的坐标为(LX(i),LY(j)),LX(i)为高电平,LY(j)为低电平时,交点(i,j)上的LED被点亮,所以……………………
2、例子:要点亮D30,需要LX2接高电平,LY1接地即可
3、理解以上两点,程序控制应该不难…………
追问
但现在我碰到一个问题,比如,我想同时点亮D105,D114,D130,D132(没有规律,就是随机点亮一个或者几个LED灯),请问此时该如何操作呢。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
LY3 LY2 LY1 LY0 LX3 LX2 LX1 LX0
1 1 1 0 0 0 0 1 D105 亮
1 1 1 0 0 0 1 0 D106 亮
1 1 0 1 0 0 0 1 D113 亮
0 0 0 0 1 1 1 1 全部 亮
按照 以上 方法 控制 其它 的 试试。
1 1 1 0 0 0 0 1 D105 亮
1 1 1 0 0 0 1 0 D106 亮
1 1 0 1 0 0 0 1 D113 亮
0 0 0 0 1 1 1 1 全部 亮
按照 以上 方法 控制 其它 的 试试。
追问
追问但现在我碰到一个问题,比如,我想同时点亮D105,D114,D130,D132(没有规律,就是随机点亮一个或者几个LED灯),请问此时该如何操作呢。
追答
比如
1 1 1 0 0 0 1 1 D105 D106 亮
当然有些组合 会使得 旁边 的 灯一起亮,
要满足任意组合,需要 用 扫描显示方法,参考 多个数码管 显示 方法,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
按照电路图,单独控制一个led可以,控制多个led同时点亮,电路设计有问题!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |