找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3600|回复: 13
打印 上一主题 下一主题
收起左侧

36个LED不同单片机IO口的驱动问题,想了一天了求指导

[复制链接]
跳转到指定楼层
楼主
ID:466499 发表于 2019-1-11 15:44 来自手机 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本人单片机小白,只会用玩同一个IO口4*4的矩阵。在一个IO口上可以用十六进制设置4个引脚高,4个引脚低,P1=0xF0;  12*3的36个灯怎么驱动,想了一天了跪求大佬

IMG_20190111_112752.jpg (981.41 KB, 下载次数: 20)

IMG_20190111_112752.jpg
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:435470 发表于 2019-1-11 16:05 | 只看该作者
P1=0xF0是全亮啊,你这36个LED也是要全亮和全灭吗?

全亮:P1&=0xf8;P2=0xff;P0|=0xff;
全灭:P1|=0xff;P2=0xff;P0|=0xff;

好久没搞51了,都不敢肯定对不对。。。
回复

使用道具 举报

板凳
ID:94031 发表于 2019-1-11 16:35 | 只看该作者
要L1头一个灯亮,p10低,p11与p12高,p20高,p21-p27以及p00-p03全低。
要L1第二个灯亮,p10低,p11与p12高,p21高,p20-p27以及p00-p03全低。



要L2头一个灯亮,p11低,p10与p12高,p20高,p21-p27以及p00-p03全低。



以此类推。
回复

使用道具 举报

地板
ID:212177 发表于 2019-1-11 16:49 | 只看该作者
相信P0和P2的数据你都会了,P1你可以这样:P1=10000000B 表示第一行,P1=01000000B表示第二行,P1=00100000B表示第三行
回复

使用道具 举报

5#
ID:123289 发表于 2019-1-11 16:49 | 只看该作者
如法炮制:6高6低。
回复

使用道具 举报

6#
ID:212177 发表于 2019-1-11 16:51 | 只看该作者
相信P0,P2的数据你都会了,P1可以这样表示:第一行P1=10000000B,第二行P1=01000000B,第三行P1=00100000B
回复

使用道具 举报

7#
ID:123289 发表于 2019-1-11 16:59 | 只看该作者
如果必须用8个IO来做可以这样:4*3*3。
3*3用6个IO可以做成9个驱动,这样的驱动做4组,这4四组用剩下的两IO做选通,刚好可以有4个状态的选通。不过,3*3之后,如何再被选通要下功夫了。需要增加其它器件,得不偿失。
所以几乎无人采用这种方式,但作为学习,你可以按照这个思路试试。
大多会采用6*6的方案。即用12个IO口。
回复

使用道具 举报

8#
ID:123289 发表于 2019-1-11 17:01 | 只看该作者
其实,这是个数学分解质因素的问题。
回复

使用道具 举报

9#
ID:330301 发表于 2019-1-11 17:03 | 只看该作者
可以考虑采用扫描方式控制,只要扫频大于20Hz,人眼基本就分辨不出来。
回复

使用道具 举报

10#
ID:213173 发表于 2019-1-11 17:59 | 只看该作者
本帖最后由 wulin 于 2019-1-12 08:00 编辑

最简单的方法就像操作数码管一样,设置unsigned int 数组控制行,设置unsigned char 数组控制列,把不同组的端口组合成一个unsigned int变量来操作。参看我以前的回坛友的帖子:“异组端口组成矩阵键盘的读写操作方法”。也可以按点阵LED方法驱动。
回复

使用道具 举报

11#
ID:432823 发表于 2019-1-12 13:39 | 只看该作者
根据你的电路用动态扫描方式,列提供数据,行扫描,频率在50*12Hz,每次单片机一个引脚上只有一个LED点亮,关键程序的写好,单片机引脚能承受电流的20MA,要加限流电阻。
回复

使用道具 举报

12#
ID:466499 发表于 2019-1-14 22:22 来自手机 | 只看该作者
wulin 发表于 2019-1-11 17:59
最简单的方法就像操作数码管一样,设置unsigned int 数组控制行,设置unsigned char 数组控制列,把不同组 ...

大佬牛逼,这么多方法,我还是觉得这种比较易实现多种功能组合
回复

使用道具 举报

13#
ID:149389 发表于 2019-1-18 15:36 | 只看该作者
动态扫描,Proteus仿真。



回复

使用道具 举报

14#
ID:466753 发表于 2019-1-19 15:45 | 只看该作者
两个P0总共可以驱动8*8=64个灯,方式原理与4*4一般
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表