標(biāo)題: 單片機(jī)做流水燈C程序 [打印本頁]

作者: liuyang    時(shí)間: 2012-3-19 03:22
標(biāo)題: 單片機(jī)做流水燈C程序
程序原是控制P1口現(xiàn)在經(jīng)我改成P2口,學(xué)單片機(jī)的你 知道怎么改的......廢話不多說  下面是原代碼:
 
 
#include<reg52.h>       //包含頭文件
#include<intrins.h>         //包含有左右循環(huán)移位子函數(shù)的庫
#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;           //點(diǎn)亮P1口所有LED,延時(shí)1000ms
   delay(1000);
   P2=0xff;           //熄滅P1口所有LED,延時(shí)1000ms
   delay(1000);
  }
  for(i=3;i>0;i--)       //奇偶交替成流水燈狀態(tài)
  {
   P2=0x55;      
   delay(1000);
   P2=0xaa;
   delay(1000);
  }
  P2=0xff;
  delay(300);
  for(i=3;i>0;i--)       //P1口單燈左移流水,循環(huán)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口單燈右移流水,循環(huán)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口由兩邊向中間流水,循環(huán)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口由中間向兩邊流水,循環(huán)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;             //點(diǎn)亮小燈
    delay(200);       //延時(shí)200毫秒
    k=_crol_(k,1);       //將a變量循環(huán)左移一位
   }
   k=_crol_(k,j);         //補(bǔ)齊,方便下面的左移一位
   P2=0xff;         //全部關(guān)閉
   k=k<<1;         //左移一位讓多一個燈點(diǎn)亮
  }
 }
}
void delay(uint xms)        //延時(shí)函數(shù)
{
 uint i,j;
 for(i=xms;i>0;i--)        //外層for中變量為多少,就延時(shí)約多少ms
  for(j=110;j>0;j--);       //當(dāng)內(nèi)層for語句中變量恒定值為110時(shí)
}

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




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