找回密码
 立即注册

QQ登录

只需一步,快速开始

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

51单片机简易电子时钟,写的代码运行不出来

[复制链接]
跳转到指定楼层
楼主


#include <reg51.h>
unsigned char code LED[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
unsigned char s=55,m=59,h=23;
unsigned char i1,j1,i2,j2,i3,j3,t;
void delay(unsigned int time)
{
    unsigned int j=0;
        for(;time>0;time--)
          for(j=0;j<125;j++);
}
void main()
{
  TMOD=0x01;
        TH0=0x3c;
        TL0=0xb0;
        TR0=1;
        ET0=1;
        EA=1;
        while(1);
        {
                        if (s==60)
                          { s=0;m++;}
                          i1=s/10;
                          j1=s%10;
                        if (m==60)
                          { m=0;h++;}
                          i2=m/10;
                          j2=m%10;
                        if (h==24)
                           h=0;
                          i3=h/10;
                          j3=h%10;
                  P2=0xfe;P0=LED[j1];delay(1);
                        P2=0xfd;P0=LED[i1];delay(1);
                        P2=0xfb;P0=LED[j2];delay(1);
                        P2=0xf7;P0=LED[i2];delay(1);
                        P2=0xef;P0=LED[j3];delay(1);
                        P2=0xdf;P0=LED[i3];delay(1);   
        }
}
void timer0() interrupt 1 {
   t++;
   if (t==20)
   {   t=0;
             s++;
   }
   TH0=0x3c;
   TL0=0xb0;
}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:213173 发表于 2023-4-16 06:46 | 只看该作者
while(1); 多了个分号
回复

使用道具 举报

板凳
ID:235200 发表于 2023-4-16 08:41 | 只看该作者
while(1);此句后的轰号应去掉
回复

使用道具 举报

地板
ID:1062491 发表于 2023-4-17 00:51 | 只看该作者
while(1)即可 多了分号
回复

使用道具 举报

5#
ID:584814 发表于 2023-4-17 11:23 | 只看该作者
while(1); 编译不会通过;
delay(1); 可能结果会有。
理论上以上和运行不起来都没关系。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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