16*16点阵字符实现逐字,左移,上下滚动功能,用单片机汇编语言编写附加Prutues仿真图,急需,非常感谢!
答案:2 悬赏:70
解决时间 2021-03-16 07:23
- 提问者网友:我喜歡係
- 2021-03-15 07:50
16*16点阵字符实现逐字,左移,上下滚动功能,用单片机汇编语言编写附加Prutues仿真图,急需,非常感谢!
最佳答案
- 二级知识专家网友:狙击你的心
- 2021-03-15 08:44
要的话给个地址
全部回答
- 1楼网友:你把微笑给了谁
- 2021-03-15 08:50
我的空间有程序,你去看看,有十几种移动方法
屏幕点阵数的话也可以随时改动的
void flash_bai(uchar *flash_word,uchar flash_heard,uchar number,uchar sdu,uchar state)
{register uchar i,j,l;
for(i=0;i>(7-j));
dispram[l*4+2]=dispram[l*4+2]&0xff>>j|(flash_word[(flash_heard+i)*32+l*4+3]<<(7-j)&0x10);
}
else
{
dispram[l*4] =dispram[l*4]&0xff<<(j-7)|flash_word[(flash_heard+i)*32+l*4]>>(15-j);
dispram[l*4+1]=flash_word[(flash_heard+i)*32+l*4]<<(j-7)|(flash_word[(flash_heard+i)*32+l*4+1]>>(15-j));
dispram[l*4+2]=flash_word[(flash_heard+i)*32+l*4+2]<<(15-j)|(flash_word[(flash_heard+i)*32+l*4+3]>>(j-7));
dispram[l*4+3]=(dispram[l*4+3]&0xff>>(j-7))|flash_word[(flash_heard+i)*32+l*4+3]<<(15-j);
}
}
delay(sdu*SPEED);
}
delay(state*SPEED);
}
}
void flash(uchar *flash_word,uchar flash_heard,uchar number,uchar sdu,uchar state)
{register uchar i,j,k,l;
for(i=0;ij;k--)
{
for(l=0;l<16;l++)
{
if(j>8)
{
dispram[l*2] =1<<(8-k+j)|(flash_word[(flash_heard+i)*32+l*2]&0xff>>(16-j));
dispram[l*2+1]=flash_word[(flash_heard+i)*32+l*2+1];
}
else
{
dispram[l*2]=1<<(8-k+j);
dispram[l*2+1]=1<<(16-k+j)|(flash_word[(flash_heard+i)*32+l*2+1]&0xff>>(8-j));
}
}
delay(sdu*SPEED);
}
for(k=17;k>j;k--)
{
for(l=0;l<16;l++)
{
if(j>8)
{
dispram[l*2]=1<<(k-8)|(flash_word[(flash_heard+i)*32+l*2]&0xff>>(16-j));
}
else
{
dispram[l*2]=1<<(k-8);
dispram[l*2+1]=1<>(8-j));
}
}
delay(sdu*SPEED);
}
}
delay(state*SPEED);
}
}
void miqi_jump(void)
{register uchar jump_i;
while((receive[1]&0x0f)<2)//
{
switch (timer/3650)
{
case 0:for(jump_i=0;jump_i<16;jump_i++)
{
dispram[jump_i*2] = word1[11][jump_i*2]<<1|word1[11][jump_i*2+1]>>7;
dispram[jump_i*2+1] = word1[11][jump_i*2+1]<<1;//左移
}break;
case 1:for(jump_i=0;jump_i<15;jump_i++)
{
dispram[jump_i*2+2] = word1[11][jump_i*2];
dispram[jump_i*2+3] = word1[11][jump_i*2+1];
}
dispram[0] = 0;
dispram[1] = 0;
break;//下移
case 2:for(jump_i=0;jump_i<16;jump_i++)
{
dispram[jump_i*2+1] = word1[11][jump_i*2+1]>>1|word1[11][jump_i*2]<<7;
dispram[jump_i*2] = word1[11][jump_i*2]>>1;
}break;//右移
case 3:for(jump_i=0;jump_i<15;jump_i++)
{
dispram[jump_i*2] = word1[11][jump_i*2+2];
dispram[jump_i*2+1] = word1[11][jump_i*2+3];
}
dispram[30] = 0;
dispram[31] = 0;
break;//上移
case 4: for(jump_i=0;jump_i<15;jump_i++)
{
dispram[jump_i*2+2] = word1[11][jump_i*2]<<1|word1[11][jump_i*2+1]>>7;
dispram[jump_i*2+3] = word1[11][jump_i*2+1]<<1;//左移
}
dispram[0] = 0;
dispram[1] = 0;
break;//下移
case 5: for(jump_i=0;jump_i<16;jump_i++)
{
dispram[jump_i*2+1] = word1[11][jump_i*2+3]>>1|word1[11][jump_i*2+2]<<7;
dispram[jump_i*2] = word1[11][jump_i*2+2]>>1;
}dispram[30] = 0;
dispram[31] = 0;
break;//上移
case 6: for(jump_i=0;jump_i<15;jump_i++)
{
dispram[jump_i*2+3] = word1[11][jump_i*2+1]>>1|word1[11][jump_i*2]<<7;
dispram[jump_i*2+2] = word1[11][jump_i*2]>>1;
}
dispram[0] = 0;
dispram[1] = 0;
break;
case 7: for(jump_i=0;jump_i<16;jump_i++)
{
dispram[jump_i*2] = word1[11][jump_i*2+2]<<1|word1[11][jump_i*2+3]>>7;
dispram[jump_i*2+1] = word1[11][jump_i*2+3]<<1;//左移
}
dispram[30] = 0;
dispram[31] = 0;
break;
default:for(jump_i=0;jump_i<32;jump_i++)
dispram[jump_i] = word1[11][jump_i];
}
}
}
//用数组更加节省空间
void Open_door(uchar wordsp[][32],uchar OpenDheard,uchar number,uchar sdu,uchar state)
{register uchar i,j,k;
for(k=0;k>(8-j);
dispram[i*2+1]=dispram[i*2+1]&0xff>>j|wordsp[OpenDheard+k][1+2*i]&0xff<<(8-j);
}
delay(sdu*SPEED);
}
delay(state*TIME);
}
}
//用数组更加节省空间
void Close_door(uchar wordsp[][32],uchar CloseDheard,uchar number,uchar sdu,uchar state)
{register uchar i,j,k;
for(k=0;k>j|wordsp[CloseDheard+k][2*i]&0xff<<(8-j);
dispram[i*2+1]=dispram[i*2+1]&0xff<>(8-j);
}
delay(sdu*SPEED);
}
delay(state*TIME);
}
}
//用数组更加节省空间
void Far_Away(uchar wordsp[][32],uchar Far_Awayheard,uchar number,uchar sdu,uchar state)
{register uchar i,j,k;
for(k=0;k>(8-j);
dispram[i*2+1]=dispram[i*2+1]>>j|wordsp[Far_Awayheard+k][1+2*i]&0xff<<(8-j);
}
delay(sdu*SPEED);
}
delay(state*TIME);
}
}
//用数组更加节省空间
void Close_To(uchar wordsp[][32],uchar Close_Toheard,uchar number,uchar sdu,uchar state)
{register uchar i,j,k;
for(k=0;k>j|wordsp[Close_Toheard+k][2*i]<<(8-j);
dispram[i*2+1]=dispram[i*2+1]&0xff<>(8-j);
}
delay(sdu*SPEED);
}
delay(state*TIME);
}
}
//用指针更加节省空间
void M_Words(uchar *wordsp,uchar MWheard,uchar number,uchar sdu,uchar state)
{register uchar i,j;
for(j=0;jj;k--)
{
dispram[k*2]=dispram[(k-1)*2];
dispram[k*2+1]=dispram[(k-1)*2+1];
}
dispram[2*j]=Down_Pullp[Down_Pullheard+i][2*j];
dispram[2*j+1]=Down_Pullp[Down_Pullheard+i][2*j+1];
delay(sdu*SPEED);
}
delay(state*TIME);
}
}
//用指针更加节约空间
void Down_Run_Word(uchar *Downp,uchar UPheard,uchar number,uchar sdu,uchar state)
{register uchar i,j,k;
for(i=0;i0;k--)
{
dispram[k*2]=dispram[(k-1)*2];
dispram[k*2+1]=dispram[(k-1)*2+1];
}
dispram[0]=Downp[(UPheard+i)*32+(15-j)*2];
dispram[1]=Downp[(UPheard+i)*32+(15-j)*2+1];
delay(sdu*SPEED);
}
delay(state*TIME);
}
}
//用指针更加节约空间
void L_Removeout_Word(uchar *LRp,uchar LRheard,uchar number,uchar sdu,uchar state)
{register uchar i,j,k,l;
for(i=0;i>7;
dispram[l*2+1]=dispram[l*2+1]<<1|LRp[(i+LRheard)*32+l*2+j]>>(7-k);
}
delay(sdu*SPEED);
}
delay(state*TIME);
}
}
//用指针更加节约空间
void L_Pull_Word(uchar *L_Pullp,uchar L_Pullheard,uchar number,uchar sdu,uchar state)
{register uchar i,j,k,l;
for(i=0;i>7;
dispram[l*2+1]=(dispram[l*2+1]&0xff<<(k+1))<<1|L_Pullp[(i+L_Pullheard)*32+l*2+1]&0xff>>(7-k);
}
else
{
dispram[l*2]=(dispram[l*2]&0xff<<(k+1))<<1|L_Pullp[(i+L_Pullheard)*32+l*2]&0xff>>(7-k);
dispram[l*2+1]=L_Pullp[(i+L_Pullheard)*32+l*2+1];
}
}
delay(sdu*SPEED);
}
delay(state*TIME);
}
}
void M_Black(void)
{register uchar i;
for(i=0;i<32;i++)
{
dispram[i]=0x00;
if(i%2)
delay(5*SPEED);
}
}
//用指针更加节约空间
void R_Removeout_Word(uchar *RRp,uchar RRheard,uchar number,uchar sdu,uchar state)
{register uchar i,j,k,l;
for(i=0;i0;j--)
for(k=0;k<8;k++)
{
for(l=0;l<16;l++)
{
dispram[l*2+1]=dispram[l*2+1]>>1|dispram[l*2]<<7;
dispram[l*2]=dispram[l*2]>>1|RRp[(i+RRheard)*32+l*2+j-1]<<(7-k);
}
delay(sdu*SPEED);
}
delay(state*TIME);
}
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯