這個程序很好,我下載了,改成我需要的24LED 。我需要P3口加2個按鍵控制調速,我試過失敗了,求高人指點
程序如下:
- #include <reg52.h>
- #define uint unsigned int
- #define uchar unsigned char
- uchar code table0[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//LED從低位往高位移
- uchar code table1[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};//LED從高位往低位移
- uchar i,j; //定義循環變量
- uint tt=70; //定義時間指數
- void delay(uint time) //延時函數
- {
- uint x,y;
- for(x=time;x>0;x--)
- for(y=50;y>0;y--);//速度設置
- }
- void disp1() //狀態1 LED順時針轉一圈
- {
- for(i=0;i<8;i++)
- {
- P2=table1[i];
- delay(100);
- }
- P2=0xff;
-
- for(i=0;i<8;i++)
- {
- P1=table1[i];
- delay(100);
- }
- P1=0xff;
- for(i=0;i<8;i++)
- {
- P0=table1[i];
- delay(100);
- }
- P0=0xff;
- }
- void disp2() //狀態2 LED逆時針轉一圈
- {
- for(i=0;i<8;i++)
- {
- P0=table0[i];
- delay(100);
- }
- P0=0xff;
- for(i=0;i<8;i++)
- {
- P1=table0[i];
- delay(100);
- }
- P1=0xff;
- for(i=0;i<8;i++)
- {
- P2=table0[i];
- delay(100);
- }
- P2=0xff;
- }
- void main()
- {
- while(1)
- {
- disp1(); //狀態1 LED順時針轉一圈
- disp2(); //狀態2 LED逆時針轉一圈
-
- }
- }
復制代碼
|