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文件中選取,任何法律責任均無本人無關


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM