zoukankan      html  css  js  c++  java
  • 有关51单片机延时子程序

    51C 用循环作延时的程序比汇编不好写多了。它不能计算的,只能用逐一试验的方法。这里也作个1 秒延时的,用P1口输出,每秒求反一次。仿真中可看出每秒红或蓝电平切换一次。改ms参数,可以改动延时时间,当然也是不断试验出的。这另外2 个延时时间也是很有用的,3ms延时,可作为数码管显示中的防鬼影,10ms延时可作为按键防抖用,留着备用。

    #include <reg51.h>
    #define uint unsigned int
    #define uchar unsigned char

    void delayms(ms);

    void main ()
    {
        while(1)
       {
          delayms(10);           //ms=1 为2.79ms,约 3ms,可作为数码管显示消鬼影延时

                                    //ms=8 为9.88ms,约 10ms,可作为按键防抖延时
                                    //ms=1000 为1.015s ,约 1s 延时
          P2=~P2;      //P2取反,P2口是LED灯
       }
    }

    void delayms(ms)          // 延时子程序
    {    
      uint a,b,c;
      for(a=2;a>0;a--)
      for(b=46;b>0;b--)
      for(c=ms;c>0;c--);
    }

  • 相关阅读:
    多级别过滤器
    MongoDBAppender
    org.slf4j.impl.SimpleLoggerFactory cannot be cast to ch.qos.logback.classic.LoggerContext
    简单引入logback
    Logback configuration
    PatternLayoutEncoder 输出格式
    ConsoleAppender
    FileAppender
    Linux学习笔记
    GitLab CI/CD 学习记录
  • 原文地址:https://www.cnblogs.com/steararre/p/2392620.html
Copyright © 2011-2022 走看看