久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > EDA/PCB > 設計應用 > 基于89C52單片機的紅外遙控雙模式交通燈控制系統

基于89C52單片機的紅外遙控雙模式交通燈控制系統

作者: 時間:2012-08-31 來源:網絡 收藏

void display(shi,ge)

{ dula=1;

P0=table[shi];

dula=0;

wela=1;

P0=table1[0];

wela=0;

delay(5);

P0=0xff; // 對數碼管消影

dula=1;

P0=table[ge];

dula=0;

wela=1;

P0=table1[1];

wela=0;

delay(5);

P0=0xff;}

模式一函數:

void mod1()

{ if(num==1gtime>5) // 東西道紅燈亮,南北道綠燈亮,最后5 秒切換成黃燈

{ LED5=0;

LED1=0; }

if(num==2) // 東西道綠燈亮,南北道紅燈亮

{ LED2=0;

LED6=0;

LED5=1;

LED3=1;

LED1=1; }

if(num==1gtime==5) // 東西道紅燈亮,南北道黃燈亮5 秒

{ LED5=1;

LED2=1;

LED3=0; }

shi=gtime/10;

ge=gtime%10;

if(aa==20) // 50ms×20=1s, 即過1s 數碼管數字減1

{ aa=0;

gtime--; }

display(shi,ge);

if(gtime==0num!=2)

{ gtime=60;

num=2; }

if(gtime==0num==2)

{ num=1;

gtime=60;

LED2=1;

LED6=1; } }

模式二函數:

如同模式一,只是參數有變化。如將gtime=60 換成rtime=40;num=1 換成numa=1;僅此而已。

主函數:

void main()

{ init();

while(1)

/* 模式一,平常模式,紅綠燈切換時間為60 秒*/

{ if(MODEL1==1||HMODE1==0) // 按鍵或紅外控制切換模式

{ mod1(); }

/* 通過按鍵切換工作模式*/

if(KEY1==0)

{ delay(5); //按鍵消抖

while(KEY1==0)

{ MODEL1++;

rtime=40;

if(MODEL1==3)

{ MODEL1=1;

gtime=60; }

while(!KEY1); } }

… …

/*模式二,上下班高峰期模式。紅綠燈切換時間為40 秒*/

if(MODEL1==2||HMODE1==1)

{ mod2(); }

} }

void timer0() interrupt 1

{ TH0=15536/256;

TL0=15536%256;

aa++; }

紅外遙控器相關文章:紅外遙控器原理


評論


相關推薦

技術專區

關閉