kscheang 发表于 2021-11-4 12:46:52

为什么显示错误

我的一个小程序
只要显示千位数
应该显示 1的
为什么会显示 2 呢?
应如何解决?


#include<reg52.h>
#include<intrins.h>


sbit HC138_A = P1^0;
sbit HC138_B = P1^1;
sbit HC138_C = P1^2;

unsigned char code smgduan={0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0Xff};


void delay7ms(void)   //误差 0us
{
    unsigned char a,b,c;
    for(c=1;c>0;c--)
      for(b=26;b>0;b--)
            for(a=133;a>0;a--);
}


void main()
{
        unsigned int x = 32;
        unsigned int y = 54;
        unsigned int z;
        z = x*y;                 //答案 1728


       
        while(1)
        {
        P0 = 0X00;
        HC138_A = 0; HC138_B = 0; HC138_C = 0; P0 = smgduan; delay7ms();
        }
}


cant 发表于 2021-11-4 14:18:00

smgduan等于0x5b,显示2
页: [1]
查看完整版本: 为什么显示错误