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文件中选取,任何法律责任均无本人无关
原文地址:https://www.cnblogs.com/TheFly/p/11911805.html