16*64 led点阵显示实现上下左右移动,有四个按钮,用C语言如何编程,才能实现四个按钮分别对应控制。

16*64 led点阵显示实现左右上下移动,有四个按钮,用C语言如何编程,才能实现四个按钮分别对应控制左右上下四个方向。其中的上下左右四个方向的移动程序、延时程序,已经写好,但如何将四个程序模块组合在一起,形成一个完整的程序。期望实现的效果如下:程序启动后,自动开始进行向左移动,无论何时,按下第一按钮时显示屏的字向左移动,按下第二个按钮时,向右移动;按下第三个按钮时,向上移动;按下第四个按钮时,向下移动。劳烦各位高手给个样板程序或者指点一下,我是应该用什么思路来写,用SWITCH,或者中断,或者其他的。谢谢了!

第1个回答  2014-04-28
不知道你的硬件是什么结构,是好是发硬件图上来,要不怎么写程序追问

保存的图片就像现在这样的是黑白,能指教一下么?

追答

移动可以参考以下程序,我目前只有一个方向的,要四个方向的可以代做.62Q561Me6751

void main(void)
{ uchar i,k,p,zi=0;
uchar j=0;
while(1)
{
for(k=0;k<1;k++)
{
SCK=0;RCK=0;
for(i=0;i<16;i++)
{ RCK=0;
for(p=0;p<4;p++) //每次送四组数据,即四个字
{
send_bit(hzdot[zi+p][2*i+2*j]); // 送低八位
send_bit(hzdot[zi+p][2*i+1+2*j]); // 送高八位
}
P1&=0xf0;
P1+=i; //扫描一列
RCK=1; //更新595显示数据
delay(1);
}}
j++; //左移一位
if(j==16) // 移满16位,即一个字
{
j=0; //
zi++; // 指向下数组的下一行
if(zi==21) zi=0; // 循环显示
}
}}

追问

谢谢,移动我会。就是不会做按键来实现控制其改变移动方向

追答

你的图不是很清楚,把按键的IO重新标一下,再把按键要实现的功能说明一下.

本回答被提问者采纳

在LED显示汉字,怎么做到可以三个汉字循环显示?怎么添加代码?
因此,我们在实际应用中只是将LED点阵的16条行线直接接在P0口和P2口,至于列选扫描信号则是由4—16线译码器74HCl54来选择控制,这样一来列选控制只使用了单片机的4个I\/O口,节约了很多I\/O口资源,为单片机系统扩充使用功能提供了条件。考虑到P0口必需设置上拉电阻,我们采用4.7 kΩ排电阻作为上拉电阻。汉字扫描显示...

跪求16X16LED点阵汉字显示的原理图,s51单片机汇编源程序,汉字字摸提取...
从理论上说,不论显示图形还是文字,只要控制与组成这些图形或文字的各个点所在位置相对应的LED器件发光,就可以得到我们想要的显示结果,这种同时控制各个发光点亮灭的方法称为静态驱动显示方式。16×16的点阵共有256个发光二极管,显然单片机没有这么多端口,如果我们采用锁存器来扩展端口,按8位的锁存器来计算,1 6×16...

LED点阵 CD-1088A\/B 为8*8单色二极管点阵,共有16个引脚,如何连到51单...
4-16线译码器(用两块74HC138组成),其管脚如图所示,A,B,C,D为译码的输入端,值的区间从0000到1111,Y1~Y15是对应A,B,C,D四个输入引脚的输出脚,其中选中的线用输出低电平,没有选中的输出高电平,G1、G2是使能端,只有输入相应D低电平才能使译码器正常工作。 驱动三极管为16个9012,用万能板焊接。 二 软件设...

相似回答