欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: 單片機(jī)流水燈三種不同方法源程序(位運(yùn)算+庫(kù)函數(shù)+字符型數(shù)組) [打印本頁(yè)]

作者: Lydia~    時(shí)間: 2018-10-28 08:08
標(biāo)題: 單片機(jī)流水燈三種不同方法源程序(位運(yùn)算+庫(kù)函數(shù)+字符型數(shù)組)
流水燈程序(位運(yùn)算):
  1. #include <REGX51.H>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. unsigned char i;
  5. unsigned char temp;
  6. void Delayms(unsigned int ms)
  7. {
  8.    unsigned int i,j;
  9.    for(i=0;i<ms;i++)
  10.    for(j=0;j<120;j++);
  11. }
  12. void main(void)
  13. {
  14.    while(1)
  15.    {
  16.       temp = 0x01;           //0x01=0000 0001
  17.           for(i=1;i<8;i++)
  18.           {
  19.                   P2=~temp;           //P2=1111 1110  對(duì)temp取反,保證每次循環(huán)只亮一個(gè)燈
  20.                   temp=temp<<1;                //按位左移,高位丟棄,低位補(bǔ)0
  21.                   Delayms(200);
  22.           }
  23.           for(i=1;i<8;i++)
  24.           {
  25.                   P2=~temp;        
  26.                   temp=temp>>1;  //按位右移,高位補(bǔ)0,低位丟棄
  27.                   Delayms(200);
  28.           }
  29.    }
  30. }
復(fù)制代碼


流水燈代碼(庫(kù)函數(shù)):
  1. #include <REGX51.H>
  2. #include <intrins.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. void Delayms(uint ms)
  6. {
  7.    uchar t;
  8.    while(ms--)
  9.    {
  10.       for(t=0;t<120;t++);
  11.    }
  12. }

  13. void main()
  14. {
  15.    uchar i,j;
  16.    P2 = 0xfe;
  17.    while(1)
  18.    {
  19.       for(i=0;i<7;i++)
  20.           {
  21.                  P2 = _crol_(P2,1);         //P1端口向左循環(huán)移動(dòng)一位
  22.                  Delayms(300);
  23.           }
  24.           for(j=0;j<7;j++)
  25.           {
  26.             P2 = _cror_(P2,1);        //P1端口向右循環(huán)移動(dòng)一位
  27.                 Delayms(300);
  28.           }
  29.    }
  30. }
復(fù)制代碼


流水燈(字符型數(shù)組):

  1. #include <REGX51.H>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. uchar code Pattern_P2[] =
  5. {
  6.    0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f
  7. };
  8. void Delayms(uint ms)
  9. {
  10.    uchar t;
  11.    while(ms--)
  12.    {
  13.       for(t=0;t<120;t++);
  14.    }
  15. }
  16. int main()
  17. {
  18.    uchar i;
  19.    while(1)
  20.    {
  21.       for(i=0;i<8;i++)
  22.           {
  23.              P2=Pattern_P2[i];
  24.                  Delayms(200);
  25.           }
  26.           for(i=8;i--;i>0)
  27.           {
  28.              P2=Pattern_P2[i];
  29.                  Delayms(200);
  30.           }
  31.    }
  32. }
復(fù)制代碼







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