#include<reg52.h>
#include <intrins.h>
void led();
sbit out=P2^3;//定義火焰傳感器DO輸出引腳
//sbit led=P2^4;
void delay(int x)
{
int i,j;
for(i=0;i<x;i++)
for(j=0;j<110;j++);
}
void led()
{
unsigned char LED;
LED = 0xfe; //0xfe = 1111 1110
while(1)
{
P1 = LED;
delay(250);
LED = LED << 1; //循環右移1位,點亮下一個LED "<<"為左移位
if(P2 == 0x00 )
{
LED = 0xfe;
} // 0xfe = 1111 1110
}
}
int main()
{
while(1)
{
if(out==0)//如果檢測到火焰并且小于設定的值,火焰傳感器返回一個0低電平,注意當模塊接通電源時DO腳是1高電平。
{
led();//調用跑馬燈led
}
}}
|