zoukankan      html  css  js  c++  java
  • C程序模板---LED灯闪烁

    #include "REG52.H"
    void initial_myself();     //初始化单片机的寄存器及个别IO口,如继电器等等。
    void initial_peripheral();    /*初始化上电不立即处理的外围芯片和模块,
            如液晶模块,AT24C02存储芯片,DS1302时钟芯片 */
    void delay_short(unsigned int uiDelayshort);   //小延时,参数取10~100,专门用于时序延时。
    void delat_long(unsigned int uiDelaylong);    //大延时,参数取多少,表示多少个500条空指令。
    void led_flicker();
    /************************
    输出后缀_dr,输入后缀_sr
    dr代表drive驱动,sr代表sensor传感器
    ************************/
    sbit led_dr = P3^5;
    void main()
    {
     initial_myself();
     
     delay_long(100);
     initial_peripheral();
     
     while(1)
     {
      led_flicker();//LED闪烁应用程序 
     }
    }
    void led_flicker()
    {
     led_dr=1;//LED亮
     delay_short(50000);//延时50000个空指令的时间
     led_dr=0;
     delay_long(100); //延时50000个空指令的时间,因为内部嵌套了500次for循环      
    }
    void delay_short(unsigned int uiDelayShort)
    {
     unsigned int i;
     for(i=0;i<uiDelayShort;i++)
     {
      ;//一个;相当于一个空语句
     }
    }
    void delay_long(unsigned int uiDelayLong)
    {
     unsigned int i;
     unsigned int j;
     for(i=0;i<uiDelayLong;i++)
     {
      for(j=0;j<500;j++)
      {
       ;
      }
     }
    }
    void initial_myself() //初始化单片机
    {
     led_dr=0;//LED灭 
    }
    void initial_peripheral() //初始化外围
    {
     ; //本例为空
    }   //之后程序均从吴坚鸿所写的PDF文件中选取,任何法律责任均无本人无关
  • 相关阅读:
    大数据学习——三大组件总结
    js获取当前时间的前一天/后一天
    Windows下主机名和IP映射设置
    大数据学习——HDFS的shell
    微服务化架构特征
    Spring cloud consul 相关前提知识
    Kubeadm 安装
    remove docker ce fully on centos7
    Jquery Gritter set position
    Toggle Checkboxes on/off
  • 原文地址:https://www.cnblogs.com/TheFly/p/11911805.html
Copyright © 2011-2022 走看看