• 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文件中选取,任何法律责任均无本人无关
  • 相关阅读:
    AndroidUI的组成部分ProgressBar
    NVIDIA+关联2015写学校招收评论(嵌入式方向,上海)
    谈论json
    排序算法(三):插入排序
    逻辑地址、线性地址、物理地址以及虚拟存储器
    逻辑地址、线性地址和物理地址的关系
    堆和栈都是虚拟地址空间上的概念
    缺页异常详解
    虚拟内存-插入中间层思想
    深入理解计算机系统之虚拟存储器
  • 原文地址:https://www.cnblogs.com/TheFly/p/11911805.html
Copyright © 2020-2023  润新知