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--);
    }

  • 相关阅读:
    模板驱动表单中的自定义表单验证
    kartikgridGridView导出excel变科学计数
    linux下安装vue-element-admin报错
    yii2运行流程
    nginx报错502 Bad Gateway
    linux下安装npm
    登录验证记录
    vue的store、vuex状态管理
    vue-cli3使用路由和循环引入路由
    vue使用问题汇总记录
  • 原文地址:https://www.cnblogs.com/steararre/p/2392620.html
Copyright © 2011-2022 走看看