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

標題: 單片機做流水燈C程序 [打印本頁]

作者: liuyang    時間: 2012-3-19 03:22
標題: 單片機做流水燈C程序
程序原是控制P1口現在經我改成P2口,學單片機的你 知道怎么改的......廢話不多說  下面是原代碼:
 
 
#include<reg52.h>       //包含頭文件
#include<intrins.h>         //包含有左右循環移位子函數的庫
#define uchar unsigned char
#define uint unsigned int
void delay(uint);
void main()
{
 while(1)
 {
  uchar i,j,k;
  for(i=3;i>0;i--)       
  {
   P2=0x00;           //點亮P1口所有LED,延時1000ms
   delay(1000);
   P2=0xff;           //熄滅P1口所有LED,延時1000ms
   delay(1000);
  }
  for(i=3;i>0;i--)       //奇偶交替成流水燈狀態
  {
   P2=0x55;      
   delay(1000);
   P2=0xaa;
   delay(1000);
  }
  P2=0xff;
  delay(300);
  for(i=3;i>0;i--)       //P1口單燈左移流水,循環3次
  {
   k=0xfe;
   for(j=0;j<8;j++)
   {
    P2=k;      
    delay(200);
    k=_crol_(k,1);
   }
  }
  P2=0xff;
  delay(300);
  for(i=3;i>0;i--)       //P1口單燈右移流水,循環3次
  {
   k=0xfe;
   for(j=0;j<8;j++)
   {
    P2=k;      
    delay(300);
    k=_cror_(k,1);
   }
  }
  P2=0xff;
  delay(300);
  for(j=0;j<3;j++)           //P1口由兩邊向中間流水,循環3次
  {
   P2=0x7e;      
   delay(300);
   P2=0xbd;
   delay(300);
   P2=0xdb;      
   delay(300);
   P2=0xe7;
   delay(300);
  }
  P2=0xff;
  delay(300);
  for(j=0;j<3;j++)          //P1口由中間向兩邊流水,循環3次
  {
   P2=0xe7;      
   delay(300);
   P2=0xdb;
   delay(300);
   P2=0xbd;      
   delay(300);
   P2=0x7e;
   delay(300);
  }
  P2=0xff;
  delay(300);
  k=0xfe;             //賦初值
  for(j=0;j<8;j++)
  {
   for(i=0;i<8-j;i++)        //左移
   {
    P2=k;             //點亮小燈
    delay(200);       //延時200毫秒
    k=_crol_(k,1);       //將a變量循環左移一位
   }
   k=_crol_(k,j);         //補齊,方便下面的左移一位
   P2=0xff;         //全部關閉
   k=k<<1;         //左移一位讓多一個燈點亮
  }
 }
}
void delay(uint xms)        //延時函數
{
 uint i,j;
 for(i=xms;i>0;i--)        //外層for中變量為多少,就延時約多少ms
  for(j=110;j>0;j--);       //當內層for語句中變量恒定值為110時
}

作者: 51mcu    時間: 2012-3-20 17:22
最好增加一些簡單的功能說明.




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