標(biāo)題: 誰能給我給個流水燈程序 [打印本頁]

作者: x小白x    時(shí)間: 2016-11-25 17:58
標(biāo)題: 誰能給我給個流水燈程序
誰有啊給我發(fā)個唄

作者: 黃oo昏    時(shí)間: 2016-11-25 19:00
#include <reg52.h>
作者: 黃oo昏    時(shí)間: 2016-11-25 19:11
#include <reg52.h>   #include<intrins.h> #define uchar unsigned char #define uint unsigned int uchar b=0x01; void delay(uchar  x) {     uchar a;     while(x--)      {              for(a=0;a<120;a++);       } }  void main() {   while(1)    {         P0=b;      delay(50);       b=_crol_(b,1);      } }
作者: npn    時(shí)間: 2016-11-26 18:49
控制IO口數(shù)據(jù)左移右移,賦值數(shù)據(jù),以及加上延遲函數(shù)就行。
作者: 1131014564    時(shí)間: 2016-12-9 20:28
#include<reg52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar temp;
void delay(uint);
void main()
{
          temp=0xfe;
          P2=temp;
          while(1)
        {
                temp=_crol_(temp,1);
                delay(600);
                P2=temp;
        }
}
void delay(int z)
{
        uint x,y;
        for(x=100;x>0;x--)
          for(y=z;y>0;y--);
}
作者: qi_dianzikeji    時(shí)間: 2016-12-9 21:59
#include<reg52.h> #include<intrins.h> #define uint unsigned int #define uchar unsigned char uchar t1,t2,s; void delayms(uint); void main() {        EA=1;         ET0=1;         ET1=1;         TR0=1;         TR1=1;         while(1)         {            P1=s;                         P1=0xff;          } } void t0()interrupt 0 {         TH0=(65536-45872)/258;         TL0=(65536-45872)%256;         t1++;         if(t1==10)         {                 t1==0;                 P1=~P1;         } } void Y1()interrupt 3 {         TH1=(65536-45872)/256;         TL1=(65536-45872)%256;         t2++;         if(t2==10)         {                   t2==0;                   P1=_cror_(s,1);         } }
作者: 靜水流深zw    時(shí)間: 2016-12-9 22:11
#include<reg52.h>
int a[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//上至下
int b[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};//下至上
int c[]={0x7e,0xbd,0xdb,0xe7};//邊至中
int d[]={0xe7,0xdb,0xbd,0x7e};//中至邊
void delay(int);
void main()
{
        int i,j;
        while(1){
        for(i=1;i<4;i++)
        {
                P1=0xaa;
                delay(400);
                P1=0x55;
                delay(400);
        }
        for(j=0;j<3;j++)
         {
                        for(i=0;i<8;i++)
                        {
                                P1=a[i];
                                delay(20);
                                //P1=0xff;
                                //delay(20);
                        }
                        for(i=0;i<8;i++)
                        {
                                P1=b[i];
                                delay(20);
                                //P1=0xff;
                                //delay(20);
                        }
   }
         for(i=0;i<3;i++)
         {
                 for(j=0;j<4;j++)
                 {
                         P1=c[j];
                         delay(100);
                        // P1=0xff;
                        // delay(100);
     }
   }
         for(i=0;i<3;i++)
         {
                 for(j=0;j<4;j++)
                 {
                         P1=d[j];
                         delay(100);
                         //P1=0xff;
                         //delay(100);
     }
   }
         for(i=1;i<4;i++)
         {
                 P1=0x00;
                 delay(100);
                 P1=0xff;
                 delay(100);
   }
}
}
void delay(int z)
{
        int i,j;
        for(i=100;i>0;i--)
                for(j=z;j>0;j--);
}
作者: n199202    時(shí)間: 2016-12-9 22:15
#include<reg52.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intvoid delay(uint z);main(){ uchar aa; while(1){ aa=0xfe;P1=aa;delay(100);while(1){aa=_crol_(aa,1);P1=aa;delay(100);}}}void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}
作者: 153986166    時(shí)間: 2016-12-10 23:14
論壇太多教程。請多看教程和視頻
作者: 153986166    時(shí)間: 2016-12-10 23:16
論壇有的親。多學(xué)習(xí)視頻
作者: dvd616a23    時(shí)間: 2016-12-11 11:06
網(wǎng)上挺多的啊,
作者: 博哥    時(shí)間: 2016-12-11 15:54
int i;
for(i=0;i<8;i++)
     PORTA=1<<i;
for(i=7;i>=2;i--)
     PORTA=1<<i;     
作者: setst    時(shí)間: 2016-12-13 21:49
//主函數(shù),C語言的入口函數(shù):       
void main(void)
{
        P2=0XFE;
        while(1){                                //無限循環(huán)
                P2=(P2<<1)|(P2>>7);        //P2口值左循環(huán)移1位,也可利用函數(shù)庫"intrins.h"中的_crol_(),
                delay(50);                        //調(diào)用延時(shí)子函數(shù),改變參數(shù)大小,調(diào)整變化速度
        }
}

//延時(shí)子函數(shù)
void delay(unsigned char tmp)//雙重循環(huán)減,如改用INT型,將會達(dá)到更長的延時(shí)時(shí)間
{
        unsigned char j;
        while(tmp--){
                j=255;
                while(j--);
        }
}

作者: 路路521    時(shí)間: 2016-12-14 22:43
開發(fā)板上的8只LED為共陽極連接,即單片機(jī)輸出端為低電平時(shí)即可點(diǎn)亮LED。  程序A:  ;用最直接的方式實(shí)現(xiàn)流水燈   ORG 0000H   START:MOV P1,#01111111B      最下面的LED點(diǎn)亮   LCALL DELAY;延時(shí)1秒   MOV P1,#10111111B            最下面第二個的LED點(diǎn)亮   LCALL DELAY;延時(shí)1秒   MOV P1,#11011111B            最下面第三個的LED點(diǎn)亮 (以下省略)  LCALL DELAY  MOV P1,#11101111B   LCALL DELAY  MOV P1,#11110111B   LCALL DELAY  MOV P1,#11111011B   LCALL DELAY  MOV P1,#11111101B   LCALL DELAY  MOV P1,#11111110B   LCALL DELAY   MOV P1,#11111111B              完成第一次循環(huán)點(diǎn)亮,延時(shí)約0.25秒   AJMP START                    反復(fù)循環(huán) ;延時(shí)子程序,12M晶振延時(shí)約250毫秒  DELAY: MOV R4,#2 L3: MOV R2 ,#250 L1: MOV R3 ,#250 L2: DJNZ R3 ,L2  DJNZ R2 ,L1 DJNZ R4 ,L3   RET  END 程序B:  ;用移位方式實(shí)現(xiàn)流水燈    org 00h    程序上電從00h開始              require.async(['wkcommon:widget/ui/lib/sio/sio.js'], function(sio) { var url = 'https://cpro.baidustatic.com/cpro/ui/c.js'; sio.callByBrowser( url, function () { BAIDU_CLB_fillSlotAsync('u2398768','cpro_u2398768'); } ); });             void function(e,t){for(var n=t.getElementsByTagName("img"),a=+new Date,i=[],o=function(){this.removeEventListener&&this.removeEventListener("load",o,!1),i.push({img:this,time:+new Date})},s=0;s< n.length;s++)!function(){var e=n[s];e.addEventListener?!e.complete&&e.addEventListener("load",o,!1):e.attachEvent&&e.attachEvent("onreadystatechange",function(){"complete"==e.readyState&&o.call(e,o)})}();alog("speed.set",{fsItems:i,fs:a})}(window,document);     ajmp main  跳轉(zhuǎn)到主程序 org 0030h    主程序起始地址  main:  mov a,#0feh  給A賦值成11111110  loop:   mov p1,a  將A送到P1口,發(fā)光二極管低電平點(diǎn)亮  lcall delay  調(diào)用延時(shí)子程序 rl a    累加器A循環(huán)左移一位 ajmp loop 重新送P1顯示  delay:  mov r3,#20  最外層循環(huán)二十次  d1:  mov r4,#80  次外層循環(huán)八十次  d2:  mov r5,#250  最內(nèi)層循環(huán)250次 djnz r5,$  總共延時(shí)2us*250*80*20=0.8S  djnz r4,d2 djnz r3,d1  ret end
作者: anivan    時(shí)間: 2016-12-15 20:40
這么普遍的程序,你沒有書嗎哼╭(╯^╰)╮
作者: quintinlee    時(shí)間: 2016-12-16 11:08
網(wǎng)上一搜一大把
作者: smile1    時(shí)間: 2016-12-16 11:12
我可以
作者: aaa405944519    時(shí)間: 2016-12-16 13:19
這個簡單
作者: lids    時(shí)間: 2017-1-6 14:28
多種流水燈
#include<reg52.h>  
#include<intrins.h>  
#define uint unsigned int  
#define uchar unsigned char  
void delays(uint xms)  
{  
    uint i,j;  
    for(i=xms;i>0;i--)  
       for(j=110;j>0;j--);  
}  
void main()  
{  
     uint i,j,n; uchar a,b,c,d;   
     for(i=0;i<1;i++)       //                                                               所有燈閃1下  
     {  
         P0=P1=P2=P3=0x00;delays(1000);  
         P0=P1=P2=P3=0xff;delays(1000);  
     }                        
                       P3=P2=0xff;                                                        //兩邊一起向下流水  
                       for(j=0;j<=8;j++)  
                       {  
                           P1=0xff<<j;P0=0xff<<j;delays(40);  
                       }  
                       for(j=0;j<=8;j++)  
                       {  
                           P3=0xff<<j; P2=0xff>>j;delays(40);  
                       }  
                       P0=P1=P2=P3=0x00;delays(500);  
                       for(j=0;j<8;j++)  
                       {P3=0xff<<(7-j);P2=0xff>>(7-j);delays(40);  
                       }  
                      for(j=0;j<8;j++)  
                       {  
                           P0=0xff<<(7-j);P1=0xff<<(7-j);delays(40);  
                       }                                 
                                    P3=P2=0xff;           //兩邊 雜亂 閃爍  
                                    for(j=0;j<=8;j++)  
                                    {P1=0xff<<j; P0=0xff<<j; delays(40);  
                                    }  
                                    for(j=0;j<=8;j++)  
                                    {P3=0xff>>j;P2=0xff<<j; delays(40);  
                                    }  
                                    P0=P1=P2=P3=0x00;delays(500);  
                                    for(j=0;j<8;j++)  
                                    {P1=0xff>>(7-j);P0=0xff>>(7-j);delays(40);  
                                    }  
                                    for(j=0;j<8;j++)  
                                    {P2=0xff>>(7-j);P3=0xff<<(7-j);delays(40);  
                                    }                                   
        P0=P1=P2=P3=0xff;    //一邊向下流水  
        for(j=0;j<=8;j++)  
        { P1=0xff<<j;delays(30);  
        }        
        for(j=0;j<=8;j++)  
        {  
              P3=0xff<<j;delays(30);  
        }  
        for(j=0;j<=8;j++)  
        {  
              P2=0xff<<j;delays(30);  
        }  
        for(j=0;j<=8;j++)  
        {  
              P0=0xff>>j;delays(30);  
        }   
        P0=P1=P2=P3=0x00;  
        delays(500)  ;  
        for(j=0;j<8;j++)  
        {   
              P0=0xff>>(7-j);delays(30);  
        }  
        for(j=0;j<8;j++)  
        {   
              P2=0xff<<(7-j);delays(30);  
        }  
        for(j=0;j<8;j++)  
        {   
              P3=0xff<<(7-j);delays(30);  
        }  
        for(j=0;j<8;j++)  
        {   
              P1=0xff<<(7-j);delays(30);  
        }  
        P0=P1=P2=P3=0xff;  
        for(j=0;j<=8;j++)  
        {  
              P0=0xff<<j; delays(30);  
        }        
        for(j=0;j<=8;j++)  
        {  
              P2=0xff>>j; delays(30);  
        }  
        for(j=0;j<=8;j++)  
        {  
              P3=0xff>>j;delays(30);  
        }  
        for(j=0;j<=8;j++)  
        {  
              P1=0xff>>j;delays(30);  
        }   
        P0=P1=P2=P3=0x00;  
        delays(500)  ;  
        for(j=0;j<8;j++)  
        {   
              P1=0xff>>(7-j);delays(30);  
        }  
        for(j=0;j<8;j++)  
        {   
              P3=0xff>>(7-j);delays(30);  
        }  
        for(j=0;j<8;j++)  
        {   
              P2=0xff>>(7-j);delays(30);  
        }  
        for(j=0;j<8;j++)  
        {   
              P0=0xff<<(7-j);delays(30);  
        }  //2   
                                     P0=P2=P3=0xff ;  
                       for(i=0;i<=8;i++)  
         {   P1=0xff<<i;delays(50);  
         } delays(800);  
         for(i=0;i<8;i++)  
         {   P1=0xff>>(7-i);delays(50);  
         }  P0=P1=P2=0xff;  
              for(i=0;i<=8;i++)  
              {  P3=0xff<<i;delays(50);  
              }   delays(800);  
              for(i=0;i<8;i++)  
              {   P3=0xff>>(7-i);delays(50);  
              }P0=P1=P3=0xff;   
         for(i=0;i<=8;i++)  
         {  P2=0xff<<i;delays(50);  
                                       }   delays(800);  
         for(i=0;i<8;i++)  
                                       {   P2=0xff>>(7-i);delays(50);  
                                       } P1=P2=P3=0xff;  
              for(i=0;i<=8;i++)  
              {  P0=0xff>>i;delays(50);  
              }      delays(800);  
              for(i=0;i<8;i++)  
              {  P0=0xff<<(7-i);delays(50);  
              }   
        P2=P3=0xff;for(i=0;i<=8;i++)  
                   {  
         P0=0xff<<i;P1=0xff<<i;delays(50);  
    }delays(800);  
    for(i=0;i<8;i++)  
    {  
         P0=0xff>>(7-i);P1=0xff>>(7-i);delays(50);      
    }P0=P1=0xff;  
         for(i=0;i<=8;i++)  
         {  
             P3=0xff<<i;P2=0xff>>i;delays(50);  
         }delays(800);  
         for(i=0;i<8;i++)  
         {  
             P3=0xff>>(7-i);P2=0xff<<(7-i);delays(50);  
         }  
         for(i=0;i<3;i++)  
         {  
             P1=P3=P2=0xcc;P0=0x33;delays(500);P1=P3=P2=0x33;P0=0xcc;delays(500);  
         }  
                          P1=P3=P2=0xcc;   P0=0x33;           //首先逆時(shí)針  
                                                        for(i=0;i<120;i++)  
                                                        {      
                                                               delays(100);P0=_cror_(P0,1);P1=_crol_(P1,1);P3=_crol_(P3,1);P2=_crol_(P2,1);  
                                                        }  
                                                        delays(1500) ;  
                                                        for(i=0;i<120;i++)  
                                                        {      
                                                               delays(100); P0=_crol_(P0,1);P1=_cror_(P1,1);P3=_cror_(P3,1);P2=_cror_(P2,1);  
                                                         } delays(1000);  
    P1=P3=P2=0x0f;   P0=0xf0;           //首先逆時(shí)針  
    for(i=0;i<80;i++)  
     {      
        delays(120);P0=_cror_(P0,1);P1=_crol_(P1,1);P3=_crol_(P3,1);P2=_crol_(P2,1);  
     }  
     delays(1500) ;  
      for(i=0;i<80;i++)  
     {      
        delays(120); P0=_crol_(P0,1);P1=_cror_(P1,1);P3=_cror_(P3,1);P2=_cror_(P2,1);  
     }   
                P1=P3=P0=0x77;P2=0xee;  
                for(i=0;i<50;i++)    //四口來回轉(zhuǎn)  
                {      
                        delays(100);P0=_crol_(P0,1);P1=_crol_(P1,1);P3=_crol_(P3,1);P2=_cror_(P2,1);  
                }      
  P0=P3=0xff;P1=P2=0xfe;  
                        for(i=0;i<8;i++)  
         {      delays(30);  
                P1=_crol_(P1,1);P2=_crol_(P2,1);   
         }P1=P2=0xff;P3=0xfe;P0=0x7f;  
         for(i=0;i<8;i++)  
         {      delays(30);  
                P3=_crol_(P3,1);P0=_cror_(P0,1);  
         }P0=0xfe;P3=0x7f;a=0x7f;  b=0xfe;  
      for(j=1;j<8;j++)  
      {  c=0xff<<j;d=0xff>>j;  
         P1=P2=0xfe;  
                        for(i=0;i<=7;i++)  
         {      delays(30);  
                P1=_crol_(P1,1);P2=_crol_(P2,1);  
         }P1=P2=0xff;                 
                                                      for(i=0;i<7;i++)  
                                                      {      
                P0=a&c;P3=b&d;delays(30);  
                                                             a=_cror_(a,1);b=_crol_(b,1);                                                                  
                                                      }  
       } P0=P3=0x00;b=0xfe;  
     for(j=1;j<8;j++)  
     {  d=0xff>>j;  
           for(i=0;i<7;i++)  
           {  
              P1=b&d;P2=b&d;delays(30);b=_crol_(b,1);  
           }            
     }  
  n=2;     while(n)  
          {  
             P1=P2=P3=0x7f;P0=0xfe;  
             for(i=0;i<7;i++)  
             {   delays(100);P1=_cror_(P1,1);P2=_cror_(P2,1);P3=_cror_(P3,1);P0=_crol_(P0,1);  
             } delays(100);  
             c=0xfe;d=0x7f;a=0x7f;b=0xfe;   
            for(j=0;j<9;j++)  
            {                 
               for(i=0;i<=8;i++)  
               {   
                  P1=P2=P3=c&a;P0=b&d;delays(100);  
   a=_cror_(a,1);b=_crol_(b,1);                     
               } c=_cror_(c,1);d=_crol_(d,1); a=c;b=d;  
            }n--;  
          }  
                                     P3=P2=0xff;        //兩邊一起向下亮  
                                     for(j=0;j<=8;j++)  
                                     {  
                                           P1=0xff<<j;P0=0xff<<j;delays(40);  
                                     }  
                                     for(j=0;j<=8;j++)  
                                     {  
                                           P3=0xff<<j; P2=0xff>>j;delays(40);  
                                     }  
while(1)                                                       //一心調(diào)頻率接近的跳動  
{  
    P0=P1=P2=P3=0x00;delays(800);  
    P0=P1=P2=P3=0xff;delays(800);  
}   
}  

作者: shengeryong    時(shí)間: 2017-1-6 14:58
仿真程序的實(shí)例中就有 你自己仔細(xì)找找
作者: ljwinhere    時(shí)間: 2017-1-6 15:59
#include <reg51.h> #include<intrins.h> #define uchar unsigned char uchar j,temp; void delay(unsigned int ms) { uchar t; while(ms--) for(t=0;t<123;t++); } void main() { P1=0xff; delay(500); temp=0xfe; //有點(diǎn)怪,led接在P2.3~P2.6 for(j=0;j<4;j++) { P1=temp; delay(500); temp=_crol_(temp,1); } P1=0xff; while(1); }
作者: x小白x    時(shí)間: 2017-2-17 07:49
1131014564 發(fā)表于 2016-12-9 20:28
#include
#include
#define uint unsigned int

謝謝啦正在學(xué)51
作者: x小白x    時(shí)間: 2017-2-17 07:49
qi_dianzikeji 發(fā)表于 2016-12-9 21:59
#include #include #define uint unsigned int #define uchar unsigned char uchar t1,t2,s; void delayms( ...

謝謝,很有幫助
作者: Chandler1983    時(shí)間: 2017-2-17 22:00
這個很多啊,網(wǎng)上隨便收收
作者: cgsm31    時(shí)間: 2017-2-18 08:19
#include<reg52.h>
int a[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//上至下
int b[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};//下至上
int c[]={0x7e,0xbd,0xdb,0xe7};//邊至中
int d[]={0xe7,0xdb,0xbd,0x7e};//中至邊
void delay(int);
void main()
{
        int i,j;
        while(1){
        for(i=1;i<4;i++)
        {
                P1=0xaa;
                delay(400);
                P1=0x55;
                delay(400);
        }
        for(j=0;j<3;j++)
         {
                        for(i=0;i<8;i++)
                        {
                                P1=a[i];
                                delay(20);
                                //P1=0xff;
                                //delay(20);
                        }
                        for(i=0;i<8;i++)
                        {
                                P1=b[i];
                                delay(20);
                                //P1=0xff;
                                //delay(20);
                        }
   }
         for(i=0;i<3;i++)
         {
                 for(j=0;j<4;j++)
                 {
                         P1=c[j];
                         delay(100);
                        // P1=0xff;
                        // delay(100);
     }
   }
         for(i=0;i<3;i++)
         {
                 for(j=0;j<4;j++)
                 {
                         P1=d[j];
                         delay(100);
                         //P1=0xff;
                         //delay(100);
     }
   }
         for(i=1;i<4;i++)
         {
                 P1=0x00;
                 delay(100);
                 P1=0xff;
                 delay(100);
   }
}
}
void delay(int z)
{
        int i,j;
        for(i=100;i>0;i--)
                for(j=z;j>0;j--);
}
作者: a425623964    時(shí)間: 2017-2-18 20:05
百度,就有啊,在這里等回復(fù)太慢了
作者: jselb1456    時(shí)間: 2017-2-19 17:00
百度一下,一大片。朋友
作者: 魚魚159357    時(shí)間: 2017-2-21 14:44
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
void delay1ms(uint);
void main()
{
   while(1)
{
    uchar a;
    a=0xfe;
    P0=a;
    a=_crol_(a,1);
    delay1ms(500);
  }
}
void delay1ms(uint m)
{
  uint i,j;
  for(i=0;i<m;i++)
  foe(j=0;j<110;j++);
}
   
作者: 陳曉    時(shí)間: 2017-2-21 18:01
這個網(wǎng)上一大片哦! 一般教程都是從點(diǎn)燈開始的
作者: 你陳冠想    時(shí)間: 2017-2-21 18:16
#include<reg52.h>
int a[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//上至下
int b[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};//下至上
int c[]={0x7e,0xbd,0xdb,0xe7};//邊至中
int d[]={0xe7,0xdb,0xbd,0x7e};//中至邊
void delay(int);
void main()
{
        int i,j;
        while(1){
        for(i=1;i<4;i++)
        {
                P1=0xaa;
                delay(400);
                P1=0x55;
                delay(400);
        }
        for(j=0;j<3;j++)
         {
                        for(i=0;i<8;i++)
                        {
                                P1=a[i];
                                delay(20);
                                //P1=0xff;
                                //delay(20);
                        }
                        for(i=0;i<8;i++)
                        {
                                P1=b[i];
                                delay(20);
                                //P1=0xff;
                                //delay(20);
                        }
   }
         for(i=0;i<3;i++)
         {
                 for(j=0;j<4;j++)
                 {
                         P1=c[j];
                         delay(100);
                        // P1=0xff;
                        // delay(100);
     }
   }
         for(i=0;i<3;i++)
         {
                 for(j=0;j<4;j++)
                 {
                         P1=d[j];
                         delay(100);
                         //P1=0xff;
                         //delay(100);
     }
   }
         for(i=1;i<4;i++)
         {
                 P1=0x00;
                 delay(100);
                 P1=0xff;
                 delay(100);
   }
}
}
void delay(int z)
{
        int i,j;
        for(i=100;i>0;i--)
                for(j=z;j>0;j--);
}
作者: 你陳冠想    時(shí)間: 2017-2-21 18:24
#include<reg52.h>
int a[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//上至下
int b[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};//下至上
int c[]={0x7e,0xbd,0xdb,0xe7};//邊至中
int d[]={0xe7,0xdb,0xbd,0x7e};//中至邊
void delay(int);
void main()
{
        int i,j;
        while(1){
        for(i=1;i<4;i++)
        {
                P1=0xaa;
                delay(400);
                P1=0x55;
                delay(400);
        }
        for(j=0;j<3;j++)
         {
                        for(i=0;i<8;i++)
                        {
                                P1=a[i];
                                delay(20);
                                //P1=0xff;
                                //delay(20);
                        }
                        for(i=0;i<8;i++)
                        {
                                P1=b[i];
                                delay(20);
                                //P1=0xff;
                                //delay(20);
                        }
   }
         for(i=0;i<3;i++)
         {
                 for(j=0;j<4;j++)
                 {
                         P1=c[j];
                         delay(100);
                        // P1=0xff;
                        // delay(100);
     }
   }
         for(i=0;i<3;i++)
         {
                 for(j=0;j<4;j++)
                 {
                         P1=d[j];
                         delay(100);
                         //P1=0xff;
                         //delay(100);
     }
   }
         for(i=1;i<4;i++)
         {
                 P1=0x00;
                 delay(100);
                 P1=0xff;
                 delay(100);
   }
}
}
void delay(int z)
{
        int i,j;
        for(i=100;i>0;i--)
                for(j=z;j>0;j--);
}
作者: 你陳冠想    時(shí)間: 2017-2-21 18:25
#include<reg52.h>
int a[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//上至下
int b[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};//下至上
int c[]={0x7e,0xbd,0xdb,0xe7};//邊至中
int d[]={0xe7,0xdb,0xbd,0x7e};//中至邊
void delay(int);
void main()
{
        int i,j;
        while(1){
        for(i=1;i<4;i++)
        {
                P1=0xaa;
                delay(400);
                P1=0x55;
                delay(400);
        }
        for(j=0;j<3;j++)
         {
                        for(i=0;i<8;i++)
                        {
                                P1=a[i];
                                delay(20);
                                //P1=0xff;
                                //delay(20);
                        }
                        for(i=0;i<8;i++)
                        {
                                P1=b[i];
                                delay(20);
                                //P1=0xff;
                                //delay(20);
                        }
   }
         for(i=0;i<3;i++)
         {
                 for(j=0;j<4;j++)
                 {
                         P1=c[j];
                         delay(100);
                        // P1=0xff;
                        // delay(100);
     }
   }
         for(i=0;i<3;i++)
         {
                 for(j=0;j<4;j++)
                 {
                         P1=d[j];
                         delay(100);
                         //P1=0xff;
                         //delay(100);
     }
   }
         for(i=1;i<4;i++)
         {
                 P1=0x00;
                 delay(100);
                 P1=0xff;
                 delay(100);
   }
}
}
void delay(int z)
{
        int i,j;
        for(i=100;i>0;i--)
                for(j=z;j>0;j--);
}
作者: 遇見之影    時(shí)間: 2017-5-5 22:51
#include <reg51.h> #include <intrins.h> #define uchar unsigned char #define uint unsigned int  void DelayMS(uint x) {          uchar i;         while(x--)         {                  for(i=120;i>0;i--);         } }  void main() {          P0 = 0xFE;         while(1)         {                  P0 = _crol_(P0,1);    // _crol_,_cror_:將char型變量循環(huán)向左(右)移動指定位數(shù)后返回                  DelayMS(150);         } }
作者: liquanbing    時(shí)間: 2017-5-5 22:52
#include <reg52.h>   #include<intrins.h> #define uchar unsigned char #define uint unsigned int uchar b=0x01; void delay(uchar  x) {     uchar a;     while(x--)      {              for(a=0;a<120;a++);       } }  void main() {   while(1)    {         P0=b;      delay(50);       b=_crol_(b,1);      } }
作者: yuhaibo    時(shí)間: 2017-5-5 22:54
#在這里快速回復(fù)##include <reg52.h>
作者: 1311638554    時(shí)間: 2017-5-6 00:01
這個在別的帖子里有文件可以直接下載
作者: 將你軍    時(shí)間: 2017-5-6 09:03
#include<reg52.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intvoid delay(uint z);main(){ uchar aa; while(1){ aa=0xfe;P1=aa;delay(100);
作者: cam226390674    時(shí)間: 2017-5-6 13:06
#include <reg52.h>
作者: cam226390674    時(shí)間: 2017-5-6 13:09
#include <reg52.h>11
作者: ym0706    時(shí)間: 2017-5-6 13:54
網(wǎng)上好多的
作者: 605891789    時(shí)間: 2017-5-6 15:16
這個網(wǎng)上一大把
作者: hcl857256004    時(shí)間: 2017-5-6 15:27
這個網(wǎng)上很多吧
作者: hhdhhd    時(shí)間: 2017-5-6 16:07
用FPGA做的
作者: 蒙面小僧    時(shí)間: 2017-5-6 16:59

/*---------------------------------------------------------------*/
#include<reg52.h> //包含頭文件,一般情況不需要改動,
                  //頭文件包含特殊功能寄存器的定義
/*-------------------------IO口定義----------------------------*/
sbit P20 = P2^0;//這是為了關(guān)閉開發(fā)板上的數(shù)碼管實(shí)際應(yīng)用去掉
sbit P21 = P2^1;//這是為了關(guān)閉開發(fā)板上的數(shù)碼管實(shí)際應(yīng)用去掉
sbit CS88 = P2^2;//這是為了關(guān)閉開發(fā)板上的點(diǎn)陣實(shí)際應(yīng)用去掉

sbit LED0=P1^0;// 用sbit 關(guān)鍵字 定義 LED到P1.0端口,
sbit LED1=P1^1;//LED是自己任意定義且容易記憶的符號
sbit LED2=P1^2;
sbit LED3=P1^3;
sbit LED4=P1^4;
sbit LED5=P1^5;
sbit LED6=P1^6;
sbit LED7=P1^7;
/*------------------------------------------------
                    主函數(shù)
------------------------------------------------*/
void main (void)
{
        P1=0x00;//這是為了關(guān)閉開發(fā)板上的數(shù)碼管實(shí)際應(yīng)用去掉
        P20=0; //這是為了關(guān)閉開發(fā)板上的數(shù)碼管實(shí)際應(yīng)用去掉
        P21=0; //這是為了關(guān)閉開發(fā)板上的數(shù)碼管實(shí)際應(yīng)用去掉
        CS88=0; //這是為了關(guān)閉開發(fā)板上的點(diǎn)陣實(shí)際應(yīng)用去掉
        P1=0xFF;//P1口置1

                  //此方法使用bit位對單個端口賦值
LED0=0;            //將P1.0口賦值 0,對外輸出低電平
LED1=1;
LED2=0;
LED3=1;
LED4=0;
LED5=1;
LED6=0;
LED7=1;
while (1)         //主循環(huán)
  {
                  //主循環(huán)中添加其他需要一直工作的程序
  }
}
作者: 844636242    時(shí)間: 2017-5-6 19:24

#include "reg52.h"                         //此文件中定義了單片機(jī)的一些特殊功能寄存器
#include<intrins.h>                //因?yàn)橐玫阶笥乙坪瘮?shù),所以加入這個頭文件

typedef unsigned int u16;          //對數(shù)據(jù)類型進(jìn)行聲明定義
typedef unsigned char u8;

#define led P2           //將P2口定義為led 后面就可以使用led代替P2口

/*******************************************************************************
* 函 數(shù) 名         : delay
* 函數(shù)功能                   : 延時(shí)函數(shù),i=1時(shí),大約延時(shí)10us
*******************************************************************************/
void delay(u16 i)
{
        while(i--);       
}

/*******************************************************************************
* 函 數(shù) 名       : main
* 函數(shù)功能                 : 主函數(shù)
* 輸    入       : 無
* 輸    出             : 無
*******************************************************************************/
void main()
{
        u8 i;
        led=0xfe;
        delay(50000); //大約延時(shí)450ms       
        while(1)
        {       
/*                for(i=0;i<8;i++)
                {
                        P2=~(0x01<<i);         //將1右移i位,然后將結(jié)果取反賦值到P2口
                        delay(50000); //大約延時(shí)450ms
                }
*/               
                for(i=0;i<7;i++)         //將led左移一位
                {
                        led=_crol_(led,1);
                        delay(50000); //大約延時(shí)450ms       
                }
                for(i=0;i<7;i++)        //將led右移一位
                {
                        led=_cror_(led,1);
                        delay(50000); //大約延時(shí)450ms       
                }       
        }               
}
作者: Uranus    時(shí)間: 2017-5-6 20:17
#include<reg52.h>                                                      //包含特殊功能寄存器定義的頭文件
                                                                                          


sbit ADDR0 = P1^0;                                                          //位地址聲明,注意:sbit必須小寫,P必須大寫

sbit ADDR1 = P1^1;

sbit ADDR2 = P1^2;

sbit ADDR3 = P1^3;

sbit ENLED = P1^4;



int main(void)

{
                                                         
        unsigned char cnt1 = 0;                                              //定義一個字符型變量cnt1,并初始賦值0

        unsigned char cnt2 = 0;                                          //定義一個字符型變量cnt2,并初始賦值0

        unsigned int i = 0;                                                 //定義無符號整型變量i,并初始賦值0



        ENLED = 0;                                                                   // 使能3-8譯碼器

        ADDR3 = 1;

        ADDR2 = 1;                                        // 開啟8盞小燈總開關(guān)

        ADDR1 = 1;

        ADDR0 = 0;



        while(1)                                   //主循環(huán),程序無限循環(huán)執(zhí)行該循環(huán)體語句

        {

                P0 = ~(0x01 << cnt1);                       // P0等于1左移cnt位,控制8個LED燈,P0等于1時(shí)二進(jìn)制是0b00000001,然后取反變成0b11111110,8個小燈以此類推

                for (i=0; i<30000; i++);                           //軟件延時(shí)
                                                                                           //移位計(jì)數(shù)變量自加1
                cnt1++;

            
                if(cnt1 >= 8)                                                  //移位計(jì)數(shù)超過7次后,再重新從0開始
            {

               for (cnt2=0; cnt2<=7; ++cnt2)       // 實(shí)現(xiàn)從左向右移動
                                                                                         
                        {

                                 P0 = ~(0x80 >> cnt2);                   //P0等于0x80右移cnt位,控制8個LED燈,P0等于80時(shí)二進(jìn)制是0b10000000,然后取反變成0b01111111,8個小燈以此類推

                                 for (i=0; i<30000; i++);           //軟件延時(shí)
                                                                                          
                                                                                          
                                 if(cnt2 >= 7)                                   //移位計(jì)數(shù)超過6次后,再重新從0開始

                                  {

                                        cnt1 = 0;                                   //移位計(jì)數(shù)cnt1等于0時(shí),開始循環(huán)

                                  }

                         }

                  }

                cnt2 = 0;                                                          //移位計(jì)數(shù)cnt2等于0時(shí),重新開始程序循環(huán)

        }



        return 0;                                                          //返回住函數(shù)

}




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1