预览截图
应用介绍
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口输出扫描码
©版权声明:本文内容由互联网用户自发贡献,版权归原创作者所有,本站不拥有所有权,也不承担相关法律责任。如果您发现本站中有涉嫌抄袭的内容,欢迎发送邮件至: www_apollocode_net@163.com 进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
转载请注明出处: apollocode » 16×16点阵(滚动显示)资料
文件列表(部分)
名称 | 大小 | 修改日期 |
---|---|---|
16í┴16╡π╒≤(╣÷╢»╧╘╩╛)╫╩┴╧ | 0.00 KB | 2015-09-48 |
16í┴16╡π╒≤(╣÷╢»╧╘╩╛) | 0.00 KB | 2015-09-50 |
1616.C | 8.45 KB | 2010-07-36 |
1616.C.bak | 10.04 KB | 2010-07-36 |
1616.C.orig | 7.19 KB | 2010-07-36 |
1616.LST | 11.81 KB | 2010-07-36 |
1616.OBJ | 5.44 KB | 2010-07-36 |
16í┴16╡π╒≤ | 5.38 KB | 2010-07-36 |
16í┴16╡π╒≤.hex | 4.22 KB | 2010-07-36 |
16í┴16╡π╒≤.lnp | 0.06 KB | 2010-07-36 |
16í┴16╡π╒≤.M51 | 7.30 KB | 2010-07-36 |
16í┴16╡π╒≤.Opt | 1.42 KB | 2010-07-36 |
16í┴16╡π╒≤.plg | 0.24 KB | 2010-07-36 |
16í┴16╡π╒≤.PWI | 0.38 KB | 2010-07-36 |
16í┴16╡π╒≤.Uv2 | 2.07 KB | 2010-07-36 |
16í┴16╡π╒≤_2.DSN | 121.85 KB | 2010-07-36 |
16í┴16╡π╒≤_2.PWI | 0.70 KB | 2010-07-36 |
16í┴16╡π╒≤_Opt.Bak | 1.42 KB | 2010-07-36 |
16í┴16╡π╒≤_Uv2.Bak | 1.95 KB | 2010-07-36 |
Last Loaded 16í┴16╡π╒≤.DBK | 118.57 KB | 2010-07-36 |
Last Loaded 16í┴16╡π╒≤_2.DBK | 121.85 KB | 2010-07-36 |
STARTUP.A51 | 5.00 KB | 2010-07-36 |
STARTUP.LST | 11.39 KB | 2010-07-36 |
STARTUP.OBJ | 0.73 KB | 2010-07-36 |
16í┴16╡π╒≤(╣÷╢»╧╘╩╛)╫╩┴╧.JPG | 13.47 KB | 2010-07-36 |
║║╫╓LED╡π╒≤╧╘╩╛.doc | 26.50 KB | 2010-07-36 |
发表评论 取消回复