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

標題: LED閃爍 [打印本頁]

作者: daniu    時間: 2014-12-27 14:48
標題: LED閃爍
/************************************1*************************************
標題: LED閃爍
作者: aphi
日期: 2009.5.26  OK!
軟件: Keil uVision3
芯片: STC89C51
說明:要實現led 閃爍,也就是一下亮一下熄,如此反復,但由于單片機執行指令時間是微
     秒級,由于人眼視覺暫留,我們會看到LED一直在亮,所以要讓亮和熄延時一段時間。
     本程序采用while軟件延時 .
***************************************************************************/
#include<reg52.h>
sbit d1=P1^0 ;
unsigned int a;
void main()
{
while(1)       //無限循環
{
  a=51000;
  d1=0;
  while(a--);
  a=51000;
  d1=1;  
  while(a--);
}
}



/*********************************2****************************************
標題: LED閃爍
作者: aphi
日期: 2009.5.26  OK!
軟件: Keil uVision3
芯片: STC89C51
說明: 本程序采用for軟件延時 .
***************************************************************************/
#include<reg52.h>
sbit d1=P1^0;
unsigned int a;
void main()
{
for(;;)                         //無限循環
{  
  d1=0;
  for(a=51000;a>0;a--);
  d1=1;  
  for(a=51000;a>0;a--);
}
}

/*********************************3****************************************
標題: LED閃爍
作者: aphi
日期: 2009.5.26  OK!
軟件: Keil uVision3
芯片: STC89C51.
說明: 本程序采用定時器軟件延時,判斷溢出。
***************************************************************************/
#include<reg52.h>
sbit d1=P1^1;
void delay(unsigned int i)
{
TMOD=0X01;                        
IE=0X00;
TR0=1;
while(i!=0)
{
  TH0=(65536-50000)/256;
  TL0=(65536-50000)%256;
  while(TF0!=1);            //判斷溢出
  TF0=0;
  i--;
}
TR0=0;
}
void main()
{
while(1)
{
  d1=0;
  delay(10);
  d1=1;
  delay(10);
}
}


/*********************************4****************************************
標題: LED閃爍
作者: aphi
日期: 2009.5.26  OK!
軟件: Keil uVision3
芯片: STC89C51
說明: 本程序采用定時器軟件延時,等待中斷。
***************************************************************************/
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit P1_0=P1^0;
uchar a;
void main()
{
   TMOD=0x01;
   TH0=(65536-50000)/256;
   TL0=(65536-50000)%256;
   EA=1;
   ET0=1;
   TR0=1;
   while(1);//等待中斷產生
}

void timer0() interrupt 1
{
   TH0=(65536-50000)/256;
   TL0=(65536-50000)%256;
   a++;
   if(a==10)
   {
    a=0;
    P1_0=~P1_0;
   }
}


作者: 12211221    時間: 2017-8-9 20:21
要是我想讓所有的燈同時閃爍,或者幾個特殊位置閃爍,而不去逐個定義sbit,怎么破/
作者: YJ5815    時間: 2017-8-10 21:47
直接對一組IO口賦值




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