打印

LED点阵屏

[复制链接]
1284|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
JAWN|  楼主 | 2015-10-8 17:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
dirtwillfly| | 2015-10-8 17:27 | 只看该作者
串口通讯官网有例程的。控制led点阵屏的代码可以参考51单片机的,网上有很多

使用特权

评论回复
板凳
JAWN|  楼主 | 2015-10-8 18:54 | 只看该作者
dirtwillfly 发表于 2015-10-8 17:27
串口通讯官网有例程的。控制led点阵屏的代码可以参考51单片机的,网上有很多 ...

那LED点阵屏的控制器要配置什么参数函数?

使用特权

评论回复
地板
dirtwillfly| | 2015-10-8 19:23 | 只看该作者
JAWN 发表于 2015-10-8 18:54
那LED点阵屏的控制器要配置什么参数函数?

这个要根据你的硬件来写代码和函数

使用特权

评论回复
5
ningzhiying| | 2015-10-8 22:35 | 只看该作者
//这是我参照网上教程写的基于51单片机的MAX72198*8点阵模块程序,楼主可以参考一下(显示的图像是一个行走的人)
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int                       
sbit max7219_pindin=P0^0;
sbit max7219_pincs=P0^1;
sbit max7219_pinclk=P0^2;
uchar code disp[]={ 0x00,0x00,0x0C,0x44,0x3F,0x24,0x26,0x00,
                                        0x00,0x00,0x0C,0x44,0x3F,0x24,0x4C,0x00,
                                        0x00,0x00,0x0C,0x44,0x3F,0x64,0x0C,0x00,
                                        0x00,0x00,0x0C,0x44,0x3F,0x44,0x0C,0x00,
                                        0x00,0x00,0x0C,0x44,0x3F,0x64,0x0C,0x00,
                                        0x00,0x00,0x0C,0x44,0x3F,0x24,0x4C,0x00,
                                        0x00,0x00,0x0C,0x44,0x3F,0x24,0x26,0x00};

void delay(uint z)
{
        uint y,x;
        for(y=z;y>0;y--)
                for(x=114;x>0;x--);
}

void write_max7219_byte(uchar dat)
{
        uchar i;
        for(i=8;i>0;i--)
        {
                max7219_pinclk=0;
                max7219_pindin=dat&0x80;
                dat=dat<<1;
                max7219_pinclk=1;
        }
}

void write_max7219(uchar address,uchar dat)
{
        max7219_pincs=0;
        write_max7219_byte(address);
        write_max7219_byte(dat);
        max7219_pincs=1;
}

void max7219_init()
{
        write_max7219(0x09,0x00);
        write_max7219(0x0a,0x03);
        write_max7219(0x0b,0x07);
        write_max7219(0x0c,0x01);
        write_max7219(0x0f,0x00);
}

void main()
{
        uchar i,j=1;
        max7219_init();
        while(1)
        {
                        for(i=0;i<9;i++)
                        {
                                write_max7219(j,disp[i]);
                                j++;
                                if(j==9)
                                        j=0;
                        }
                        delay(1000);
                        for(i=8;i<17;i++)
                        {
                                write_max7219(j,disp[i]);
                                j++;
                                if(j==9)
                                        j=0;
                        }
                        delay(1000);
                        for(i=16;i<25;i++)
                        {
                                write_max7219(j,disp[i]);
                                j++;
                                if(j==9)
                                        j=0;
                        }
                        delay(1000);
                        for(i=24;i<33;i++)
                        {
                                write_max7219(j,disp[i]);
                                j++;
                                if(j==9)
                                        j=0;
                        }
                        delay(1000);
                        for(i=32;i<41;i++)
                        {
                                write_max7219(j,disp[i]);
                                j++;
                                if(j==9)
                                        j=0;
                        }
                        delay(1000);
                        for(i=40;i<49;i++)
                        {
                                write_max7219(j,disp[i]);
                                j++;
                                if(j==9)
                                        j=0;
                        }
                        delay(1000);
                        for(i=48;i<57;i++)
                        {
                                write_max7219(j,disp[i]);
                                j++;
                                if(j==9)
                                        j=0;
                        }                                               
        }
}

使用特权

评论回复
6
JAWN|  楼主 | 2015-10-9 10:30 | 只看该作者
ningzhiying 发表于 2015-10-8 22:35
//这是我参照网上教程写的基于51单片机的MAX72198*8点阵模块程序,楼主可以参考一下(显示的图像是一个行走 ...

硬件怎样接?

使用特权

评论回复
7
摸摸| | 2015-10-9 13:40 | 只看该作者

这个东西要参考你的硬件,找提供商要说明文件,谁知道你的是什么型号什么品牌.

使用特权

评论回复
8
ningzhiying| | 2015-10-9 16:32 | 只看该作者

我的MAX72198*8点阵模块上总共有5个引脚(VCC,GND,DIN,CS,CLK)DIN接单片机的P0^0口,CS接P0^1口,CIK接P0^2口,VCC和GND就不用说了吧,5V和地线

使用特权

评论回复
9
september7| | 2015-10-30 09:30 | 只看该作者
可以参考经典51的电路。

使用特权

评论回复
10
若相依| | 2015-10-31 14:38 | 只看该作者
找51的两个例程,过一遍,然后开始调试就好了。

使用特权

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

本版积分规则

38

主题

110

帖子

1

粉丝