寻大神庇佑、解惑。。。数码管怎么会有余晖

[复制链接]
3262|4
 楼主| 菜鸟来也 发表于 2011-8-28 11:07 | 显示全部楼层 |阅读模式
缩小了1ms延时,不明白怎么会有余晖,有附图

#include <REG52.H>
#define uchar unsigned char
#define uint unsigned char
/********************************************************************
1ms延时程序
*********************************************************************/
void delay (unsigned int a)    // 1ms延时程序
{
    unsigned int i;
    while(a--)
    {
        for(i = 0; i < 10; i++);//STC单片机在外部晶振为12MHz时i值上限为600  
    }                               //AT89C51单片机在外部晶振为12MHz时i值上限为125
}

/*******************************************************************
共阳数码管
********************************************************************/
uchar code table[]={0xc0, 0xf9, 0xa4, 0xb0,0x99,
0x92, 0x82,0xf8,0x80,0x90,
};            //0123456789

void main()
{
    uint i=0;
    while (1)
    {
         P2=0x7f;         //01111111
         P0=table[1];     
         delay(2);   
         P2=0xbf;          //10111111
         P0=table[2];
         delay(2);
         P2=0xdf;            //11011111
         P0=table[3];
         delay(2);
         P2=0xef;                //11101111
         P0=table[4];
         delay(2);
    }
}

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
原野之狼 发表于 2011-8-28 11:12 | 显示全部楼层
1 先关闭位选
2 在更新端码
3 打开位选
4 休息一会儿
5 回到第一步
 楼主| 菜鸟来也 发表于 2011-8-28 11:15 | 显示全部楼层
我的开发板数码管不带锁存器呀。。。我想问的是:你看那些清晰的数字旁有余晖,这个怎么解决呀。谢谢
654245467 发表于 2011-8-31 14:14 | 显示全部楼层
没有消隐程序
    {     P2=0x7f;         //01111111
         P0=table[1];     
         delay(2);
         P0=0xff;
         P2=0xbf;          //10111111
         P0=table[2];
         delay(2);
         P0=0xff;

         P2=0xdf;            //11011111
         P0=table[3];
         delay(2);
         P0=0xff;

         P2=0xef;                //11101111
         P0=table[4];
         delay(2);
         P0=0xff;

    }
 楼主| 菜鸟来也 发表于 2011-8-31 18:28 | 显示全部楼层
谢了。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

22

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部