数码管每显示一位,需要延时的,可以写一个延时子程序,延时大纸1~2ms。
主要原因是:proteus 仿真,要求先输出位选码,后输出段选码才行,否则显示就是乱码。
程序修改如下:
#include <reg51h>
#define uchar unsigned char
#define uint unsigned int
uchar LEDDATA[]= {0x06,0x5B,0x4F,0x66,0x6D,0x7D};
uchar WLED[] = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf}; //位选
void delay()//延时子程序
{
uint j;
for(j=400;j>0;j--);
}
void main()
{ uchar i; //不用uint
while(1)
{ for(i = 0; i < 6; i++)
{ P2 = WLED[i];
P0 = LEDDATA[i];
delay();//延时
}
}
}
仿真结果
以上就是关于求解,写了了小程序,放到proteus里面仿真,为什么出来的是乱码全部的内容,包括:求解,写了了小程序,放到proteus里面仿真,为什么出来的是乱码、、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)