这个简单,只要把中断程序中的KY==0改为KY==1,
还有
void display1(void)
{
uchar i;
if(num>10)
{
disp++;num=0;
} //12个汉字分为3次显示完(每次显示4个),每中断10次切换
if(disp>2)disp=0;
DelayUs(5200); //此处延时时间依各硬件差别而各不相同,试着调整使得显示内容居中即可
for(i=0;i<64;i++)
{
P1=~hanzi[disp*128+i*2];
P3=~hanzi[disp*128+i*2+1];
DelayUs(100);
}
}
中的disp++;要改为disp--
就可以了。
你手中的程序是从右往左显示的,而你参照的程序是从左往右显示的。所以会出现镜像和倒序的现象。估计你还是没有搞清摇摇显示的原理。
还有
void display1(void)
{
uchar i;
if(num>10)
{
disp++;num=0;
} //12个汉字分为3次显示完(每次显示4个),每中断10次切换
if(disp>2)disp=0;
DelayUs(5200); //此处延时时间依各硬件差别而各不相同,试着调整使得显示内容居中即可
for(i=0;i<64;i++)
{
P1=~hanzi[disp*128+i*2];
P3=~hanzi[disp*128+i*2+1];
DelayUs(100);
}
}
中的disp++;要改为disp--
就可以了。
你手中的程序是从右往左显示的,而你参照的程序是从左往右显示的。所以会出现镜像和倒序的现象。估计你还是没有搞清摇摇显示的原理。