单片机c语言uchar code table[]问题
开头声明了ucharcodetable[]={0x00,0x00,0x00,0x01,0x03,0x07,0x0f,0x00};之后如何对table[]里的数据进行修改?...
开头声明了uchar code table[]={0x00,0x00,0x00,0x01,0x03,0x07,0x0f,0x00};
之后如何对table[]里的数据进行修改?
需要把里面内容的位置互换就是改成
table[]={0x00,0x00,0x01,0x03,0x07,0x0f,0x00,0x00};
是用在LCD上用来让图像向上滚动
void display()
{
char m=0;
lcd_init();
lcd_wcom(0x40); //设定CGRAM地址
for(m=0;m<64;m++) //将心型代码写入CGRAM中
{
lcd_wdat(table[m]);
}
lcd_wcom(0x85); //设定上排的显示位置
for(m=0;m<4;m++)
{
lcd_wdat(m);
}
lcd_wcom(0xc5); //将显示坐标转移到下排和上排相对应的地方
for(m=4;m<8;m++)
{
lcd_wdat(m);
}
} 展开
之后如何对table[]里的数据进行修改?
需要把里面内容的位置互换就是改成
table[]={0x00,0x00,0x01,0x03,0x07,0x0f,0x00,0x00};
是用在LCD上用来让图像向上滚动
void display()
{
char m=0;
lcd_init();
lcd_wcom(0x40); //设定CGRAM地址
for(m=0;m<64;m++) //将心型代码写入CGRAM中
{
lcd_wdat(table[m]);
}
lcd_wcom(0x85); //设定上排的显示位置
for(m=0;m<4;m++)
{
lcd_wdat(m);
}
lcd_wcom(0xc5); //将显示坐标转移到下排和上排相对应的地方
for(m=4;m<8;m++)
{
lcd_wdat(m);
}
} 展开
1个回答
展开全部
不可以修改,因为code表存在ROM中.
可以通过循环判断指针来处理.
unsigned char i,n=0;
while(1)
{
if(n==8)
n=0;
for( i=0;i<8;i++)
{
if((n+i)<8)
display(n+i);//显示
else
display(n+i-8);
}
n++
delay();//延时
}
可以通过循环判断指针来处理.
unsigned char i,n=0;
while(1)
{
if(n==8)
n=0;
for( i=0;i<8;i++)
{
if((n+i)<8)
display(n+i);//显示
else
display(n+i-8);
}
n++
delay();//延时
}
追问
不好意思我刚开始学 您程序里的display(n+i-8) 那我在void display()这个括号里要怎么写?
上面是我原来的程序
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询