找回密码
 立即注册

QQ登录

只需一步,快速开始

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

16X16LED点阵移动显示

[复制链接]
跳转到指定楼层
楼主
ID:65621 发表于 2015-1-9 22:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <AT89X52.h>       //调用51单片机的头文件

//---------------------------------------

unsigned char code han1[]=
{                          //定义表格一定要使用code,这样会做到程序存储区中

/*--  文字:  因为移动汉字,所以首尾都填充一些0 --*/
/*--  Trebuchet MS12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

/*--  文字:  L  --*/
/*--  Trebuchet MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x10,0x1F,0x10,0x00,0x00,0x00,0x00,0x00,

/*--  文字:  O  --*/
/*--  Trebuchet MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x07,0x08,0x10,0x10,0x10,0x08,0x07,0x00,

/*--  文字:  V  --*/
/*--  Trebuchet MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x10,0x1E,0x11,0x00,0x00,0x13,0x1C,0x10,

/*--  文字:  E  --*/
/*--  Trebuchet MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x10,0x1F,0x11,0x11,0x17,0x10,0x08,0x00,



/*--  文字:  因为移动汉字,所以首尾都填充一些0 --*/
/*--  Trebuchet MS12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

};

//---------------------------------------

unsigned char code han2[]=
{                          //定义表格一定要使用code,这样会做到程序存储区中

/*--  文字:  因为移动汉字,所以首尾都填充一些0 --*/
/*--  Trebuchet MS12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

/*--  文字:  L  --*/
/*--  Trebuchet MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x04,0xFC,0x04,0x04,0x04,0x04,0x0C,0x00,

/*--  文字:  O  --*/
/*--  Trebuchet MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0xF0,0x08,0x04,0x04,0x04,0x08,0xF0,0x00,

/*--  文字:  V  --*/
/*--  Trebuchet MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x00,0x00,0xE0,0x1C,0x70,0x80,0x00,0x00,

/*--  文字:  E  --*/
/*--  Trebuchet MS12;  此字体下对应的点阵为:宽x高=8x16   --*/
0x04,0xFC,0x04,0x04,0xC4,0x04,0x18,0x00,




/*--  文字:  因为移动汉字,所以首尾都填充一些0 --*/
/*--  Trebuchet MS12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

};

//---------------------------------------
//LED点阵屏相关I/O设置
sbit U15E3=P1^3;           //LED点阵屏单元的U15(74HC138)的使能端E3脚接在P1.3口上
sbit U14E3=P1^4;           //LED点阵屏单元的U14(74HC138)的使能端E3脚接在P1.4口上
//---------------------------------------

//---------------------------------------
//LED点阵屏寄存器设置
unsigned char m=15;        //设置8位的unsigend char型寄存器用来做汉字显示的索引
unsigned char n;           //设置8位的unsigend char型寄存器用来做延时用
unsigned char w;           //设置8位的unsigend char型寄存器用来做延时用
unsigned char v;           //设置8位的unsigend char型寄存器用来做移动索引
//---------------------------------------

//---------------------------------------
void main(void)            //主函数,单片机开机后就是从这个函数开始运行
{

    while(1)               //死循环,单片机初始化后,将一直运行这个死循环
    {

        for(n=0;n<200;n++); //做一个0-80的循环,不执行其他操作,只为延时
        if(++w>180)        //再嵌套一个延时,每220个扫描周期将汉字左移一格
        {
            w=0;           //清零,以准备下一个延时
            if(++v>60) v=0;//移动索引,限定在0-176
        }
        if(++m>15) m=0;    //每调用一次函数将m加1,并限制在0-15以内
        P1=0;              //将LED点阵屏的列控制信号全部清零,准备重置
        P0=han1[m+v];      //LED点阵屏的上半屏,按m+v索引查表han1送P0
        P2=han2[m+v];      //LED点阵屏的下半屏,按m+v索引查表han2送P2
        P1|=m&0x07;        //将索引m的低3位送给P1的低3位,以使74HC138去片选
        if(m<8) U15E3=1;   //前8列需要使能U15(74HC138)
        else U14E3=1;      //后8列需要使能U14(74HC138)

    }
}


移动LOVE.zip

120.32 KB, 下载次数: 64, 下载积分: 黑币 -5

源程序

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

使用道具 举报

沙发
ID:70129 发表于 2015-1-11 16:20 来自手机 | 只看该作者
谢谢楼主分享,支持楼主分享。
回复

使用道具 举报

板凳
ID:70129 发表于 2015-1-11 16:21 来自手机 | 只看该作者
可惜木有仿真图,谢谢分享。
回复

使用道具 举报

地板
ID:65621 发表于 2015-1-13 17:47 | 只看该作者
2808569472 发表于 2015-1-11 16:21
可惜木有仿真图,谢谢分享。

不好意思  我初学者   不会仿真
回复

使用道具 举报

5#
ID:82806 发表于 2015-6-15 10:13 | 只看该作者
木有仿真图啊
回复

使用道具 举报

6#
ID:96114 发表于 2015-11-17 16:48 | 只看该作者
谢谢楼主
回复

使用道具 举报

7#
ID:733857 发表于 2020-4-20 19:59 | 只看该作者
谢谢分享
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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