8乘8点阵滚动程序8乘8点阵滚动程序
#include
unsigned char code design[64] = { 0x30,0x48,0x44,0x22,0x44,0x48,0x30,0x00,0x00,0x3c,0x42,0x42,
0x42,0x42,0x3c,0x00,0x00,0x08,0x14,0x22,0x41,0x22,0x14,0x08,
0x00,0x41,0x22,0x14,0x08,0x14,0x22,0x41,0x00,0x1e,0x12,0x12,0x7f,0x12,0x12,0x1e};//定义显示...
8乘8点阵滚动程序
#include
unsigned char code design[64] = { 0x30,0x48,0x44,0x22,0x44,0x48,0x30,0x00,0x00,0x3c,0x42,0x42,
0x42,0x42,0x3c,0x00,0x00,0x08,0x14,0x22,0x41,0x22,0x14,0x08,
0x00,0x41,0x22,0x14,0x08,0x14,0x22,0x41,0x00,0x1e,0x12,0x12,0x7f,0x12,0x12,0x1e};//定义显示~ 心 Y,B,电子世品的师傅数组
unsigned char code
wexuan[] = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//P2口德位选 void main(void)
{
unsigned char a;
unsigned int b;
unsigned char d;
unsigned int e;
unsigned char f,g;
data unsigned char design1[40]; //定义内存中的字符数组长度为64字节
data unsigned char design2[8];//定义内存单元中的字符数组长度为8字节
while(1)
{
for(a = 0;a < 40;a ++)
{
design1[a] = design[a];
}//先将程序存储器中的字符代码赋给内存单元中的字符数组,以便于后面变化因为前面的code是常量不能变化
for(b = 0;b < 80;b ++)
{
for(d = 0;d < 8;d ++)//每个字8位段码
{
for(e = 0;e < 200;e ++);//延时
P0 = design1[d];//取出数组中的显示段码送给P0口
P2 = wexuan[d];
}//先显示一个I
}
for(a = 0;a < 40;a += 8)//开始执行左移程序
{
for(b = 0;b < 8;b ++)/*由于每一个汉字占8字节要将每一位一处需要8次8字节移
完共需要64次所以利用d来完成移出每个字节的最高位进行处理,用b来判断是不是已经8字节完成
则取出下一个字节没有完成继续执行*/
{
for(d = 0;d < 8;d ++)
{
if((a + b + 8) < 40)//移出处理了左移处理程序
{
/*先将显示单元design1[0]~design1[7]中的每一字节的高位移出
舍去再将下一汉字的第一字节数据的
高位移入到显示单元的最低挝*/
design1[d] = (design1[d]) << 1;//将design1[0]~design1[7]中的每每
一字节的高位移出舍去
g = design1[a + d + 8];
design1[d] = (design1[d] | (g >> 7));//将下一汉字的第一字节数据
的追高为移入到显示单元的最低位
design1[a + d + 8] = (design1[a + d + 8]) << 1;
}
}
for(f = 0;f < 40; f ++)
{
for(d = 0;d < 8; d ++)
{
for(e = 0;e < 200;e ++);
P0 = design1[d];
P2 = wexuan[d];
}
}
}
}
}
}
本文档为【8乘8点阵滚动程序】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。