求51单片机16*16的点阵汉字移动原理
答案:4 悬赏:30 手机版
解决时间 2021-02-18 07:06
- 提问者网友:一抹荒凉废墟
- 2021-02-17 21:28
谢谢
最佳答案
- 五星知识达人网友:北城痞子
- 2021-02-17 22:05
首先是让汉字能够静态显示,显示一段时间后(时间可能很短)把所显示的汉字编码移一位重新送出,比如要向左移动,原本显示在第一列的数据就丢弃了,把第二列的数据送到第一列上显示,依次移动显示一屏,显示一段时间再进行一次移动,人们看起来也就是移动的了。 还搞不明白的话,可以晚上问我。
全部回答
- 1楼网友:佘樂
- 2021-02-18 01:26
//这是16*16点阵 显示一个字的代码。。。 临时写的。。。
#include
#include
#define iodata //数据口定义
#define uchar unsigned char
sbit row0 //0行 定义
sbit row1 //1行 定义
sbit col0 //0列 定义
sbit col1 //1列 定义
uchar code word_tab[][32]=
{
......//所需要的字体
};
void delay(uchar k)
{
while(k--);
}
void disp(uchar i)
{
uchar a,b;b=0x01
for (a=0;a<16;a++)
{
iodata=word_tab[i][a];col0=1;col0=0;
iodata=word_tab[i][a+16];col1=1;col1=0;
if (a<8)
{
iodata=b;row0=1;row0=0;//上半屏
}
else
{
iodata=b;row1=1;row1=0;//下半屏
}
delay(50);
iodata=0x00;row0=row1=1;row1=row0=0;//清屏
b=_cror_(b,1);
}
}
void main()
{
while(1)
{
disp();
}
}
- 2楼网友:躲不过心动
- 2021-02-18 00:03
不移动,静态显示的点阵汉字,你做完了吗?
- 3楼网友:风格不统一
- 2021-02-17 23:07
分别点亮16*16的点阵内的LED灯,利用人眼的视觉惰性产生延迟的效果,让人看起来是汉字在移动,实际上是点亮不同的16*16的点阵数码管。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯