找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2287|回复: 16
打印 上一主题 下一主题
收起左侧

求助各位大神,单片机代码出什么错了

[复制链接]
楼主
ID:401564 发表于 2021-7-27 21:24 | 显示全部楼层
我帮你改好了,自己找一下有什么地方不一样的
这都是C语言的基础知识,我也是才开始几天的C语言,一般这种问题都是可以自己找到答案的
自己想尽脑子的去解决一个问题,那么你对这个问题的印象肯定是深刻的,对于自己的学习也有好处
网上"拿来主义"倒是快,估计下回还是会犯同样的错误
我就不告诉你哪里了,你自己找找
还有,编程要养成一个有注释的习惯,每个人写程序的写法都不一样,你倒是看明白,别人不一定能看明白的

#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
uchar tt,num,ge,shi,bai;
sbit wei=P2^7;
sbit zi=P2^6;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
void init();
void xianshi(uchar bai,shi,ge);
void delay(uint z);
void main()
{                                                       
    init();
          while(1)
                {
                    if(tt==20)
                                {
                                    tt=0;
                                          num++;
                                          if(num==100)
                                                {
                                                    num=0;
                                                }
                                    bai=num/100;
                                                shi=num%100/10;
                                                ge=num%10;
                                }
                                xianshi(bai,shi,ge);
                }
}

void delay(uint z)
{
    uint x,y;
          for(x=110;x>0;x--)
              for(y=z;y>0;y--);
}

void init()
{
    num=0;
          TMOD=0x01;
          TH0=(65535-50000)/256;
          TL0=(65535-50000)%256;
          EA=1;
          ET0=1;
          TR0=1;
}

void xianshi(uchar bai,shi,ge)
{
    zi=1;
          P0=table[bai];
          zi=0;
          P0=0xff;
          wei=1;
          P0=0xfe;
          wei=0;
          delay(1);
        
          zi=1;
          P0=table[shi];
          zi=0;
          P0=0xff;
          wei=1;
          P0=0xfd;
          wei=0;
          delay(1);
        
          zi=1;
          P0=table[ge];
          zi=0;
          P0=0xff;
          wei=1;
          P0=0xfb;
          wei=0;
          delay(1);
}

void timer0() interrupt 1
{
          TH0=(65535-50000)/256;
          TL0=(65535-50000)%256;
          tt++;
}
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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