xstxlk} 2023-09-25 22:22 采纳率: 66.7%
浏览 20
已结题

单片机led闪烁3秒后急速闪烁后停止

img

img


用51单片机,参考了b站上江科的视频和自己手上的书,写了以上程序,无警告无报错,但是一运行就会出现led灯先闪烁3次,之后急速闪烁,然后灭掉的情况,刚开始自学,感谢指导

  • 写回答

9条回答 默认 最新

  • 忧伤的玩不起 2023-09-26 08:45
    关注
    
    #include<reg52.h>
    #include<INTRINS.H>
    sbit led1 = P1^0;
    void Delay500ms(){
        unsigned char i,j ,k;
       i=4;
      j =129;
    k=119;
        do{
            do{
                do{
                 _nop_();      
                }while(--k);
    
            }while(--j);
    
        }while(--i);
    }
    void main(){
        while(1){
            led1 =0xFE;
            Delay500ms();
            led1=0xFF;
            Delay500ms();
        }
    
    }
    

    nop();“放循环里面,更推荐写成这样

    #include <reg52.h>
    #include <intrins.h>
    
    sbit led1 = P1^0;
    
    void delay_ms(unsigned int time_ms) {
      unsigned int i, j, k;
      for(i = 0; i < time_ms; i++) {
        for(j = 0; j < 5000; j++) {
          for(k = 0; k < 2; k++) {
            _nop_();
          }
        }
      }
    }
    
    void LED_Blink(unsigned int delay_time) {
      led1 = 0xFE;
      delay_ms(delay_time);
      led1 = 0xFF;
      delay_ms(delay_time);
    }
    
    void main() {
      while(1) {
        LED_Blink(500);
      }
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(8条)

报告相同问题?

问题事件

  • 系统已结题 10月11日
  • 已采纳回答 10月3日
  • 赞助了问题酬金15元 9月26日
  • 创建了问题 9月25日

悬赏问题

  • ¥15 python随机森林对两个excel表格读取,shap报错
  • ¥15 基于STM32心率血氧监测(OLED显示)相关代码运行成功后烧录成功OLED显示屏不显示的原因是什么
  • ¥100 X轴为分离变量(因子变量),如何控制X轴每个分类变量的长度。
  • ¥30 求给定范围的全体素数p的(p-2)/p的连乘积值
  • ¥15 VFP如何使用阿里TTS实现文字转语音?
  • ¥100 需要跳转番茄畅听app的adb命令
  • ¥50 寻找一位有逆向游戏盾sdk 应用程序经验的技术
  • ¥15 请问有用MZmine处理 “Waters SYNAPT G2-Si QTOF质谱仪在MSE模式下采集的非靶向数据” 的分析教程吗
  • ¥15 adb push异常 adb: error: 1409-byte write failed: Invalid argument
  • ¥15 nginx反向代理获取ip,java获取真实ip