做51单片机点阵LED滚动屏,如16×16的,我要显示一个L,那是不是要把L在滚动过程中的每个状态做出数据表
答案:2 悬赏:10 手机版
解决时间 2021-03-16 11:08
- 提问者网友:我们很暧昧
- 2021-03-15 13:45
做51单片机点阵LED滚动屏,如16×16的,我要显示一个L,那是不是要把L在滚动过程中的每个状态做出数据表
最佳答案
- 五星知识达人网友:野味小生
- 2021-03-15 15:00
可以开辟一个缓存,每次显示缓存的内容,你所要做的工作就是编一个函数,将数据表内的值通过函数放到缓存中,每次显示缓存中的内容就可以了。动态扫描,每次显示L的位置不同,但在人的视觉暂缓范围之内就可以达到移动的效果了。有什么不明白的可以随时和我沟通!QQ:303574625
全部回答
- 1楼网友:猎心人
- 2021-03-15 15:32
1 2 3 4 5 6 7 8
0 0 0 0 0 0 0 0 00h
0 0 1 0 0 0 0 0 20h
0 0 1 0 0 0 0 0 20h
0 0 1 0 0 0 0 0 20h
0 0 1 0 0 0 0 0 20h
0 0 1 0 0 0 0 0 20h
0 0 1 1 1 1 0 0 3ch
0 0 0 0 0 0 0 0 00h
00 00 7e 02 02 02 00 00
你取模是按行取,你可以尝试按列取 取成00h,00h,7eh,02h,02h,02h,00h,00h
当显示一静态"l"时,
假设由左向右扫描输出的话指针顺序是1,2,3,4,5,6,7,8。
如果你要"l"向左移,那下一帧就从2开始2,3,4,5,6,7,8,(程序设定超过8时为00h,简单点就是如果你点阵“屏”是8*8的,那你在后面加补8个00h,16*16就补32个,这样你移动n*8(或n*16)的字幕都是向左“消失”,因为最后那8(或32)个00,刚好能填满你的屏(消失))
再下一帧就从3开始,如比类推。
当然还可以设成循环模式如
1,2,3,4,5,6,7,8
2,3,4,5,6,7,8,1
3,4,5,6,7,8,1,2
4,5,6,7,8,1,2,3
......................
程序我就不给你写了,你自己好好想想咯,外加我是用c的。。汇编不熟。希望能帮到你。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯