這次給大家分享一個LED落幕燈
電路圖跟上篇流水燈電路相同,忘記的話翻看我上篇博客,廢話不多說,直接上代碼:
#include<reg52.h> //此文件中定義了單片機的一些特殊功能寄存器
typedef unsigned int u16;//對數據類型進行聲明定義
typedef unsigned char u8;//對數據類型進行聲明定義
#define LED P1 //定義單片機P1端口
void delay(u16 i) //延時函數
{
while(i--);
}
void main() //主函數
{
while(1)
{
LED=0XFE; //第一顆LED燈(D1)亮
delay(50000);//延時
LED=0XFD; //D2亮
delay(50000);//延時
LED=0XFB; //D3亮
delay(50000);//延時
LED=0XF7; //D4亮
delay(50000);//延時
LED=0XEF; //D5亮
delay(50000);//延時
LED=0XDF; //D6亮
delay(50000);//延時
LED=0XBF; //D7亮
delay(50000);//延時
LED=0X7F; //D8亮
delay(50000);//延時
LED=0X7E; //D1和D8亮
delay(50000);//延時
LED=0X7D; //D2和D8亮
delay(50000);//延時
LED=0X7B; //D3和D8亮
delay(50000);//延時
LED=0X77; //D4和D8亮
delay(50000);//延時
LED=0X6F; //D5和D8亮
delay(50000);//延時
LED=0X5F; //D6和D8亮
delay(50000);//延時
LED=0X3F; //D7和D8亮
delay(50000);//延時
LED=0X3E; //D1和D7、D8亮
delay(50000);//延時
LED=0X3D; //D2和D7、D8亮
delay(50000);//延時
LED=0X3B; //D3和D7、D8亮
delay(50000);//延時
LED=0X37; //D4和D7、D8亮
delay(50000);//延時
LED=0X2F; //D5和D7、D8亮
delay(50000);//延時
LED=0X1F; //D6和D7、D8亮
delay(50000);//延時
LED=0X1E; //D1和D6、D7、D8亮
delay(50000);//延時
LED=0X1D; //D2和D6、D7、D8亮
delay(50000);//延時
LED=0X1B; //D3和D6、D7、D8亮
delay(50000);//延時
LED=0X17; //D4和D6、D7、D8亮
delay(50000);//延時
LED=0X0F; //D5和D6、D7、D8亮
delay(50000);//延時
LED=0X0E; //D1和D5、D6、D7、D8亮
delay(50000);//延時
LED=0X0D; //D2和D5、D6、D7、D8亮
delay(50000);//延時
LED=0X0B; //D3和D5、D6、D7、D8亮
delay(50000);//延時
LED=0X07; //D4和D5、D6、D7、D8亮
delay(50000);//延時
LED=0X06; //D1和D4、D5、D6、D7、D8亮
delay(50000);//延時
LED=0X05; //D2和D4、D5、D6、D7、D8亮
delay(50000);//延時
LED=0X03; //D3和D4、D5、D6、D7、D8亮
delay(50000);//延時
LED=0X02; //D1和D3、D4、D5、D6、D7、D8亮
delay(50000);//延時
LED=0X01; //D2和D3、D4、D5、D6、D7、D8亮
delay(50000);//延時
LED=0X00; //D1、D2、D3、D4、D5、D6、D7、D8亮
delay(50000);//延時
}
}
這個程序的效果是像珠子一樣逐漸下落,越積越多,燈8顆燈全亮起時重新開始。
還有下面這個,效果像是帷幕從兩邊打開然後再合上,代碼如下:
#include<reg52.h> //此文件中定義了單片機的一些特殊功能寄存器
typedef unsigned int u16;//對數據類型進行聲明定義
typedef unsigned char u8;//對數據類型進行聲明定義
#define LED P1 //定義單片機P1端口
void delay(u16 i)//延時函數
{
while(i--);
}
void main() //主函數
{
while(1) //循環
{
P1=0X7E; //D1、D7亮
delay(50000);//延時
P1=0X3C; //D1、D2、D7、D8亮
delay(50000);//延時
P1=0X18; //D1、D2、D3、D6、D7、D8亮
delay(50000);//延時
P1=0X00; //D1、D2、D3、D4、D5、D6、D7、D8亮
delay(50000);//延時
P1=0X18; //D1、D2、D3、D6、D7、D8亮
delay(50000);//延時
P1=0X3C; //D1、D2、D7、D8亮
delay(50000);//延時
P1=0X7E; //D1、D7亮
delay(50000);//延時
P1=0XFF; //全滅
delay(50000);//延時
}
}