您当前的位置:五五电子网电子知识电子制作自动控制-单片机16×16点阵(滚动显示) 正文
16×16点阵(滚动显示)

16×16点阵(滚动显示)

点击数:7871 次   录入时间:03-04 11:56:46   整理:http://www.55dianzi.com   自动控制-单片机

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口输出扫描码



上一页  [1] [2] [3] [4] 


本文关键字:暂无联系方式自动控制-单片机电子制作 - 自动控制-单片机