m0_63594107 2022-11-22 09:55 采纳率: 100%
浏览 12
已结题

led上下四个循环亮

问题遇到的现象和发生背景

我想让led上四个和下四个循环亮

用代码块功能插入代码,请勿粘贴截图
#include<reg51.H>
unsigned char led=0,led1=0,FLAG=0,i=0,a,b;

void shezhi()
{
    SCON=0;
    TMOD=0X01;//00000000
    TH0=-50000/256;
    TL0=-50000%256;
    ET0=1;EA=1;//ESÊÊÓÃÓÚ´®ÐпÚÖжÏ
  TR0=1;
}

void delay(unsigned int n)
{
    for(a=0;a<n;a++)
    {
        for(b=114;b>0;b++);
    }
}

void zhuanhuan()
{ led1=0x00;
    SBUF=led1;
    delay(1);
    led=~led;//0000 1111
    SBUF=led;
    while(!TI)
    {
        TI=0;
  }
    delay(350);
}

void main()

{  
    shezhi();
    while(FLAG==1)
    {
        zhuanhuan();
            
    }
}
void zhongduan() interrupt 1
{ 
    TH0=-50000/256;
    TL0=-50000%256;
    i++;
    while(i==20)
    {
        i=0;
    led=0xf0;//1111 0000
    SBUF=led;
        while(TI==1)
        {FLAG=1;
            TI=0;
            
        }
     }
}
    

运行结果及报错内容

img


他全部都亮了,不知道问题出在哪里

  • 写回答

1条回答 默认 最新

  • wchat_stones 2022-11-22 20:00
    关注

    应该是程序死在delay(1)那个延时函数里面了,你上传的这个代码delay函数格式有问题应该是编译不成功的,即使原本的格式能编译,还有for循环应该是for(b=114;b>0;b--),b++就陷入无限循环了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月10日
  • 已采纳回答 12月2日
  • 创建了问题 11月22日

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度