?? 雙燈左移右移閃爍.c
字號:
/*-----------------------------------------------
名稱:IO口高低電平控制
論壇:www.doflye.net
編寫:shifang
日期:2009.5
修改:無
內容:2個led燈先左移,然后右移,然后同時閃爍
------------------------------------------------*/
#include<reg52.h> //包含頭文件,一般情況不需要改動,
//頭文件包含特殊功能寄存器的定義
void Delay(unsigned int t); //函數聲明
/*------------------------------------------------
主函數
------------------------------------------------*/
void main (void)
{
unsigned char i; //定義一個無符號字符型局部變量 i
//取值范圍 0~255
unsigned char temp;//定義臨時變量用于轉換
while (1) //主循環
{
temp=0xfc;
P1=temp;
for(i=0;i<7;i++) //加入 for循環,表明for循環大括號
//中的程序循環執行7次
{
Delay(50000); //調用延時程序;更改延時數字可
//以更改延時長度;用于改變閃爍頻率
temp<<=1;
temp=temp|0x01; //也可以直接把temp換成P1
P1=temp; //之所以加入temp做中間變量,轉換
//完成后直接賦值到端口,防止直接
//操作端口造成的短暫閃爍
}
temp=0x3f;
P1=temp;
for(i=0;i<7;i++) //加入 for循環,表明for循環大括號
//中的程序循環執行7次
{
Delay(50000); //調用延時程序;更改延時數字可以
//更改延時長度;用于改變閃爍頻率
temp>>=1;
temp|=0x80; //等效于 temp=temp|0x80
P1=temp;
}
for(i=0;i<3;i++) //加入 for循環,表明for循環大括號
//中的程序循環執行3次
{
P1=0xff;
Delay(50000);
P1=0x00;
Delay(50000);
} //主循環中添加其他需要一直工作的程序
}
}
/*------------------------------------------------
延時函數,含有輸入參數 unsigned int t,無返回值
unsigned int 是定義無符號整形變量,其值的范圍是
0~65535
------------------------------------------------*/
void Delay(unsigned int t)
{
while(--t);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -