| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4485 人关注过本帖
标题:51 单片机的 LED 数码管发光问题,
只看楼主 加入收藏
小代帅帅
Rank: 1
来 自:北京昌平
等 级:新手上路
帖 子:92
专家分:7
注 册:2013-5-11
结帖率:89.66%
收藏
 问题点数:0 回复次数:3 
51 单片机的 LED 数码管发光问题,
过往牛人,有一问题请教,不知哪位牛人厉害!,我编了一个51单片机的LED数码管发光的小程序,下边是部分代码,问题就是为什么数字最后一位总是特别的亮,有时候输出一位数字的时候,最后一位也有这个数字的影子。这是为什么呢?还有就是在位选那里延时一下,段选那里却不用呢?我试了一下,如果延时较短的话就会出现闪烁现象!为啥呢?
void delay(uchar i)
{
//uint j,k;
for(j=i;j>0;j--)
for(k=125;k>0;k--);
}

void display(uchar a,uchar b,uchar c,uchar d,uchar e,uchar f)
{
   dula=0;
   P0=table[a];
   dula=1;
   dula=0;
   
   wela=0;
   P0=0xfe;
   wela=1;
   wela=0;
   delay(5);
   
   P0=table[b];
   dula=1;
   dula=0;
   
   P0=0xfd;
   wela=1;
   wela=0;
   delay(5);

   P0=table[c];
   dula=1;
   dula=0;
   
   P0=0xfb;
   wela=1;
   wela=0;
   delay(5);
   
   P0=table[d];
   dula=1;
   dula=0;
   
   P0=0xf7;
   wela=1;
   wela=0;
   delay(5);
   
   P0=table[e];
   dula=1;
   dula=0;
   
   P0=0xef;
   wela=1;
   wela=0;
   delay(5);
   
   P0=table[f];
   dula=1;
   dula=0;
   
   P0=0xdf;
   wela=1;
   wela=0;
   delay(5);
}

void main()
{
num=2;//这个是被显示的整数,只要不超过六位,均可显示出来。
while(1)
{
if(num<10)
{
a0=num;b0=16;c0=16;d0=16;e0=16;f0=16;
}
else
{
if(num<100)
{a0=num/10;b0=num%10;c0=16;d0=16;e0=16;f0=16;}
else
{
if(num<1000)
{a0=num/100;b0=num%100/10;c0=num%10;d0=16;e0=16;f0=16;}
else
{
if(num<10000)
{a0=num/1000;b0=num%1000/100;c0=num%100/10;d0=num%10;e0=16;f0=16;}
else
{
if(num<100000)
{a0=num/10000;b0=num%10000/1000;c0=num%1000/100;d0=num%100/10;e0=num%10;f0=16;}
else
{
if(num<1000000)
{a0=num/100000;b0=num%100000/10000;c0=num%10000/1000;d0=num%1000/100;e0=num%100/10;f0=num%10;}
}
}
}
}
}
display(a0,b0,c0,d0,e0,f0);
}
}
搜索更多相关主题的帖子: LED数码管 display 单片机 
2014-10-09 21:13
彭森荣
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2014-5-28
收藏
得分:0 
你没有消影,所以你看到的都是有模糊的显示,而且这样的话容易让你的数码管出现编码混乱。你可以在每个dula=0的后面加上P0=0xff就可以了···
2014-10-22 16:52
小奎、
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2014-10-27
收藏
得分:0 
楼上亮了
2014-10-27 17:22
流氓兔1号
Rank: 4
等 级:贵宾
威 望:10
帖 子:78
专家分:152
注 册:2017-6-10
收藏
得分:0 
这么长的代码,吓我一跳...新手飘过
2017-11-04 20:28
快速回复:51 单片机的 LED 数码管发光问题,
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016382 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved