#include <reg51.h> /*=== 头文件包含 ===*/
#include <absacc.h>
#define X273 XBYTE[0xa000]
#define XPA XBYTE[0x8000]
#define XPB XBYTE[0x8001]
#define XPC XBYTE[0x8002]
#define XPCTL XBYTE[0x8003]
void delay(unsigned char pt);
void delay1(unsigned char pt);
unsigned char i,m,k,ee;
unsigned int temp;
code tab[]={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,
0x10,0x04,0x01F,0x0FC,0x01F,0x0FC,0x010,0x004,0x010,0x004,0x018,0x00C,0x00F,0x0F8,0x007,0x0F0,
0x000,0x000,0x010,0x000,0x01E,0x000,0x01F,0x0E0,0x011,0x0FC,0x000,0x07C,0x013,0x0F0,0x01F,0x080,
0x01C,0x000,0x010,0x000,0x003,0x0E0,0x00F,0x0F8,0x01C,0x01C,0x010,0x004,0x010,0x004,0x010,0x00C,
0x01C,0x018,0x01C,0x010,0x000,0x000,0x003,0x0E0,0x00F,0x0F8,0x01C,0x01C,0x010,0x004,0x010,0x004,
0x010,0x00C,0x01C,0x018,0x01C,0x010,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,0x000,
//-- DVCC系列产品 -- ** 宋体, 12 **
// 当前所选字体下一个汉字对应的点阵为: 宽度x高度=96x16, 调整后为: 96x16
0X000,0X000,0X000,0X002,0X040,0X084,0X044,0X0C8,0X04D,0X090,0X055,0X0A0,0X066,0X082,0X046,0X081,
0X044,0X0FE,0X088,0X080,0X0B2,0X0A0,0X081,0X090,0X080,0X0C8,0X080,0X046,0X000,0X000,0X000,0X000,
0X040,0X082,0X041,0X002,0X042,0X004,0X05D,0X008,0X068,0X090,0X048,0X060,0X049,0X080,0X05E,0X000,
0X048,0x000,0x000,0x000,0x01F,0x0E0,0x000,0x004,0x000,0x002,0x0FF,0x0FC,0x000,0x000,0x000,0x000,
0X000,0X002,0X020,0X00C,0X027,0X0F0,0X022,0X000,0X032,0x000,0X02E,0X000,0X02A,0X000,0X0A2,0X000,
0x062,0x000,0x026,0x000,0x02A,0x000,0x032,0x000,0x022,0x000,0x026,0x000,0x022,0x000,0x000,0x000,
0x00,0x00,0x00,0xFE,0x00,0x84,0x00,0x84,0x7E,0x84,0x44,0x84,0x44,0xFE,0x44,0x00,
0x044,0x0FE,0x044,0x084,0x044,0x084,0x07E,0x084,0x000,0x084,0x000,0x0FE,0x000,0x000,0x000,0x000},
code tab1[]={//-- -- ** 宋体, 12 **
//当前所选字体下一个汉字对应的点阵为: 宽度x高度=16x16, 调整后为: 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,
//-- 欢 -- ** 宋体, 12 **
// 当前所选字体下一个汉字对应的点阵为: 宽度x高度=16x16, 调整后为: 16x16
0x000,0x080,0x000,0x080,0x0FC,0x080,0x005,0x0FE,0x085,0x004,0x04A,0x048,0x028,0x040,0x010,0x040,
0x018,0x040,0x018,0x060,0x024,0x0A0,0x024,0x090,0x041,0x018,0x086,0x00E,0x038,0x004,0x000,0x000,
//-- 迎 -- ** 宋体, 12 **
//当前所选字体下一个汉字对应的点阵为: 宽度x高度=16x16, 调整后为: 16x16
0x040,0x000,0x021,0x080,0x036,0x07C,0x024,0x044,0x004,0x044,0x004,0x044,0x0E4,0x044,0x024,0x044,
0x025,0x044,0x026,0x054,0x024,0x048,0x020,0x040,0x020,0x040,0x050,0x000,0x08F,0x0FE,0x000,0x000,
//-- 使 -- ** 宋体, 12 **
// 当前所选字体下一个汉字对应的点阵为: 宽度x高度=16x16, 调整后为: 16x16
0x008,0x040,0x00C,0x040,0x01B,0x0FE,0x010,0x040,0x037,0x0FC,0x064,0x044,0x0A4,0x044,0x027,0x0FC,
0x024,0x044,0x022,0x040,0x021,0x080,0x020,0x080,0x021,0x070,0x022,0x01E,0x02C,0x004,0x000,0x000,
//-- 用 -- ** 宋体, 12 **
// 当前所选字体下一个汉字对应的点阵为: 宽度x高度=16x16, 调整后为: 16x16
0x000,0x000,0x01F,0x0FC,0x010,0x084,0x010,0x084,0x010,0x084,0x01F,0x0FC,0x010,0x084,0x010,0x084,
0x010,0x084,0x01F,0x0FC,0x010,0x084,0x010,0x084,0x020,0x084,0x020,0x084,0x040,0x094,0x080,0x088,
//-- -- ** 宋体, 12 **
// 当前所选字体下一个汉字对应的点阵为: 宽度x高度=16x16, 调整后为: 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 dda(unsigned char dat)
{unsigned char rdat;
rdat=(dat&0x01)<<7;
rdat=rdat|(dat&0x02)<<5;
rdat=rdat|(dat&0x04)<<3;
rdat=rdat|(dat&0x08)<<1;
rdat=rdat|(dat&0x10)>>1;
rdat=rdat|(dat&0x20)>>3;
rdat=rdat|(dat&0x40)>>5;
rdat=rdat|(dat&0x80)>>7;
return rdat;
}
void main(void)
{
while(1)
{
XPCTL=0x80;
XPB=0x00; //清显示
XPC=0x00;
k=0x80;
i=0x00;
ee=0x00;
for(ee=0;ee<240;ee=ee+2)
{
delay(ee);
;
for(temp=0;temp<0x1000;temp++);
}
XPA=0x0ff; //OFFLED1
X273=0x0ff;
k=0x80;
i=0x00;
for(ee=0;ee<160;ee=ee+2)
{
delay1(ee);
for(temp=0;temp<0x1000;temp++);
}
}
}
void delay(unsigned char pt)
{
i=pt;
do{
XPA=dda(0x0ff-tab[i]);
i++;
X273=dda(0x0ff-tab[i]);
XPB=k;
m=0x00;
do{
m--;
}while(m!=0x00);
XPB=0x00; //清显示
XPC=0x00;
i++;
k=(k>>1)|(k<<7);
}while((k&0x80)!=0x80);
k=0x80;
do{
XPA=dda(0x0ff-tab[i]);
i++;
X273=dda(0x0ff-tab[i]);
XPC=k;
m=0x00;
do{
m--;
}while(m!=0x00);
XPB=0x00; //清显示
XPC=0x00;
i++;
k=(k>>1)|(k<<7);
}while((k&0x80)!=0x80);
}
void delay1(unsigned char pt)
{
i=pt;
do{
XPB=tab1[i];
i++;
XPC=tab1[i];
XPA=dda(0x0ff-k);
m=0x00;
do{
m--;
}while(m!=0x00);
XPA=0x0ff; //OFFLED1
X273=0x0ff;
i++;
k=(k>>1)|(k<<7);
}while((k&0x80)!=0x80);
k=0x80;
do{
XPB=tab1[i];
i++;
XPC=tab1[i];
X273 =dda(0x0ff-k);
m=0x00;
do{
m--;
}while(m!=0x00);
XPA=0x0ff; //OFFLED1
X273=0x0ff;
i++;
k=(k>>1)|(k<<7);
}while((k&0x80)!=0x80);
}
没有合适的资源?快使用搜索试试~ 我知道了~
16X16-LED.zip_16*16 led_16x16
共12个文件
bak:2个
lnp:1个
c:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 160 浏览量
2022-09-19
20:49:17
上传
评论
收藏 17KB ZIP 举报
温馨提示
16X16 LED点阵显示实验,适合初学者学习,,,
资源详情
资源评论
资源推荐
收起资源包目录
16X16-LED.zip (12个子文件)
16X16 LED点阵显示实验
16X16LED 7KB
16X16LED.hex 4KB
16X16LED.M51 7KB
16X16LED_Opt.Bak 2KB
16X16LED.plg 377B
16X16LED.LST 10KB
16X16LED.Opt 1KB
16X16LED.lnp 33B
16X16LED.OBJ 8KB
16X16LED.c 6KB
16X16LED.Uv2 2KB
16X16LED_Uv2.Bak 2KB
共 12 条
- 1
alvarocfc
- 粉丝: 103
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0