标题: 大神们问一下为什么这个程序下晶体管上数字一直是0 谢谢各位大神 [打印本页]

作者: zxxxxxxzzxx    时间: 2023-8-23 15:05
标题: 大神们问一下为什么这个程序下晶体管上数字一直是0 谢谢各位大神
请问这个程序为什么晶体管上数字不变
#include<reg52.h>
#define uchar unsigned char
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
uchar num,a,b,c,d;
sbit dula=P2^6;
sbit wela=P2^7;
void delay(uchar);
void main()
{
  num=0;
        wela=1;
        P0=0xfe;
        wela=0;
    while(1)
        {
                d=0;
                d++;
                if(d==2)
                    {
                                  d=0;
                      num++;
                                }
          dula=1;
                P0=table[num];
                dula=0;
                if(num==16)
                    num=0;
                delay(100);
        }
       
       
       

}
void delay(uchar c)
{
        uchar a,b;
        for(a=1;a<c;a++)
            for(b=1;b<200;b++);
}


作者: wulin    时间: 2023-8-23 19:44
把d=0;移到while(1)前面。
#include<reg52.h>
#define uchar unsigned char
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
uchar num,a,b,c,d;
sbit dula=P2^6;
sbit wela=P2^7;
void delay(uchar);

void main()
{
        num=0;
        d=0;
        wela=1;
        P0=0xfe;
        wela=0;
        while(1)
        {
                d++;
                if(d==10)
                {
                        d=0;
                        num++;
                }
                dula=1;
                P0=table[num];
                dula=0;
                if(num==16)
                        num=0;
                delay(100);
        }
}

void delay(uchar c)
{
        uchar a,b;
        for(a=1;a<c;a++)
                for(b=1;b<200;b++);
}


作者: zsyzdx    时间: 2023-8-25 16:42
是用的LCD1602还是什么液晶呢?




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1