两个数码管只有一个是正常的

[复制链接]
2206|54
手机看帖
扫描二维码
随时随地手机跟帖
liliang9554|  楼主 | 2017-11-12 12:34 | 显示全部楼层 |阅读模式
写了一个计数的程序,用数码管显示的,可是问题出现了,两个数码管只有一个是正常的,另一个数码管
该灭的地方倒不灭了,程序如下,求高手指点:
  sbit LS138A=P2^2;   
sbit LS138B=P2^3;
sbit LS138C=P2^4;
sbit LED8_1=P1^1;
unsigned char table[]={
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f
};
unsigned int i,n ,DelayCNT;
unsigned char m;
void delay()
{
{
     
    for(n; n > 0; n--)
         for(m = 2000; m > 0; m--);
}
}
void main()
{
    unsigned int i,LedNumVal=1 ;
    unsigned int LedOut[10];
   
    DelayCNT=0;
   while(1)  //进入循环状态
   {  
      if(++DelayCNT>=500)
   {
    DelayCNT=0;     //延时计数 每扫描一次加一次
      ++LedNumVal;       //每隔50个扫描周期加一次
   }
      LedOut[6]=table[LedNumVal%10];     //十位  
      LedOut[7]=table[LedNumVal%100/10];
      
for(i=0;i<9;i++)
{
P0=LedOut[i];
switch(i)
{     
    case 0:
          case 1:            
          case 2:;
         case 3:
    case 4:
    case 5:
    case 6: LS138A=0; LS138B=1; LS138C=1; LED8_1=1; break;
    case 7: LS138A=1; LS138B=1; LS138C=1; LED8_1=1; break;;
}
delay();
}
}
}

相关帖子

午夜粪车| | 2017-11-12 12:36 | 显示全部楼层
case 0—5后面没有语句

使用特权

评论回复
午夜粪车| | 2017-11-12 12:40 | 显示全部楼层

switch(i)

delay()
都感觉不对

使用特权

评论回复
jiajs| | 2017-11-12 12:41 | 显示全部楼层
void delay()
{
{
     
    for(n; n > 0; n--)
         for(m = 2000; m > 0; m--);
}
}

两个大括号,要那么多干嘛

使用特权

评论回复
jlyuan| | 2017-11-12 12:43 | 显示全部楼层

LedOut[10];
为什么设置是10维的?有那么多没用的

使用特权

评论回复
午夜粪车| | 2017-11-12 12:45 | 显示全部楼层

这个程序是不怎么样,LedOut[10]主要是因为for(i=0;i<9;i++)
循环次数的缘故

使用特权

评论回复
lizye| | 2017-11-12 12:46 | 显示全部楼层
这个跟程序没多大关系的吧

使用特权

评论回复
shimx| | 2017-11-12 12:47 | 显示全部楼层

这个在数码管进行现实的时候需要加上适当的延时的,这样人的视觉才能区分开两只数码管的不同状态的

使用特权

评论回复
spark周| | 2017-11-12 12:49 | 显示全部楼层
嗯,不然只能是有一只显示正常的。

使用特权

评论回复
午夜粪车| | 2017-11-12 12:49 | 显示全部楼层

这个有可能是你的数码管之间没有加延时程序的。

使用特权

评论回复
zhaoxqi| | 2017-11-12 12:50 | 显示全部楼层

同意楼上各位的,延时程序很重要的。

使用特权

评论回复
liliang9554|  楼主 | 2017-11-12 12:50 | 显示全部楼层
好的,我明天去单位试一下,多谢各位大侠了哈,结贴了先

使用特权

评论回复
shenmu2012| | 2017-11-13 14:16 | 显示全部楼层

这个是不是有啥特殊的设计目的?

使用特权

评论回复
myiclife| | 2017-11-13 22:55 | 显示全部楼层
你的硬件电路呢?

使用特权

评论回复
uytyu| | 2017-11-13 22:55 | 显示全部楼层
可能延时时间不够。

使用特权

评论回复
iyoum| | 2017-11-13 22:55 | 显示全部楼层
两个数码管是共阴还是共阳?

使用特权

评论回复
wwppd| | 2017-11-13 22:56 | 显示全部楼层
午夜粪车 发表于 2017-11-12 12:36
case 0—5后面没有语句

没有说程序报错吧。

使用特权

评论回复
myiclife| | 2017-11-13 22:56 | 显示全部楼层
数码管的驱动有问题吗?

使用特权

评论回复
uytyu| | 2017-11-13 22:56 | 显示全部楼层
配置的 时钟信号是多大的?

使用特权

评论回复
wwppd| | 2017-11-13 22:56 | 显示全部楼层
楼主的程序编译有错误吗?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

950

主题

11568

帖子

6

粉丝