找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

这个8*16的led共阳点阵单片机程序是哪里错了,谢谢!

查看数: 1855 | 评论数: 5 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2021-5-6 15:02

正文摘要:

本帖最后由 javastory 于 2021-5-7 11:05 编辑 设计一个8*16的led共阳点阵,行用74ls164,列用74hc154,设计思想是行一次输出8位数据,列导通,然后这一列就亮,但是现在显示的效果是全亮,然后一列一列从左向右 ...

回复

ID:908996 发表于 2021-5-7 11:09
glinfei 发表于 2021-5-7 10:56
没看到图,估计列为阳极。我觉得你选的芯片跟你想法不同啊,按你的操作:一是,74ls164初始是全LOW,74h ...

图刚才刚发了,不知道为什么看不到,不过行是阳用164,列是阴用154.

至于说P2=0--15,这个我也是看了很多网上的例子,我考虑是0--15转成2进制后,用的是4位的编码,是0000--1111,影响的是P2^0--P2^3的值,后面的164接的P2^4--P2^7不影响,不知道这样理解是否对?
ID:844772 发表于 2021-5-7 10:56
没看到图,估计列为阳极。我觉得你选的芯片跟你想法不同啊,按你的操作:一是,74ls164初始是全LOW,74hc154初始全H,自然全亮了;二是,你每次操纵154一个脚L,所以逐列关,当然你没用BCD码,所以后来有点乱;三是, P2=colcount[col];  会影响164的clk啊。
ID:908996 发表于 2021-5-7 10:00
本帖最后由 javastory 于 2021-5-7 10:05 编辑
birdzhyli 发表于 2021-5-6 22:44
虽然没看出楼主的问题,但我想知道楼主为什么用
P2=colcount[col];   
而不是直接P2=col;

这段代码我试过P2=0x01,;P2++;和P2=col;故障现象一样,至于数据类型,你说的是对的,用uchar没有问题,我是在网上找了很多文章例子去看,这段代码也是别人用过的,直接复制过来了。
ID:889094 发表于 2021-5-6 22:44
虽然没看出楼主的问题,但我想知道楼主为什么用
P2=colcount[col];   
而不是直接P2=col;
col也只用到了16,定义个uchar也够了,没必要uint呀

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

Powered by 单片机教程网

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