怎么解决51单片机数码管亮度不均的问题

2019-03-24 17:26发布

作为一个刚刚学习几天的小白,向各位大神请教一个小问题
怎样解决数码管亮度不均匀的问题呀,,最后一位总是比前三个要暗,下面是我写的程序。。
#include <reg52.h>
void Delay(unsigned int t)
{
while(--t);
}                  //延时
unsigned char code shuma[]={
        0xC0, 0xF9, 0xA4, 0xB0,
        0x99, 0x92, 0x82, 0xF8,
        0x80, 0x90, 0x88, 0x83,
    0xC6, 0xA1, 0x86, 0x8E
                              }        ;
sbit xshu=P2^4;          //数码管
sbit xshu1=P2^5;
sbit xshu2=P2^6;
sbit xshu3=P2^7;

sbit led=P2^0;         //LED小灯
sbit led1=P2^1;
sbit led2=P2^2;
sbit led3=P2^3;

unsigned char shu1=12;
unsigned char shu2=34;

void main()
{       
led=1;led1=1;led2=1;led3=1;   
  while(1)
  {

      P0=shuma[shu1/10];
          xshu=1;
          xshu=0;
          led3=~led3;
          Delay(500000);


          P0=shuma[shu1%10];
          xshu1=1;
          xshu1=0;
          led2=~led2;
          Delay(500000);


          P0=shuma[shu2/10];
          xshu2=1;
          xshu2=0;
          led1=~led1;
          Delay(500000);


          P0=shuma[shu2%10];
          xshu3=1;
          xshu3=0;
          led=~led;
          Delay(500000);
  }
}



此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
huaiqiao
1楼-- · 2019-03-25 18:24
在郭天祥的51单片机的书中,我记得有提到一个词叫“重影”,如何消重影。他也提到了。。。建议你下载这样的PDF去好好观摩下。
zhang7309
2楼-- · 2019-03-25 22:52
先确定是不是管子本身的问题
gjy51
3楼-- · 2019-03-26 00:12
 精彩回答 2  元偷偷看……
xunke
4楼-- · 2019-03-26 01:47
先要关闭后,再亮
gjy51
5楼-- · 2019-03-26 03:15
xunke 发表于 2016-10-22 19:52
先要关闭后,再亮

不太明白,,可以详细一点吗,,,
philipchiu
6楼-- · 2019-03-26 08:20
 精彩回答 2  元偷偷看……

一周热门 更多>