專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

一個(gè)簡單的流水燈c51程序

作者:佚名   來源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2009年10月08日   【字體:

//代碼出自51hei單片機(jī)網(wǎng)
#include<reg52.h> //頭文件
#define uchar unsigned char   //宏定義
#define uint  unsigned int
void delay(uint x)    //延時(shí)函數(shù)(控制燈亮與滅的間隔)
{
  uint i,j;
   for(i=500;i>0;i--)
   for(j=x;j>0;j--);
}
void main()    //主函數(shù)
{
   uchar i;   //定義局部變量
   P2=0x00;  //關(guān)閉所有發(fā)光二極管
   while(1)   //死循環(huán)
   {
    P2=0xfe;   //第一個(gè)二極管亮
     delay(100); //延時(shí)
      for(i=0;i<7;i++) //左移7次
      {
         P2=~P2;   //把P2的值取反
         P2=P2<<1;  //左移一位
         P2=~P2;
         delay(100);
      }
      for(i=0;i<3;i++)
      {
         P2=0xff; //所有的二極管都滅
         delay(100);
         P2=0x00; //所有的二極管都亮
         delay(100);
      }
      P2=0x7f;   //最后一個(gè)二極管亮
      delay(100);
      for(i=0;i<7;i++)
      {
         P2=~P2;
         P2=P2>>1;
         P2=~P2;
         delay(100);
      }
      for(i=0;i<3;i++)
      {
         P2=0x00;
         delay(100);
         P2=0xff;
         delay(100);
      }  
   }
}
/*注:發(fā)光二極管接單片機(jī)的P2口,低電平有效,即可實(shí)現(xiàn)流水燈效果
*/
 
 

關(guān)閉窗口

相關(guān)文章