找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1562|回复: 7
收起左侧

STC15单片机驱动64*32点阵板不亮

[复制链接]
ID:59018 发表于 2021-1-26 22:17 | 显示全部楼层 |阅读模式
驱动一块64*32点阵板,大屏上拆下来的那种,写个测试程序,仅点亮第一行,用的是STC15单片机,屏幕无法点亮,大神帮看下程序哪里不对。
#include "STC15.H"

sbit sk = P2^6;
sbit lt = P2^7;
sbit g1 = P4^5;
sbit led_A  = P0^0;
sbit led_B  = P0^1;
sbit led_C  = P0^2;
sbit led_D  = P0^3;
unsigned char i,j;
void main()
{
    P0M0=0;
    P0M1=0;
    P2M0=0;
    P2M1=0;
    P4M0=0;
    P4M1=0;

    while(1)
    {

            P0 = 0;                   //只显示第一行
            for(j=0;j<64;j++)
            {
                g1 = 1;              //第一行全亮
                sk = 0;
                sk = 1;             //上升沿移位
            }
            lt = 0;
            lt = 1;                //上升沿锁存

    }
}

回复

使用道具 举报

ID:390416 发表于 2021-1-27 08:29 | 显示全部楼层
这个是P10单元板 你可以参考一下 http://www.51hei.com/bbs/dpj-201948-1.html
回复

使用道具 举报

ID:584814 发表于 2021-1-27 08:48 | 显示全部楼层
只要把电路改一下就可以了
回复

使用道具 举报

ID:752974 发表于 2021-1-27 09:11 | 显示全部楼层
单片机程序和硬件平台是紧密相联系的,应先说明硬件连接方式,点阵LED是要行和列扫描驱动的。你的代码在循环中只做了一个动作,没有任何变化。其它行如何能亮。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:752974 发表于 2021-1-27 10:07 | 显示全部楼层
点阵LED驱动时需要行列进行,扫描驱动。你的代码中64个循环只是执行了一个操作,所以只能有一个结果。
回复

使用道具 举报

ID:288629 发表于 2021-1-27 14:17 | 显示全部楼层
程序不对吧,第一行全亮这语句执行得太快了,你看不到结果的。
回复

使用道具 举报

ID:59018 发表于 2021-1-28 18:16 来自手机 | 显示全部楼层
munuc_w 发表于 2021-1-27 10:07
点阵LED驱动时需要行列进行,扫描驱动。你的代码中64个循环只是执行了一个操作,所以只能有一个结果。

P0=0,说明行选在P0端口,全0说明只选第一行
回复

使用道具 举报

ID:59018 发表于 2021-1-28 18:20 来自手机 | 显示全部楼层
wjcxy3166 发表于 2021-1-27 14:17
程序不对吧,第一行全亮这语句执行得太快了,你看不到结果的。

g1=1就是移64个1进去啊,不用锁存之后=0吧?
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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