|
這是我上次比賽做的跑馬燈程序,內含呼吸燈部分,感覺還不錯,很牛逼.可以拿來改改用用
單片機源程序如下:
- #include <reg52.h>
- #include <intrins.h>
- #define led P3
- #define uchar unsigned char
- #define uint unsigned int
- static unsigned char ledon[8] = {0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
- uchar flag;
- void delay1(uint z3)
- {
- while(z3--);
- }
- void deng1()
- {
- uint i;
- led=0x01;
- delay1(30000);
- for(i=0;i<7;i++)
- {
- led=_crol_(led,1);
- delay1(30000);
- }
- led=0xc0;
- for(i=0;i<6;i++)
- {
- led=_cror_(led,1);
- delay1(30000);
- }
- led=0x07;
- for(i=0;i<5;i++)
- {
- led=_crol_(led,1);
- delay1(30000);
- }
- led=0xf0;
- for(i=0;i<4;i++)
- {
- led=_cror_(led,1);
- delay1(30000);
- }
- led=0x1f;
- for(i=0;i<3;i++)
- {
- led=_crol_(led,1);
- delay1(30000);
- }
- led=0xfc;
- for(i=0;i<2;i++)
- {
- led=_cror_(led,1);
- delay1(30000);
- }
- led=0x7f;
- for(i=0;i<1;i++)
- {
- led=_crol_(led,1);
- delay1(30000);
- }
- led=0xff;
- delay1(30000);
- }
- void deng2()
- {
- uint aaa;
- for(aaa=0x01;aaa!=0xff+0x01;aaa=_crol_(aaa,1),aaa=aaa+0x01)
- {
- P3=aaa;
- delay1(20000);
- }
- for(aaa=0xff;aaa!=0x00;aaa=aaa>>1)
- {
- P3=aaa;
- delay1(20000);
- }
- P3=0x00;
-
- }
- void deng3()
- {
- uchar j;
- for(j=0;j<4;j++)
- {
- uint CYCLE=300;
- uint PWM_LOW=0;
- // led=0x00;
- delay1(20000);
- for(PWM_LOW=1;PWM_LOW<CYCLE;PWM_LOW++)
- {
- led=0x00;
- delay1(PWM_LOW);
- led=0xff;
- delay1(CYCLE-PWM_LOW);
- }
- //LED0=0;
- for(PWM_LOW=CYCLE-1;PWM_LOW>0;PWM_LOW--)
- {
- led=0x00;
- delay1(PWM_LOW);
- led=0xff;
- delay1(CYCLE-PWM_LOW);
- }
- }
- }
- void deng4()
- {
- uint aaa;
- for(aaa=0x01;aaa!=0xff+0x01;aaa=_crol_(aaa,1),aaa=aaa+0x01)
- {
- P3=aaa;
- delay1(125);
- }
- for(aaa=0xff;aaa!=0x00-0x01;aaa=aaa>>1)
- {
- P3=aaa;
- delay1(125);
- }
- for(aaa=0x01;aaa!=0xff+0x01;aaa=_crol_(aaa,1),aaa=aaa+0x01)
- {
- P3=aaa;
- delay1(125);
- }
- for(aaa=0xff;aaa!=0x00-0x01;aaa=aaa>>1)
- {
- P3=aaa;
- delay1(125);
- }
- }
- void deng5()
- {
- uchar j;
- for(j=0;j<12;j++)
- {
- uint CYCLE=50;
- uint PWM_LOW=0;
- // led=0x00;
- delay1(10000);
- for(PWM_LOW=1;PWM_LOW<CYCLE;PWM_LOW++)
- {
- led=0x00;
- delay1(PWM_LOW);
- led=0xff;
- delay1(CYCLE-PWM_LOW);
- }
- //LED0=0;
- for(PWM_LOW=CYCLE-1;PWM_LOW>0;PWM_LOW--)
- {
- led=0x00;
- delay1(PWM_LOW);
- led=0xff;
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
高逼格走馬燈3.rar
(697 Bytes, 下載次數: 90)
2017-5-11 12:13 上傳
點擊文件名下載附件
內含呼吸燈部分
|
|