单片机制作led显示屏,怎么让字滚动,思路是什么
推荐于2018-04-19
展开全部
可以参考一下
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit yy=P2^0;
sbit xx=P2^1;
uchar temp,i,j,a;
uchar code table[]={0xe7,0xdb,0xdd,0xee,0xdd,0xdb,0xe7,0xff,
0xe7,0xdb,0xdd,0xee,0xdd,0xdb,0xe7,0xff};
void delay(uint z) //延时子函数
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void main()
{
while(1)
{
for(i=0;i<8;i++) //图形移位8次
{
for(a=0;a<10;a++) //延时控制移动速度
{
temp=0x01; //列扫描初值
for(j=0;j<8;j++) //扫描8次
{
yy=1;
P1=temp; //列值
yy=0;
delay(2); //延时,时间短了会重影,长了会闪烁
xx=1;
P1=table[i+j]; //行值
xx=0;
yy=1; //消隐
P1=0x00;
yy=0;
temp=temp<<1; //列值左移一位
}
}
}
}
}
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit yy=P2^0;
sbit xx=P2^1;
uchar temp,i,j,a;
uchar code table[]={0xe7,0xdb,0xdd,0xee,0xdd,0xdb,0xe7,0xff,
0xe7,0xdb,0xdd,0xee,0xdd,0xdb,0xe7,0xff};
void delay(uint z) //延时子函数
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void main()
{
while(1)
{
for(i=0;i<8;i++) //图形移位8次
{
for(a=0;a<10;a++) //延时控制移动速度
{
temp=0x01; //列扫描初值
for(j=0;j<8;j++) //扫描8次
{
yy=1;
P1=temp; //列值
yy=0;
delay(2); //延时,时间短了会重影,长了会闪烁
xx=1;
P1=table[i+j]; //行值
xx=0;
yy=1; //消隐
P1=0x00;
yy=0;
temp=temp<<1; //列值左移一位
}
}
}
}
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
制作LED电子显示屏的具体方法材料:订购单元板、铝合金边框(户内)、钣金你怎么这么抠涅?!你说你一分不给我还得教你知识是不? 这么深奥的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询