永发信息网

基于51单片机88点阵编程。假设其直接由两组IO口P1 P2控制。横向滚动显示Bye,之后屏幕全黑

答案:2  悬赏:70  手机版
解决时间 2021-11-28 08:33
  • 提问者网友:且恨且铭记
  • 2021-11-27 22:47
基于51单片机88点阵编程。假设其直接由两组IO口P1 P2控制。横向滚动显示Bye,之后屏幕全黑
最佳答案
  • 五星知识达人网友:愁杀梦里人
  • 2021-11-27 23:18
uchar disbuf[8] = {0};
void delay(uchar n){
uchar i;
for( ; n > 0; n--)
for(i = 0; i < 210; i++);
}
void display(){
static uchar com = 0;
P1 = 0x00;
P0 = disbuf[];
P1 = (1 << com);
com = (com + 1) % 8;
}
void SnowMove(){
uchar i;
for(i = 0; i < 8; i++){
disbuf[i] <<= 1;
if(rand() % 4 == 0)
disbuf[i] |= 1;
}
}
void CountMove(){
static uchar num = 0;
if(num++ > 100){
num = 0;
SnowMove();
}
}
void main()
{
while(1){
CountMove();
display();
delay(10);
}
}
全部回答
  • 1楼网友:琴狂剑也妄
  • 2021-11-28 00:36
8*8点阵是吗? 你用取模软件取出你需要显示的内容的数组,然后就相当于是8个数码管动态刷新一样的 去显示出来就可以了啊。
横向滚动原理:就是一个一个的图片动态刷新出来的,第一个图片是全屏亮,第二个右侧出现一列b的最左侧的那个,,第三个又出现了1列,,以此类推,,,然后动态显示出来就可以 了,程序不难,就是取模很麻烦
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯