16×16点阵(滚动显示)资料

16×16点阵(滚动显示)资料

预览截图

应用介绍

efan 23:04:26 有对汉字LED点阵显示熟悉的朋友吗?   要下雨了 23:04:51 什么问题  typhoon 23:04:54 恩  efan 23:05:11 有段程序看不太懂  efan 23:05:26 #include <reg52.h>  #define int8 unsigned char #define int16 unsigned int #define int32 unsigned long  int8 flag; int8 n; int8 code table[][32]={                           {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},/* "  " */                             {0x04,0x28,0x08,0x24,0x32,0x22,0xC2,0x21,0xC2,0x26,0x34,0x38,0x04,0x04,0x08,0x18,0x30,0xF0,0xC0,0x17,0x60,0x10,0x18,0x10,0x0C, 0x14,0x06,0x18,0x04,0x10,0x00,0x00},/*"欢",0*/                           {0x02,0x02,0x04,0x82,0xF8,0x73,0x04,0x20,0x02,0x00,0xE2,0x3F,0x42,0x20,0x82,0x40,0x02,0x40,0xFA, 0x3F,0x02,0x20,0x42,0x20,0x22,0x20,0xC2,0x3F,0x02,0x00,0x00,0x00},/*"迎",1*/                            {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}/* "  " */                       };  void delay(void); int16 offset;  void main(void) {     int8 i;     int8 *p;     flag=0x10;     n=0;     TMOD=0x01;     TH0=0xb1;     TL0=0xe0;     ET0=1;     EA=1;     TR0=1;      p=&table[0][0];      while (1)     {         for (i=0;i<8;i++)    //显示左半边屏幕         {             P0=*(p+offset+2*i);             P2=i|0x08;    //P2.4=0,P2.3=1 选中U2, 输出扫描码给U6             delay();              P0=*(p+offset+2*i+1);             P2=i|0x10;   //P2.4=1,P2.3=0 选中U3, 输出扫描码给U7             delay();         }         for (i=8;i<16;i++)     //显示右半边屏幕         {             P0=*(p+offset+2*i);             P2=(i-8)|0x20;   //P2.5=1 P2.4=0, P2.3=0 选中U4,输出扫描码U8             delay();              P0=*(p+offset+2*i+1);             P2=(i-8)|0x40;   //P2.6=1 P2.5=0, P2.4=0 选中U5,输出扫描码U9             delay();         }     } }   void delay(void) {     int16 i;     for (i=0;i<50;i++)         ; }   void timer0() interrupt 1 using 3 {     TF0=0;     TH0=0xb1;     TL0=0xe0;     if (n<10)     {     n++;     }     else     {     offset+=2;     if (offset>1100)             offset=0;         n=0;     } }  efan 23:05:57 程序有两个地方不太明白 1. P0=*(p+offset+2*i); 为什么要乘以2,原理是什么?  2.void timer0() interrupt 1 using 3 这个中断是为了产生offset的原理是什么,为什么能实现汉字的移动显示(从右至左)  efan 23:07:31 这段程序实现汉字从左到右滚动显示  ╄→狂人╰☆ 23:07:38 1  16*16的点阵 2  每扫一次偏移地址加2
efan(6939780) 23:08:35 能具体一点吗?  efan(6939780) 23:09:22 1。里面还加了个 offset, 为什么能实现跑马显示  ╄→狂人╰☆(63637313) 23:09:23 每行16个led,当然要用2个字节,这个明白吧  efan(6939780) 23:09:38 这个懂了  ╄→狂人╰☆(63637313) 23:10:33 中断一次,数据整体下移一行,有问题吗?  efan(6939780) 23:10:51 我想想。。。
efan(6939780) 23:12:23 不理解,是不是指 offset+=2?  要下雨了(422583941) 23:12:58 是吧  ╄→狂人╰☆(63637313) 23:13:11 我没仔细看 太长了  你明白了原理再看程序就简单了  efan(6939780) 23:13:39 他是左跑马,为何下移动阿?  ╄→狂人╰☆(63637313) 23:14:09 我随便说的   efan(6939780) 23:14:18    ╄→狂人╰☆(63637313) 23:14:58    要下雨了(422583941) 23:15:00 向左跑 就是说逐步去掉左边的一些代码不要  要下雨了(422583941) 23:15:44 第一列的数据逐步往右边取
efan(6939780) 23:17:17 对照汉字码看一下 {0x04,0x28,0x08,0x24,0x32,0x22,0xC2,0x21,0xC2,0x26,0x34,0x38,0x04,0x04,0x08,0x18,0x30,0xF0,0xC0,0x17,0x60,0x10,0x18,0x10,0x0C, 0x14,0x06,0x18,0x04,0x10,0x00,0x00},/*"欢",0*/ 起始为 0x04,0x28 中断一次,跳到哪个了?是不是0x08,0x24?  要下雨了(422583941) 23:17:38 是的
要下雨了(422583941) 23:17:51 第一列就显示了0x08,0x24
要下雨了(422583941) 23:18:18 你这个程序运行对了没有
efan(6939780) 23:19:03 跑了,proteus没问题  要下雨了(422583941) 23:19:12 哦
要下雨了(422583941) 23:19:12 哦  要下雨了(422583941) 23:19:36 明白了吗 ╄→狂人╰☆(63637313) 23:20:18 你单步跑下就更清楚了   efan(6939780) 23:20:20 程序还有点点不明白,原理晓得了
efan(6939780) 23:38:59 我说一下算了,电路很简单,p0口发汉字码,p1口输出扫描码

文件列表(部分)

名称 大小 修改日期
16í┴16╡π╒≤(╣÷╢»╧╘╩╛)╫╩┴╧0.00 KB2015-09-48
16í┴16╡π╒≤(╣÷╢»╧╘╩╛)0.00 KB2015-09-50
1616.C8.45 KB2010-07-36
1616.C.bak10.04 KB2010-07-36
1616.C.orig7.19 KB2010-07-36
1616.LST11.81 KB2010-07-36
1616.OBJ5.44 KB2010-07-36
16í┴16╡π╒≤5.38 KB2010-07-36
16í┴16╡π╒≤.hex4.22 KB2010-07-36
16í┴16╡π╒≤.lnp0.06 KB2010-07-36
16í┴16╡π╒≤.M517.30 KB2010-07-36
16í┴16╡π╒≤.Opt1.42 KB2010-07-36
16í┴16╡π╒≤.plg0.24 KB2010-07-36
16í┴16╡π╒≤.PWI0.38 KB2010-07-36
16í┴16╡π╒≤.Uv22.07 KB2010-07-36
16í┴16╡π╒≤_2.DSN121.85 KB2010-07-36
16í┴16╡π╒≤_2.PWI0.70 KB2010-07-36
16í┴16╡π╒≤_Opt.Bak1.42 KB2010-07-36
16í┴16╡π╒≤_Uv2.Bak1.95 KB2010-07-36
Last Loaded 16í┴16╡π╒≤.DBK118.57 KB2010-07-36
Last Loaded 16í┴16╡π╒≤_2.DBK121.85 KB2010-07-36
STARTUP.A515.00 KB2010-07-36
STARTUP.LST11.39 KB2010-07-36
STARTUP.OBJ0.73 KB2010-07-36
16í┴16╡π╒≤(╣÷╢»╧╘╩╛)╫╩┴╧.JPG13.47 KB2010-07-36
║║╫╓LED╡π╒≤╧╘╩╛.doc26.50 KB2010-07-36

立即下载

相关下载

[3208LED点阵屏电子钟制作全资料] 3208LED点阵屏电子钟制作全资料,用c编写,有完整代码,实物
[16×16点阵(滚动显示)资料] 16×16点阵(滚动显示)资料

评论列表 共有 0 条评论

暂无评论

微信捐赠

微信扫一扫体验

立即
上传
发表
评论
返回
顶部