智能交通灯简单控制程序c51.docx

上传人:b****7 文档编号:25764632 上传时间:2023-06-13 格式:DOCX 页数:16 大小:15.20KB
下载 相关 举报
智能交通灯简单控制程序c51.docx_第1页
第1页 / 共16页
智能交通灯简单控制程序c51.docx_第2页
第2页 / 共16页
智能交通灯简单控制程序c51.docx_第3页
第3页 / 共16页
智能交通灯简单控制程序c51.docx_第4页
第4页 / 共16页
智能交通灯简单控制程序c51.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

智能交通灯简单控制程序c51.docx

《智能交通灯简单控制程序c51.docx》由会员分享,可在线阅读,更多相关《智能交通灯简单控制程序c51.docx(16页珍藏版)》请在冰豆网上搜索。

智能交通灯简单控制程序c51.docx

智能交通灯简单控制程序c51

#include

unsignedchara;

unsignedcharb;

unsignedcharc;

unsignedchard;

unsignedchare;

sbithh=P3^7;

sbithong1=P1^0;

sbithuang1=P1^1;

sbitlv1=P1^2;

sbithong2=P1^3;

sbithuang2=P1^4;

sbitlv2=P1^5;

sbithong3=P1^6;

sbithuang3=P1^7;

sbitlv3=P3^0;

sbithong4=P3^1;

sbithuang4=P3^2;

sbitlv4=P3^3;

unsignedcharcodeTab[11]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};

unsignedcharint_time1;

unsignedcharint_time2;

unsignedcharsecond1=30;

unsignedcharsecond2=30;

unsignedcharsecond3=30;

unsignedcharsecond4=30;

/***************************************************

***************************************************/

voiddelay1ms(unsignedintl)

{

unsignedcharn;

while(l--)

{

for(n=0;n<125;n++)

{

;

}

}

}

/***************************

*************************************************/

voidbiandeng1(void)

{

if(b==0&&a>=3)

{

hong1=1;

huang1=1;

lv1=0;

hong2=0;

huang2=1;

lv2=1;

hong3=0;

huang3=1;

lv3=1;

hong4=0;

huang4=1;

lv4=1;

}

elseif(b==0&&(a==1||a==2))

{

hong1=1;

huang1=0;

lv1=1;

hong2=0;

huang2=1;

lv2=1;

hong3=0;

huang3=1;

lv3=1;

hong4=0;

huang4=1;

lv4=1;

}

}

voidbiandeng2(void)

{

if(b==1&&(a!

=1||a!

=2))

{

hong1=0;

huang1=1;

lv1=1;

hong2=1;

huang2=1;

lv2=0;

hong3=0;

huang3=1;

lv3=1;

hong4=0;

huang4=1;

lv4=1;

if(b==1&&(a==1||a==2))

{

hong1=0;

huang1=1;

lv1=1;

hong2=1;

huang2=0;

lv2=1;

hong3=0;

huang3=1;

lv3=1;

hong4=0;

huang4=1;

lv4=1;

}

}

}

voidbiandeng3(void)

{

if(b==2&&(a!

=1||a!

=2))

{

hong1=0;

huang1=1;

lv1=1;

hong2=1;

huang2=0;

lv2=1;

hong3=1;

huang3=1;

lv3=0;

hong4=0;

huang4=1;

lv4=1;

if(b==2&&(a==1||a==2))

{

hong1=0;

huang1=1;

lv1=1;

hong2=0;

huang2=1;

lv2=1;

hong3=1;

huang3=0;

lv3=1;

hong4=0;

huang4=1;

lv4=1;

}

}

}

voidbiandeng4(void)

{

if(b==3&&(a!

=1||a!

=2))

{

hong1=0;

huang1=1;

lv1=1;

hong2=0;

huang2=1;

lv2=1;

hong3=0;

huang3=1;

lv3=1;

hong4=1;

huang4=1;

lv4=0;

if(b==3&&(a==1||a==2))

{

hong1=0;

huang1=1;

lv1=1;

hong2=0;

huang2=1;

lv2=1;

hong3=0;

huang3=1;

lv3=1;

hong4=1;

huang4=0;

lv4=1;

}

}

}

/***********************

****************************/

voiddelay(void)

{

unsignedcharm;

for(m=0;m<250;m++)

;

}

/***********************************************************************

************************************************************************/

voidDisplaySecond1(unsignedcharh)

{

P2=0xfe;

P0=Tab[h/10];

delay();

P2=0xff;

P0=0xff;

delay();

P2=0xfd;

P0=Tab[h%10];

delay();

P2=0xff;

P0=0xff;

delay();

}

/*---------------------------------------

----------------------------------------------*/

voidDisplaySecond2(unsignedchari)

{

P2=0xfb;

P0=Tab[i/10];

delay();

P2=0xff;

P0=0xff;

delay();

P2=0xf7;

P0=Tab[i%10];

delay();

P2=0xff;

P0=0xff;

delay();

}

/*---------------------------------------

----------------------------------------------*/

voidDisplaySecond3(unsignedcharj)

{

P2=0xef;

P0=Tab[j/10];

delay();

P2=0xff;

P0=0xff;

delay();

P2=0xdf;

P0=Tab[j%10];

delay();

P2=0xff;

P0=0xff;

delay();

}

/*---------------------------------------

----------------------------------------------*/

voidDisplaySecond4(unsignedchark)

{

P2=0xbf;

P0=Tab[k/10];

delay();

P2=0xff;

P0=0xff;

delay();

P2=0x7f;

P0=Tab[k%10];

delay();

P2=0xff;

P0=0xff;

delay();

}

/*******************************************

********************************************/

voidchuzhi1(void)

{

DisplaySecond1(second1);

DisplaySecond2(second2);

DisplaySecond3(second3);

DisplaySecond4(second4);

}

voidchuzhi2(void)

{

DisplaySecond1(second4);

DisplaySecond2(second1);

DisplaySecond3(second2);

DisplaySecond4(second3);

}

voidchuzhi3(void)

{

DisplaySecond1(second3);

DisplaySecond2(second4);

DisplaySecond3(second1);

DisplaySecond4(second2);

}

voidchuzhi4(void)

{

DisplaySecond1(second2);

DisplaySecond2(second3);

DisplaySecond3(second4);

DisplaySecond4(second1);

}

/***********************************************************************

************************************************************************/

voidmain(void)

{

TMOD=0x01;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

TH1=(65536-1000)/256;

TL1=(65536-1000)%256;

EA=1;

ET0=1;

TR0=1;

ET1=1;

TR1=1;

a=30;

b=0;

c=0;

d=0;

e=0;

int_time1=0;

int_time2=0;

while

(1)

{

chuzhi1();

biandeng1();

biandeng2();

biandeng3();

biandeng4();

}

}

//********************************************************

//*******************************************************

voidinterserve1(void)interrupt1using1

{

TR0=0;

int_time1++;

if(int_time1==20)

{

int_time1=0;

second1--,second2--,second3--,second4--,a--;

if(second1==0)

second1=30;

if(second2==0)

second2=30;

if(second3==0)

second3=30;

if(second4==0)

second4=30;

if(a==0)

{

b++,a=30;

if(b==4)

b=0;

}

}

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

TR0=1;

}

//********************************************************

//*******************************************************

voidinterserve2(void)interrupt3using1

{

TR1=0;

int_time2++;

if(int_time2==100)

{

int_time2=0;

}

if(c==1)

{

d++;

if(d==250)

d=0;

e++;

if(e==250)

e=0;

}

TH1=(65536-1000)/256;

TL1=(65536-1000)%256;

TR1=1;

}

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

当前位置:首页 > 农林牧渔 > 林学

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

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