交通信号灯C语言源程序文档格式.docx

上传人:b****5 文档编号:19749204 上传时间:2023-01-09 格式:DOCX 页数:15 大小:16.12KB
下载 相关 举报
交通信号灯C语言源程序文档格式.docx_第1页
第1页 / 共15页
交通信号灯C语言源程序文档格式.docx_第2页
第2页 / 共15页
交通信号灯C语言源程序文档格式.docx_第3页
第3页 / 共15页
交通信号灯C语言源程序文档格式.docx_第4页
第4页 / 共15页
交通信号灯C语言源程序文档格式.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

交通信号灯C语言源程序文档格式.docx

《交通信号灯C语言源程序文档格式.docx》由会员分享,可在线阅读,更多相关《交通信号灯C语言源程序文档格式.docx(15页珍藏版)》请在冰豆网上搜索。

交通信号灯C语言源程序文档格式.docx

unsignedcharkey;

voiddelay_ms(unsignedinta);

voidadd_process();

voidsub_process();

voidset_process();

voidscan_key();

voidinit();

voiddelay_ms(unsignedinta)

{unsignedchari;

while(a--)

{i=70;

while(i--);

}

}

voidadd_process()

{

delay_ms(600);

if(!

P3^2)

{

delay_ms(500);

if(P3^2)

{

if(key==1)

{

set_value[0]=set_value[0]+10;

if(set_value[0]>

99)

{

set_value[0]=set_value[0]%10;

}

disp_ew=set_value[0];

}

if(key==2)

set_value[1]++;

if(set_value[1]>

9)

set_value[1]=0;

disp_ew=set_value[1];

if(key==3)

set_value[2]=set_value[2]+10;

if(set_value[2]>

set_value[2]=set_value[2]%10;

disp_sn=set_value[2];

if(key==4)

set_value[3]++;

if(set_value[3]>

set_value[3]=0;

disp_sn=set_value[3];

}

while(!

delay_ms(1200);

}

else

P3^2);

if(key==1)

set_value[0]++;

if(set_value[0]>

set_value[0]=0;

disp_ew=set_value[0];

if(key==2)

set_value[1]++;

if(set_value[1]>

set_value[1]=0;

disp_ew=set_value[1];

if(key==3)

set_value[2]++;

if(set_value[2]>

set_value[2]=0;

disp_sn=set_value[2];

if(key==4)

set_value[3]++;

if(set_value[3]>

set_value[3]=0;

disp_sn=set_value[3];

voidsub_process()

P3^3)

if(P3^3)

while(!

P3^3);

set_value[0]=set_value[0]-10;

if(set_value[0]<

0)

set_value[0]=set_value[0]+100;

set_value[1]--;

if(set_value[1]<

set_value[1]=9;

set_value[2]=set_value[2]-10;

if(set_value[2]<

set_value[2]=set_value[2]+100;

set_value[3]--;

if(set_value[3]<

set_value[3]=9;

set_value[0]--;

if(set_value[0]<

set_value[0]=99;

set_value[1]--;

if(set_value[1]<

set_value[1]=9;

set_value[2]--;

if(set_value[2]<

set_value[2]=99;

set_value[3]--;

if(set_value[3]<

set_value[3]=9;

voidset_process()

while(!

P3^0);

ET1=0;

TR1=0;

key=key+1;

falsh_sign=1;

if(key>

5)

key=1;

if(key==1)

disp_ew=set_value[0];

P1=0xfb;

direction_sign=1;

if(key==2)

disp_ew=set_value[1];

P1=0xfd;

if(key==3)

disp_sn=set_value[2];

P1=0xdf;

direction_sign=2;

if(key==4)

disp_sn=set_value[3];

P1=0xef;

if(key==5)

disp_sn=set_value[0]+set_value[1];

P1=0xf3;

falsh_sign=0;

ET1=1;

TR1=1;

}

voidscan_key()

while(P3^0&

&

P3^2&

P3^3);

delay_ms(15);

P3^0)

{

set_process();

add_process();

sub_process();

else

return;

voiddisp_t0(void)interrupt1

TR0=0;

num++;

num=(num%4);

P2=0xff;

P0=0xff;

P2=bittab[num];

switch(num)

case0:

P0=disptab[disp_sn%10];

break;

case1:

P0=disptab[disp_sn/10];

case2:

P0=disptab[disp_ew%10];

case3:

P0=disptab[disp_ew/10];

default:

;

TH0=0xD8;

TL0=0xF0;

TR0=1;

voiddisp_count_t1(void)interrupt3

TH1=0x3C;

TL1=0xB0;

secnum++;

if(secnum==20)

disp_sn--;

disp_ew--;

if(disp_ew==0&

sign[0]==1)

EW_LED_GREEN=1;

EW_LED_YELLOW=0;

sign[1]=1;

sign[0]=0;

sign[1]==1)

disp_ew=set_value[2]+set_value[3];

SN_LED_RED=1;

EW_LED_YELLOW=1;

EW_LED_RED=0;

SN_LED_GREEN=0;

sign[2]=1;

sign[1]=0;

if(disp_sn==0&

sign[2]==1)

SN_LED_GREEN=1;

SN_LED_YELLOW=0;

sign[3]=1;

sign[2]=0;

sign[3]==1)

disp_sn=set_value[0]+set_value[1];

EW_LED_RED=1;

SN_LED_YELLOW=1;

EW_LED_GREEN=0;

SN_LED_RED=0;

sign[0]=1;

sign[3]=0;

secnum=0;

}

voidinit()

direction_sign=0;

falsh_sign=0;

flash_count=0;

secnum=0;

key=0;

P0=0xff;

disp_sn=set_value[0]+set_value[1];

disp_ew=set_value[0];

EW_LED_GREEN=0;

SN_LED_RED=0;

P3=0xf8;

TMOD=0x11;

EA=1;

ET0=1;

TR1=1;

ET1=1;

voidmain()

init();

while

(1)

scan_key();

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1