久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網(wǎng) >> MCU設計實例 >> 瀏覽文章

單片機LED流水燈閃爍燈程序大集合

作者:佚名   來源:本站原創(chuàng)   點擊數(shù):  更新時間:2011年10月28日   【字體:
/*
點亮LED燈:方1  位操作方式   sbit D1=P1^0;
    方2  總線方工     P1=0x??;
讓LED燈閃爍
*/
/*
//方1:位操作方式點亮LED
#include<reg52.h>
sbit  D1=P1^0;      //P1^0的P必須是大寫
void main()
{
    D1=0;        //使用P1^0必須先經(jīng)過sbit定義,而不能直接用P1^0=0;否則編譯過不了
}
*/

//-----------------------------------------------------------------------------------------------------------
/*
//方2:總線方式點亮LED
#include<reg52.h>
void main()
{
    P1=0xfd;         //1111 1100 LED是共陽的,低電平時點亮,所以就是LED1和2燈被點亮
}
*/

//-----------------------------------------------------------------------------------------------------------
/* 讓LED燈閃爍    采用位點亮+內(nèi)部循環(huán)進行延時
#include <reg52.h>
sbit D1=P1^3;              //隨便一個你也可改為P1^0,注意P要大寫的才可以
unsigned int a;
void main()
{
D1=0;
for (a=0;a<=20000;a++) {};       //for循環(huán) {}空操作即可形成延時效果
D1=1;
for (a=0;a<=20000;a++) {};
}
*/

//-----------------------------------------------------------------------------------------------------------
/*
//讓LED燈閃爍    采用位方式+delay延時函數(shù)方式
#include <reg52.h>
sbit D1=P1^0;    //位操作方式
unsigned int a;
void delay(int x)         //延時
{
int a,b;
for(a=x;a>0;a--)
for(b=110;b>0;b--);
}
void  main()
{
D1=0;
delay(50);           //調(diào)用延時
D1=1;
delay(50);
/
}
*/

//-----------------------------------------------------------------------------------------------------------
/*
//讓3個燈一起閃爍  ,采用總線方式
#include<reg52.h>
unsigned int a;
void delay(int x)          //延時
{
int a,b;
for(a=x;a>0;a--)
for(b=110;b>0;b--);
}
void main()
{
P1=0xf8;             //1111 1000,點亮前3個燈,3個燈一起閃爍
delay(500);
P1=0xff;
delay(500);
}
*/

//-----------------------------------------------------------------------------------------------------------
/*
//讓LED燈閃爍   采用wlile方式
#include <reg52.h>
sbit P10=P1^0;
int a;
void main()
{
while(1)
  {
     a=51000;
     P10=0;         //點亮燈
     while(a--);    //程序停在這里,一直執(zhí)行減法,直到a從51000減到0后退出循環(huán),這就形成延時
     a=5100;      //前面a已經(jīng)減成0了,這里再給它個初值
     P10=1;
    while(a--);    //又從初值51000減到0為止,形成延時效果
}
}
*/
//-----------------------------------------------------------------------------------------------------------
/*
//流水燈 ,在PIC單片機里流水燈只要設整個端的0x??值然后采用端口值=端口值<<1左移1位即可形成流水燈
//而在52單片機里卻不行,得用_crol關皺字,而這個關鍵字又是在另一頭文件intrins.h里,所以在開頭就得先包含它_
#include <reg52.h>
#include <intrins.h>     //因為要用到corol這一關鍵字
#define uchar unsigned char
sbit P23=P2^3 ;
sbit D1=P1^0;
void delay(int x)
{
int a,b;
for(a=x;a>0;a--)
for(b=110;b>0;b--);
}
void main()
{
uchar a,temp;
temp=0xfe;
  for (a=8;a>0;a--)   //循環(huán)8次,即流水燈8個循環(huán)8次即可點亮8個
      {
        P1=temp;
       temp=_crol_(temp,1); //移動
      delay(100);
     }
}
*/

//-----------------------------------------------------------------------------------------------------------

//流水燈 :正流+倒流;在PIC里流水燈只要設整個端的0x??值然后采用端口值=端口值<<1左移1位即可形成流水燈
//而在52單片機里卻不行,得用_crol關皺字,而這個關鍵字又是在另一頭文件intrins.h里,所以在開頭就得先包含它
#include <reg52.h>
#include <intrins.h>     //因為要用到corol這一關鍵字
#define uchar unsigned char
sbit P23=P2^3 ;
sbit D1=P1^0;
void delay(int x)
{
int a,b;
for(a=x;a>0;a--)
for(b=110;b>0;b--);
}
void main()
{
uchar a,temp;
temp=0xfe;
  for (a=8;a>0;a--)   //循環(huán)8次,即流水燈8個循環(huán)8次即可點亮8個
     {
      P1=temp;
      temp=_crol_(temp,1); //移動
      delay(100);
     }
temp=0x7f;              //注意這一句,如果沒有這一句,下面的語句循環(huán)是循環(huán)了,卻沒東西出來
    for (a=8;a>0;a--)   //循環(huán)8次,即流水燈8個循環(huán)8次即可點亮8個
   {
     P1=temp;
    temp=_crol_(temp,-1); //移動
     delay(100);
   }
} 
關閉窗口

相關文章

主站蜘蛛池模板: 欧美一级高清片 | 一区二区三区成人 | 国产欧美精品一区二区色综合朱莉 | 亚洲精品美女在线观看 | 久久一| 久久国产精品一区二区 | 成人在线不卡 | 91亚洲国产成人久久精品网站 | 欧美999| 欧美国产日韩在线观看成人 | 日韩在线精品强乱中文字幕 | 天天操人人干 | 在线观看免费高清av | 欧美成人免费在线视频 | 免费精品久久久久久中文字幕 | 国产高清区 | 国产高清久久久 | 日韩不卡视频在线观看 | 人操人免费视频 | 成人免费视屏 | 国产精品久久久久不卡 | 成人在线a| 国产欧美日韩综合精品一区二区 | 麻豆国产精品777777在线 | 精品一区二区三区在线播放 | av黄色在线 | 日韩av一区二区在线观看 | 成人免费观看男女羞羞视频 | 国产天天操 | 成人在线视频一区 | 精品在线一区二区三区 | ww亚洲ww亚在线观看 | 久久91精品久久久久久9鸭 | 91人人在线| 中国一级毛片免费 | 人成在线| 亚洲欧美在线视频 | 国产激情精品视频 | 国产精品揄拍一区二区久久国内亚洲精 | 亚洲欧美国产毛片在线 | 国产不卡视频在线 |