51单片机控制交通灯原理图及C语言程序_第1页
51单片机控制交通灯原理图及C语言程序_第2页
51单片机控制交通灯原理图及C语言程序_第3页
51单片机控制交通灯原理图及C语言程序_第4页
51单片机控制交通灯原理图及C语言程序_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Proteus仿真原理图:KeilC源程序:#include<reg51.h>#defineucharunsignedchar#defineuintunsignedintsbitRED_DONGXI=P1^0;//南北方向红灯亮sbitYELLOW_DONGXI=P1^1;//南北方向黄灯亮sbitRED_NANBEI=P1^3;//东西方向红灯亮sbitGREEN_DONGXI=P1^2;//南北方向绿灯亮sbitYELLOW_NANBEI=P1^4;//东西方向黄灯亮sbitGREEN_NANBEI=P1^5;//东西方向绿灯亮sbitDXweixuan1=P1^6;//南北方向数码管位选1sbitDXweixuan2=P1^7;//南北方向数码管位选2sbitNBweixuan1=P3^0;//东西方向数码管位选1sbitNBweixuan2=P3^1;//东西方向数码管位选2sbitL1=P3^5;sbitL2=P3^6;sbitL3=P3^7;uintaa,bai,shi,ge,bb;uintshi1,ge1,shi2,ge2;uintcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};uintcodetable1[]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6};voiddelay(uintz);voidinit(uinta);voiddisplay(uintshi1,uintge1,uintshi2,uintge2);voidxtimer0();voidinit1();voidinit2();voidinit3();voidinit4();voidinit5();voidxint1();voidxint0();voidLED_ON();voidLED_OFF();voidmain(){ P0=0xFF; P1=0xFF; P2=0x00; P3=0xFF; EA=1; EX0=1; IT0=0; init1();while(1){ init2();//第2个状态 init3();//第3个状态 init4();//第4个状态 init5();//第5个状态 }}voidinit1()//第一个状态:东西、南北方向均亮红灯5S{ uinttemp; temp=5; TMOD=0x01; TH0=(65535-50000)/256; TL0=(65535-50000)%256; EA=1; ET0=1; TR0=1; while(1) { RED_DONGXI=0;//第一个状态东西、南北均亮红灯5S RED_NANBEI=0; GREEN_DONGXI=1; GREEN_NANBEI=1; YELLOW_DONGXI=1; YELLOW_NANBEI=1; if(aa==20)//定时20*50MS=1S { aa=0; temp--; } shi1=shi2=temp/10; ge1=ge2=temp%10; if(temp==0) { temp=5; break; } display(ge1,shi1,ge2,shi2); }}voidinit2()//第二个状态:东西亮红灯30S~5S、南北亮绿灯25~0S;{ uinttemp; temp=26; TMOD=0x01; TH0=(65535-50000)/256; TL0=(65535-50000)%256; EA=1; ET0=1; TR0=1; while(1) { RED_DONGXI=1; RED_NANBEI=0; GREEN_DONGXI=0; GREEN_NANBEI=1; YELLOW_DONGXI=1;//第二个状态:东西亮绿灯25S、南北亮红灯 YELLOW_NANBEI=1; if(aa==20)//定时20*50MS=1S { aa=0; temp--; shi1=(temp+5)/10; ge1=(temp+5)%10; shi2=temp/10; ge2=temp%10; if(temp==0) { temp=26; break; } } display(ge1,shi1,ge2,shi2); }}voidinit3()//第三个状态:东西绿灯变为黄灯闪5次、南北亮红灯5S{ uinttemp; temp=6; TMOD=0x01; TH0=(65535-50000)/256; TL0=(65535-50000)%256; EA=1; ET0=1; TR0=1; while(1) { RED_NANBEI=0; GREEN_DONGXI=1; if(aa==20)//定时20*50MS=1S { aa=0; temp--; YELLOW_DONGXI=~YELLOW_DONGXI; shi1=temp/10; shi2=shi1; ge1=temp%10; ge2=ge1; } if(temp==0) { temp=6; break; } display(ge1,shi1,ge2,shi2); }}voidinit4()//第四个状态:东西亮绿灯25~0S,南北方向亮红灯30~5S;{ uinttemp; temp=26; TMOD=0x01; TH0=(65535-50000)/256; TL0=(65535-50000)%256; EA=1; ET0=1; TR0=1; while(1) { RED_DONGXI=0; RED_NANBEI=1; YELLOW_DONGXI=1;//第一个状态东西、南北均亮红灯5S GREEN_NANBEI=0; if(aa==20) { aa=0; temp--; shi1=temp/10; shi2=(temp+5)/10; ge1=temp%10; ge2=(temp+5)%10; if(temp==0) { temp=26; break; } } display(ge1,shi1,ge2,shi2); }}voidinit5()//第五个状态:东西亮红灯、南北绿灯闪5次转亮黄灯5S{ uinttemp; temp=6; TMOD=0x01; TH0=(65535-50000)/256; TL0=(65535-50000)%256; EA=1; ET0=1; TR0=1; while(1) { RED_NANBEI=1; RED_DONGXI=0; GREEN_DONGXI=1; GREEN_NANBEI=1; if(aa==20) { aa=0; temp--; YELLOW_NANBEI=~YELLOW_NANBEI; shi1=temp/10; shi2=shi2; ge1=temp%10; ge2=ge1; if(temp==0) { temp=6; break; } } display(ge1,shi1,ge2,shi2); }}voiddisplay(uintshi1,uintge1,uintshi2,uintge2){ DXweixuan1=0; DXweixuan2=1; NBweixuan1=1; NBweixuan2=1; P0=table[ge1]; delay(5); DXweixuan1=1; DXweixuan2=0; NBweixuan1=1; NBweixuan2=1; P0=table[shi1]; delay(5); DXweixuan1=1; DXweixuan2=1; NBweixuan1=0; NBweixuan2=1; P0=table[ge2]; delay(5); DXweixuan1=1; DXweixuan2=1; NBweixuan1=1; NBweixuan2=0; P0=table[shi2]; delay(5);}voidxint0()interrupt0{ RED_NANBEI=0; RED_DONGXI=0; GREEN_NANBEI=1; GREEN_DONGXI=1; YELLOW_NANBEI=1; YELLOW_DONGXI=1; P0=0x00; NBweixuan1=0; NBweixuan2=0; DXweixuan1=0; DXweixuan2=0; delay(2); return; }voidxint1()interrupt2{ RED_NANBEI=1; RED_DONGXI=1; GREEN_NANBEI=0; GREEN_DONGXI=0; YELLOW_NANBEI=1; YELLOW_DONGXI=1; P0=0x00; NBweixuan1=0;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论