普中开源电子分享网

 找回密码
 立即注册
搜索
查看: 1969|回复: 2

为什么显示错误

[复制链接]

1

主题

1

帖子

19

积分

新手上路

Rank: 1

积分
19
发表于 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[10]={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[z/1000]; delay7ms();
        }
}


回复

使用道具 举报

0

主题

7

帖子

36

积分

新手上路

Rank: 1

积分
36
发表于 2021-11-4 14:18:00 | 显示全部楼层
smgduan[1]等于0x5b,显示2
回复 支持 1 反对 0

使用道具 举报

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

本版积分规则

关闭

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

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

GMT+8, 2024-5-5 14:21 , Processed in 0.105300 second(s), 34 queries .

Powered by 论坛搭建 X3.4

Copyright © 2001-2021, Tencent Cloud.

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