求教 仿真动态数码管乱码问题,程序和图在里面

2019-07-18 10:28发布

延迟设到50以上正常,可以分别显示1到6,但是设低延迟后,不能达到动态数码管的效果
显示部分乱码


#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit dula=P2^6;
sbit wela=P2^7;
uint num;
uchar code table[]={    //编码定义
0xc0,0xcf,0xa4,0xb0,
0x99,0x92,0x02,0xf8,
0x00,0x90};
void delayms(uint);
void main()
{
while(1)
{
  dula=1;
  P0=table[1];    //段选
  dula=0;
  P0=0xff;     //送位选数据前关闭所有显示    消隐
  wela=1;
  P0=0x01;
  wela=0;
  delayms(1);
  dula=1;
  P0=table[2];   
  dula=0;
  P0=0xff;   
  wela=1;
  P0=0x02;
  wela=0;
  delayms(1);
  dula=1;
  P0=table[3];   
  dula=0;
  P0=0xff;   
  wela=1;
  P0=0x04;
  wela=0;
  delayms(1);
  dula=1;
  P0=table[4];   
  dula=0;
  P0=0xff;   
  wela=1;
  P0=0x08;
  wela=0;
  delayms(1);
  dula=1;
  P0=table[5];   
  dula=0;
  P0=0xff;   
  wela=1;
  P0=0x10;
  wela=0;
  delayms(1);
  dula=1;
  P0=table[6];   
  dula=0;
  P0=0xff;   
  wela=1;
  P0=0x20;
  wela=0;
  delayms(1);
}
}
void delayms(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
  for(j=110;j>0;j--);
}
QQ截图未命名.jpg
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
549700315
1楼-- · 2019-07-18 15:10
后面4个 截图没放进去
lovezjf234
2楼-- · 2019-07-18 16:40
延时低了就不能有效的消隐了,这样那些不该显示的也就都显示出来了
549700315
3楼-- · 2019-07-18 17:59
lovezjf234 发表于 2012-9-26 16:36
延时低了就不能有效的消隐了,这样那些不该显示的也就都显示出来了

谢谢,请问下程序没问题的话,仿真如何让动态数码管清晰稳定的显示数字123456呢?
549700315
4楼-- · 2019-07-18 23:13
有没有人,指点下 谢谢!

一周热门 更多>