11249|22

7

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

怎么解决51单片机数码管亮度不均的问题 [复制链接]

 
作为一个刚刚学习几天的小白,向各位大神请教一个小问题
怎样解决数码管亮度不均匀的问题呀,,最后一位总是比前三个要暗,下面是我写的程序。。
#include
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);
  }
}



P61022-162942.jpg (2.5 MB, 下载次数: 2)

P61022-162942.jpg
此帖出自51单片机论坛

最新回复

解决数码管亮度不均匀问题,硬件上要保证每位每段静态驱动电流相同,软件上要保证每位驱动时间相同。  详情 回复 发表于 2016-11-22 18:44
点赞 关注
 

回复
举报

7

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
大神们,,帮帮忙吧,,在线等
此帖出自51单片机论坛
 
 
 

回复

55

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
这部分原理晒出来看看。软件问题不大。
此帖出自51单片机论坛
 
 
 

回复

7

帖子

0

TA的资源

一粒金砂(初级)

4
 
phwj2006 发表于 2016-10-22 17:04
这部分原理晒出来看看。软件问题不大。

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

      P0=shuma[shu1/10];//显示数字1
          xshu=0;//导通最左边数码管亮
          led3=~led3;//LED灯取反
          Delay(500000);延时


剩下的都一样了,,,想知道怎么修改可以让亮度均匀,,就是让最后一位点亮的时间长一点
此帖出自51单片机论坛
 
 
 

回复

7

帖子

0

TA的资源

一粒金砂(初级)

5
 
大神们,,,帮我看看,,,帖子不要沉呀
此帖出自51单片机论坛
 
 
 

回复

55

帖子

0

TA的资源

一粒金砂(中级)

6
 
保证每段电流一样大
此帖出自51单片机论坛
 
 
 

回复

179

帖子

0

TA的资源

一粒金砂(中级)

7
 
注意“消隐”! 初学者比较容易忽视的问题
此帖出自51单片机论坛
 
 
 

回复

4177

帖子

9

TA的资源

五彩晶圆(高级)

8
 
在郭天祥的51单片机的书中,我记得有提到一个词叫“重影”,如何消重影。他也提到了。。。建议你下载这样的PDF去好好观摩下。
此帖出自51单片机论坛
 
 
 

回复

521

帖子

0

TA的资源

纯净的硅(初级)

9
 
先确定是不是管子本身的问题
此帖出自51单片机论坛
 
 
 

回复

7

帖子

0

TA的资源

一粒金砂(初级)

10
 
zhang7309 发表于 2016-10-22 19:16
先确定是不是管子本身的问题

管子没问题,,试了两三个,,结果都一样
此帖出自51单片机论坛
 
 
 

回复

401

帖子

1

TA的资源

一粒金砂(高级)

11
 
先要关闭后,再亮
此帖出自51单片机论坛
 
 
 

回复

7

帖子

0

TA的资源

一粒金砂(初级)

12
 
xunke 发表于 2016-10-22 19:52
先要关闭后,再亮

不太明白,,可以详细一点吗,,,
此帖出自51单片机论坛
 
 
 

回复

216

帖子

0

TA的资源

一粒金砂(中级)

13
 
本帖最后由 philipchiu 于 2016-10-22 21:21 编辑

這問題跟硬件沒關係,嘗試調整delay time。
此帖出自51单片机论坛
 
 
 

回复

7

帖子

0

TA的资源

一粒金砂(初级)

14
 
philipchiu 发表于 2016-10-22 21:14
這問題跟硬件沒關係,嘗試調整delay time。

怎样调整可以给我说一下吗
此帖出自51单片机论坛

点评

重點在delay子程序,你的賦值遠遠超出類型定義,請將delay做為ms級  详情 回复 发表于 2016-10-23 12:48
 
 
 

回复

1658

帖子

1

TA的资源

纯净的硅(高级)

15
 
先不说亮度,4位显示数值一样不觉得奇怪吗?

先试着分别点亮每一位,然后再显示4位不同的数字,相信你会在这个过程中发现问题(想要“同时”显示不同的数值,必须先关闭其他位,然后仅在其中一位显示)
此帖出自51单片机论坛
 
 
 

回复

1234

帖子

4

TA的资源

纯净的硅(高级)

16
 
停留的时间太短 眼睛反映不过来
此帖出自51单片机论坛
 
个人签名天地庄周马;江湖范蠡船。
个性签名还是放QQ号吧,2060347305,添加说明EEworld好友
 
 

回复

216

帖子

0

TA的资源

一粒金砂(中级)

17
 
gjy51 发表于 2016-10-23 09:03
怎样调整可以给我说一下吗

重點在delay子程序,你的賦值遠遠超出類型定義,請將delay做為ms級
此帖出自51单片机论坛
 
 
 

回复

1457

帖子

1

TA的资源

五彩晶圆(初级)

18
 
两种解决方法:
1)调整对应的电阻值,使电流稍许加大;
2)适当延长该位的显示时间,或让该位显示2次。
此帖出自51单片机论坛
 
 
 

回复

28

帖子

0

TA的资源

一粒金砂(中级)

19
 
点亮数码管xshu=1;应该加个延时delay();函数后 xshu=0;,四个数码管都应该加这个延时
此帖出自51单片机论坛
 
 
 

回复

606

帖子

20

TA的资源

一粒金砂(高级)

20
 
不知道楼主要达到什么目的。。。
此帖出自51单片机论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表