|
在單片機的P2口上接8只LED組成流水燈。使用一個按鍵開關來控制流水燈的變化。開關斷開是,流水燈是左右循環閃爍,當開關按下時,流水燈進行交替閃爍。開關斷開恢復左右循環閃爍。很簡單的一個程序,適合剛開始學習單片機做流水燈的新手學習。- #include<reg52.h>
- #include<intrins.h>
- void delay(int z) //延時程序
- {
- int x,y;
- for(x=0;x<=z;x++)
- for(y=0;y<=255;y++);
- }
- void init_tx() //中斷初始化函數
- {
- EA=1; //開中斷
- EX1=1; //允許外部中斷1中斷請求
- IT1=0; //外部中斷1觸發方式為跳沿觸發方式
- IP=0X00; //設置中斷優先級
- }
- void main()
- {
- unsigned char LED;
- init_tx();
- LED=0x00; //初始化LED燈
- P2=LED;
- while(1)
- {
- unsigned char i,j;
- LED=0x80;
- P2= LED; //點亮一個LED燈
- delay(100);
- for(i=0;i<=6;i++) //右移流水燈模塊
- {
- LED=_cror_(LED,1);
- P2=LED;
- delay(100);
- }
- LED=0X01;
- P2= LED; //點亮最后一個燈
- delay(100);
- for(j=0;j<=6;j++) //左移流水燈模塊
- {
- LED=_crol_(LED,1);
- P2= LED;
- delay(100);
- }
- }
- }
- void tx1() interrupt 2 //外部中斷1處理程序
- {
- unsigned char temp;
- temp=P2; //保護現場
- P2=0xaa; //點亮4個LED燈
- delay(200);
- P2=0x55; //點亮另外4個LED燈
- delay(200);
- P2=temp; //返回現場
- }
-
復制代碼
|
-
-
花樣流水燈.rar
2016-5-22 01:19 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
28.05 KB, 下載次數: 18, 下載積分: 黑幣 -5
評分
-
查看全部評分
|