硬件连基于AT89C51单片机的交通信号灯控制系统.doc

硬件连基于AT89C51单片机的交通信号灯控制系统.doc

ID:55610311

大小:67.50 KB

页数:15页

时间:2020-05-18

硬件连基于AT89C51单片机的交通信号灯控制系统.doc_第1页
硬件连基于AT89C51单片机的交通信号灯控制系统.doc_第2页
硬件连基于AT89C51单片机的交通信号灯控制系统.doc_第3页
硬件连基于AT89C51单片机的交通信号灯控制系统.doc_第4页
硬件连基于AT89C51单片机的交通信号灯控制系统.doc_第5页
资源描述:

《硬件连基于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

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。