找回密码
 立即注册

QQ登录

只需一步,快速开始

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

8*8点阵的驱动代码

[复制链接]
跳转到指定楼层
楼主
ID:687726 发表于 2021-11-29 21:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
8*8单色点阵,可以直接用。需要修改显示可以自己取模。
源码:
#include<reg51.h>

sbit SRCLK=P3^6;
sbit RCLK=P3^5;
sbit SER=P3^4;

unsigned char code TAB[8]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};

unsigned char code han[4][8]=
{
        0x30,0x78,0x7C,0x3E,0x7C,0x78,0x30,0x00,
        0x00,0xff,0xd3,0xd3,0xff,0xd7,0x85,0xff,
        0x22,0xfc,0x24,0x3e,0x38,0x28,0x28,0x38,
        0x00,0x52,0x2c,0x3e,0x2a,0xfe,0x2e,0x3e,
};

void delay(unsigned int i)
{
        unsigned int k,l;
        for(k=0;k<i;k++)
        {
                for(l=0;l<5;l++);
        }
}

void duan(unsigned char dat)
{
        unsigned char a;
        SRCLK=0;
        RCLK=0;
        for(a=0;a<8;a++)
        {
                SER=dat>>7;
                dat<<=1;
                SRCLK=1;
                delay(3);
                SRCLK=0;
        }
        RCLK=1;
        delay(3);
        RCLK=0;
}

void main()
{
        unsigned char h,j;
        unsigned int i;
        while(1)
        {
                for(i=0;i<50;i++)
                {
                        for(h=0;h<8;h++)
                        {
                                duan(0x00);
                                P0=TAB[h];
                                duan(han[j][h]);
                                delay(1);
                        }
                }
                j++;
                if(j==4)
                {
                        j=0;
                }
        }
}

供大家学习参考,多多指点。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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