资源描述:
《硬件连基于AT89C51单片机的交通信号灯控制系统.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、硬件连基于AT89C51单片机的交通信号灯控制系统哦,第一次提问,问的太笼统了,我是电路硬件部分不会设计,请大家帮帮忙主要要求是(1)以AT89C51为核心的交通信号灯控制系统的设计方案;(2)根据设计方案绘制硬件原理图;(3)根据硬件原理图绘制印刷电路板图(PCB);,谢谢接图给了,是proteus仿真的,不过毕设没这么简单吧..难道主要是要你设计pcb,原理图没有,程序我有复制给你看看吧仿真图的复位和晶振电路没截图,反正仿真的时候画布画都行#include#defineucharunsignedchar#defineuin
2、tunsignedintsbitRED_A=P0^0;sbitYELLOW_A=P0^1;sbitGREEN_A=P0^2;sbitRED_B=P0^3;sbitYELLOW_B=P0^4;sbitGREEN_B=P0^5;ucharFlash_Count=0;Operation_Type=1;voidDelayMS(uintx){uchart;while(x--){for(t=120;t>0;t--);}}voidTraffic_lignt(){switch(Operation_Type){case1:RED_A=1;YELLOW_A=1;G
3、REEN_A=0;RED_B=0;YELLOW_B=1;GREEN_B=1;DelayMS(2000);Operation_Type=2;break;case2:DelayMS(200);YELLOW_A=~YELLOW_A;if(++Flash_Count!=10)return;Flash_Count=0;Operation_Type=3;break;case3:RED_A=0;YELLOW_A=1;GREEN_A=1;RED_B=1;YELLOW_B=1;GREEN_B=0;DelayMS(2000);Operation_Type=4;br
4、eak;case4:DelayMS(200);YELLOW_B=~YELLOW_B;if(++Flash_Count!=10)return;Flash_Count=0;Operation_Type=1;break;}}voidmain(){while(1){Traffic_lignt();}}一、设计目的:在完成“单片机原理及应用”课程的学习后,通过设计小型的单片机应用系统,加深对所学知识的理解和提高单片机系统的设计能力。二、设计任务和要求:1、设计任务:设计基于AT89C51单片机的十字路口交通灯控制电路。2、具体要求:(1)设计硬件电路,包
5、括:单片机最小系统、2位LED数码管显示器、3个按钮的键盘(SET、UP、DOWN)、12个led指示灯(红黄绿三种颜色,东西并联、南北并联),等。(2)基本功能:要求东西方向(A方向)车道和南北方向(B方向)车道两条交叉道路上的车辆交替通行,每次通行时间为N秒(红灯、绿灯亮的时间为N秒,N≤60S),可以设置。在绿灯转为红灯时,要求黄灯先亮3秒(固定),才能交换运行车道。剩余秒数显示:2位LED数码管,倒计时方式:(N+3)~1可选的扩展功能:黄灯亮时,要求0.5s闪烁一次。A方向、B方向的通行时间可以不同,如:A方向通行50s,B方向通行3
6、0s。#includeunsignedchartemp;unsignedcharkey;unsignedchari,j;unsignedcharSTH0;unsignedcharSTL0;unsignedintcodetab[]={64021,64103,64260,64400,64524,64580,64684,64777,64820,64898,64968,65030,65058,65110,65157,65178};voidmain(void){TMOD=0x01;ET0=1;EA=1;while(1){P3=0xf
7、f;//将P3口取出P3_4=0;//使P3_4为低电平,这样可以判断第一竖排有没有键按下temp=P3;temp=temp&0x0f;if(temp!=0x0f)//有键按下{for(i=50;i>0;i--)for(j=200;j>0;j--);//延时temp=P3;temp=temp&0x0f;if(temp!=0x0f)//再判断是否有键按下{temp=P3;temp=temp&0x0f;switch(temp)//判断是哪个键按下{case0x0e:key=0;break;case0x0d:key=1;break;case0x0b:
8、key=2;break;case0x07:key=3;break;}temp=P3;P1_0=~P1_0;P0=table[key];STH0=tab