普中开源电子分享网

 找回密码
 立即注册
搜索
查看: 3157|回复: 4

[已解决] stc80c52开发板A2简版数码管静态显示问题

[复制链接]

2

主题

5

帖子

16

积分

新手上路

Rank: 1

积分
16
发表于 2020-6-9 19:31:27 | 显示全部楼层 |阅读模式
\\控制第二个数码管从0显示到f\\
#include<reg52.h>
#define uchar unsigned char
sbit wela1=P2^2;
sbit wela2=P2^3;
sbit wela3=P2^4;
uchar num;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,
0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71
};
void delay(int z);
void delay(int z)
{
        int i;
        uchar j;
        for(i=z;i>0;i--)
         for(j=150;j>0;j--);
}
void main()
{
    wela1=0;
        wela2=1;
        wela3=1;

while(1)
{
    for(num=0;0<16;num++)
          {
                        P0=table[num];
            delay(1000);
                 }
  }
       
}



为啥我的代码烧入之后,循环到f之后就是数字显示不完整,然后就以这种不完整状态走着走着就跳到8然后就一直处于段码全显示状态,
过了很久才又以一样的情况循环,以此反复。
有哪位兄弟有遇到一样的情况吗?


回复

使用道具 举报

0

主题

49

帖子

242

积分

中级会员

Rank: 3Rank: 3

积分
242
发表于 2020-6-9 20:22:48 | 显示全部楼层
这一句 for(num=0;0<16;num++) 改为 for(num=0;num<16;num++) , 0 改为 num。
回复 支持 1 反对 0

使用道具 举报

2

主题

5

帖子

16

积分

新手上路

Rank: 1

积分
16
 楼主| 发表于 2020-6-9 19:44:26 | 显示全部楼层
发现忘记初始num变量,但是加在for循环外面,while(1)内,还是一样的问题。
回复 支持 反对

使用道具 举报

2

主题

5

帖子

16

积分

新手上路

Rank: 1

积分
16
 楼主| 发表于 2020-6-9 21:30:45 | 显示全部楼层
xuyaqi 发表于 2020-6-9 20:22
这一句 for(num=0;0

感谢,果然还是坛友眼神好用。
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /1 下一条

Archiver|手机版|小黑屋|普中开源电子分享网 粤ICP备16123577号-2

GMT+8, 2024-5-7 05:35 , Processed in 0.099274 second(s), 34 queries .

Powered by 论坛搭建 X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表