毕业生电子竞赛设计 交通灯设计说明书.docx
- 文档编号:3516975
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:17
- 大小:331.83KB
毕业生电子竞赛设计 交通灯设计说明书.docx
《毕业生电子竞赛设计 交通灯设计说明书.docx》由会员分享,可在线阅读,更多相关《毕业生电子竞赛设计 交通灯设计说明书.docx(17页珍藏版)》请在冰豆网上搜索。
毕业生电子竞赛设计交通灯设计说明书
湄洲湾职业技术学院
基于单片机的交通灯设计说明书
系别:
自动化工程系_____
年级:
10级专业:
电气自动化技术
姓名:
学号:
1001020232
导师姓名:
邱兴阳职称:
讲师
2013年5月29日
目录
1.前言1
2.系统设计参数要求2
3.系统设计3
3.1系统设计总体框图3
3.2各模块原理说明3
3.2.1最小系统AT89C52模块3
3.2.274HC245芯片模块4
3.2.3显示模块功能5
3.2.4控制按钮模块5
3.3系统总原理图说明6
3.4系统印刷版图6
3.5系统的操作说明6
3.6系统操作注意事项6
参考文献7
致谢语8
附录9
附录一.电路总原理图9
附录二.系统印刷电路板图10
附录三.电路原件清单11
附录四.源程序12
1.前言
自从1858年英国人,发明了原始的机械扳手交通灯之后,随后的一百多年里,交通灯改变了交通路况,也在人们日常生活中占据了重要地位,随着人们社会活动日益增加,经济发展,汽车数量急剧增加,城市道路日渐拥挤,交通灯更加显示出了它的功能,使得交通得到有效管制,对于交通疏导,提高道路导通能力,减少交通事故有显著的效果。
近年来随着单片机芯片的发展,单片机在各个领域的应用越来越多,单片机往往作为一个核心部件来使用,在实时检测和自动控制的单片机应用系统中,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。
十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。
那么靠什么来实现这井然秩序呢?
靠的就是交通信号灯的自动指挥系统。
交通信号灯控制方式很多。
本系统采用STC89C52单片机以及单片机最小系统和三极管驱动电路以及外围的按键和数码管显示等部件,设计一个基于单片机的交通灯设计。
设计通过两位一体共阴极数码管显示,并能通过按键对定时进行设置。
本系统实用性强、操作简单、扩展功能强。
设计通过STC89C52单片机以及单片机最小系统和74HC245驱动数码管(数码管更亮,白天看的很清楚)以及外围的按键和数码管显示等部件,数码管倒计时显示时间。
2.系统设计参数要求
1.用单片机STC89C52设计一个交通灯系统,并用数码管显示时间,LED指示通行。
2、用74HC245来驱动4个数码管,使数码管在白天也能清晰可见。
3.按键功能:
黄灯常亮(深夜模式)、禁行(紧急模式)、东西通行、南北通行、时间加、时间减、切换、确定、停止。
4.电路供电电源5v。
3.系统设计
3.1系统设计总体框图
单片机
图3-1系统设计总体框图
3.2各模块原理说明
3.2.1最小系统AT89C52模块
AT89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。
AT89C52主要管脚说明:
VCC(40脚):
供电电压GND(20脚):
接地RST:
复位输入。
/EA/VPP(31脚):
当/EA为低电平时,不管是否有内部程序存储器,只选用片外存储器,外部程序存储器地址为:
0000H-FFFFH。
反之当单片机上电或复位后选用片内程序存储器。
XTAL1(19脚):
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2(18脚):
来自反向振荡器的输出。
单片机最小系统采用5V电源供电,利用晶振电路给单片机工作运行提供脉冲。
图3-2最小系统
3.2.274HC245芯片模块
74HC245是一款高速CMOS器件,74HC245引脚兼容低功耗肖特基TTL(LSTTL)系列。
74HC245八路收发器在发送和接收两个方向上都具有正相三态总线兼容输出。
74HC245的输出使能端
用于实现轻松级联,而发送/接收端(DIR)用于控制方向。
控制输出,使得总线被有效的隔离输出。
图3-374HC245芯片引脚图
3.2.3显示模块功能
显示模块分别用数码管显示和LED显示,数码管倒计时显示可以提醒驾驶员在信号灯颜色发生改变的时间、在“停止”和“通过”两者间作出合适的选择。
驾驶员和行人普遍都愿意选择有倒计时显示的信号控制方式,并且认为有倒计时显示的路口更安全。
倒计时显示是用来减少驾驶员在信号灯色改变的关键时刻做出复杂判断的一种方法,它可以提醒驾驶员灯色发生改变的时间,帮助驾驶员在“停止”和“通过”两者间作出合适的选择。
通过两种显示结合,是本设计更合理可靠。
如下图3-4所示。
图3-4显示模块功能图
3.2.4控制按钮模块
本系统要求的按键控制不多,单片机的I/0口足够,可直接采用独立式。
按键可以设置系统的运行状态,禁行状态为数码管均显示“00”,红灯全亮;复位按键可以将整个系统复位;时间加减可以设置通行和等待通行的时间;切换按键可以切换加减的方向时间。
通过按键模块的控制,使得整个系统具有灵活性,实用性。
如下图3-5所示。
图3-5控制按钮模块
3.3系统总原理图说明
当接通5v电源后,按下电源开关,南北方向数码管显示“25”。
数码管开始倒计时,到5秒的时候,黄灯跟蜂鸣器鸣响5下,将切换红绿黄灯。
系统总原理图见附1。
按键1复位、按键2黄灯常亮(深夜模式)、按键3红灯常亮(紧急模式)、按键4南北通行、按键5东西通行、按键6确定、按键7时间加、按键8时间减、按键9停止。
3.4系统印刷版图
见附录2
3.5系统的操作说明
1.接好电路中的电源供电线。
2.检查好电路板中没有短路现象、电源供电线都接好后通电使用。
3.电路安装好后,通电即可正常使用。
3.6系统操作注意事项
1.通电使用前先对照电路板与电路图是否有错焊、漏焊、短路、开路、元器件相碰等现象,有要处理好后再使用。
2.通电使用前先检查好电路板是否与电源供电线、驱动电路开关与负载供电线、负载供电线之间相互接反,不得在接错的情况下通电,要处理好后再使用。
3.应把电极片与电路板隔离,避免电极片与电路板上元器件相碰触发生短路现象。
4.通电时应把电路板放在绝缘物体上,避开其他导电物体避免发生短路现象。
5.使用时闻到烧焦味、发现元器件或集成块冒烟烧毁应立即断开电源,待电路板查明原因处理好后才可以继续通电使用。
6.调试电路时应小心操作,避免万用表笔或其它导电工具造成人为短路,更换电路板元件、焊接时应断开电源后再操作避免造成元器件击穿或电路短路现象。
参考文献
[1]李建忠.单片机原理及应用[M].西安电子科技大学出版社,2008
[2]张毅刚.单片机原理及接口技术.哈尔滨:
哈尔滨工业大学出版社,1999
[3]徐爱钧.8051单片机实践教程[M].北京电子工业出版社,2005
[4]楼然苗,李光飞.51系列单片机设计实例[M].北京航空航天大学出版社,2006
[5]陈小忠,黄宁.单片机接口技术实用子程序[M],北京:
北京人民邮电出版社,2005
[6]全国大学生电子设计竞赛组委会.北京:
北京理工大学出版社,2004年8月.
[7]韩全立.赵德申编著.微机控制技术[M].北京:
机械工业出版社,2008
[8]王守中,聂元铭.51单片机开发入门与典型实例[M].北京:
人民邮电出版社,2009
[9]钟富昭,张晨.8051单片机典型模块设计与应用[M].北京:
人民邮电出版社,2007
[10]蒋汝根、钱丹浩.基于AT89C52单片机的交通灯模拟控制系统[M].北京:
机械工业出版社,2006
致谢语
时光匆匆如流水,转眼便是大学毕业时节,春梦秋云,聚散真容易,在毕业设计即将完成之际,我想向曾经给我帮助和支持的人表示衷心的感谢。
在这次的毕业设计作品过程中,让我学到很多。
看是简单的东西,其中还是有小细节需要注意,不能马虎。
就如做板时,布线的粗细;焊接时,不能虚焊;调试时,正负极要分清等等。
首先,我要感谢我的父母,使您们用给了我上大学的机会,是您们用辛勤汗水让我完成大学三年的学业,您们辛苦了。
其次我要感谢我的导师邱兴阳老师,您在百忙中抽出时间耐心地指导我,对毕业作品提出不足并教我怎么去改进创新。
再次,感谢翁娟钗辅导员,您在生活上和工作上给了我很大的帮助。
还要感谢各学科的老师们,如李清生老师、郑维清老师、叶志琼老师、赵立琼老师、林航老师、李志杰老师、陈辉煌老师、林寿光老师、梁锋林老师、陈丽霞老师、许振龙老师、杨阿弟老师,谢海琴老师等传授了我很多知识,在学业上给了我很大帮助。
使我真切切的体会到了老师们的良苦用心,系部的所有老师,对我们的学习、生活,健康都十分的关注。
最后,要感谢我的同学们,在毕业作品制作中所遇到的问题,同学们都会放下自己手中的事,不惜占用自己的宝贵时间来帮助我解难。
在平时的生活了,他们能包容我的缺点给予我帮助。
在此,对所有帮助过我的人表示衷心的感谢。
-
附录
附录一.电路总原理图
附录二.系统印刷电路板图
附录三.电路原件清单
名称
规格
数量
主要功能或作用
按钮
6*6*5
9
分别控制黄灯常亮(深夜模式)、禁行(紧急模式)、东西通行、南北通行、时间加、时间减、切换、确定。
电容
30P
2
单片机时钟振荡
电容
10UF
1
单片机复位
电阻
220
3
限流
排阻
10K
2
单片机
单片机
AT89C2052
1
CPU
晶体
12M
1
单片机时钟振荡
芯片
74HC245
1
放大驱动数码管显示
三极管
9012
1
驱动蜂鸣器
蜂鸣器
12*9.5MM
1
信号灯切换时报警
两位一体共阴数码
0.36
4
倒计显示
芯片底座
40脚
1
保护引脚
芯片底座
20脚
1
保护引脚
发光二极管(红)
5MM
4
交通灯路口显示
发光二极管(绿)
5MM
4
交通灯路口显示
发光二极管(黄)
5MM
4
交通灯路口显示
发光二极管
3MM
1
电源显示
自锁开关
8*8MM
1
控制VCC
USB电源线
60MM
1
连接USB口
DC座
3.5*1.3MM
1
直流电源插座
插针
2
外接电源接线
PCB板
155MMX100MM
1
附录四.源程序
#include
#defineucharunsignedchar
#defineuintunsignedint
#definetime50000
#defineon0
#defineoff1
sbitRED_ZHU=P0^0;//南北红灯
sbitYELLOW_ZHU=P0^1;//南北黄灯
sbitGREEN_ZHU=P0^2;//南北绿灯
sbitRED_ZHI=P0^3;//东西红灯
sbitYELLOW_ZHI=P0^4;//东西黄灯
sbitGREEN_ZHI=P0^5;//东西绿灯
sbitP23=P3^4;
sbitP22=P3^5;//东西方向数码管位选
sbitP21=P3^6;
sbitP20=P3^7;//南北方向数码管位选
sbitint0_key=P3^2;
sbitint1_key=P3^3;
voiddisplay1(uchar,uchar);
voiddisplay2(uchar,uchar);
voiddelayms(uintk);
uchartemp1,temp2,temp3,temp4,temp5,temp6;
/*===============倒计时=========================*/
ucharN=50,Y=45,Z=50,M=75,G=80,U=80;
ucharC50ms,t0;
ucharseg=1;
ucharflag=0,led_data_temp;
voidInitialT1(void)
{
TMOD=0x11;//定时器0,1工作在方式1
TH1=(65536-time)/256;//相当于(65536-time)/256;
TL1=(65536-time)%256;//初值为time(50ms)
TR1=1;//开定时器1中断
ET1=1;//允许定时器1中断
ET0=1;
TH0=(65536-time)/256;
TL0=(65536-time)%256;
EX0=1;//允许外部中断0
IE0=1;//启动外部中断0
PX0=1;
EX1=1;
IE1=1;
EA=1;//开总中断
}
voidint0(void)interrupt0//外中断0
{
flag=0;
led_data_temp=P0;
t0=20;
if(!
int0_key)
{
delayms(10);
if(!
int0_key)
{
while(!
int0_key);
TH0=(65536-time)/256;
TL0=(65536-time)%256;
TR1=0;
TR0=1;
EX0=0;
EX1=0;
C50ms=0;
}
}
}
voidint1(void)interrupt2//外部中断1
{
t0=15;
flag=1;
led_data_temp=P0;
if(((RED_ZHU==0)&&(GREEN_ZHI==0))||((YELLOW_ZHI==0)&&(RED_ZHU==0)))
{
P0=0xff;
GREEN_ZHU=0;
RED_ZHI=0;
}
else//if((RED_ZHI==0)&&(GREEN_ZHU==0))
{
P0=0xff;
GREEN_ZHI=0;
RED_ZHU=0;
}
if(!
int1_key)
{
delayms(10);
if(!
int1_key)
{
while(!
int1_key);
TH0=(65536-time)/256;
TL0=(65536-time)%256;
TR1=0;
TR0=1;
EX0=0;
EX1=0;
C50ms=0;
}
}
}
voidISRT0(void)interrupt1//定时器0中断服务子程序
{
temp1=N,temp2=Y,temp3=Z,temp4=M,temp5=G,temp6=U;
TH0=(65536-time)/256;
TL0=(65536-time)%256;//重装初值time
YELLOW_ZHU=1;//如果在黄5S时进行熄灭黄灯
YELLOW_ZHI=1;
if(!
flag)
{
P0=0xf6;
}
C50ms++;
if(C50ms>19)
{
t0--;
C50ms=0;
}
if(t0==0)
{
P0=led_data_temp;
N=temp1,Y=temp2,Z=temp3,M=temp4,G=temp5,U=temp6;
TR0=0;//禁止定时器1中断
TR1=1;//开定时器1中
EX1=1;
//EX0=1;
C50ms=0;
return;
}
}
voidISRT1(void)interrupt3//定时器1中断服务子程序
{
TH1=(65536-time)/256;
TL1=(65536-time)%256;//重装初值time
C50ms++;
if(C50ms>19)
{
N--;
M--;
Y--;
Z--;
G--;
U--;
C50ms=0;
}
}
/*=================延时=======================*/
voidDelay10uS(ucharsecond)
{
uinti;
while((second--)!
=0)
{
for(i=0;i<5;i++)
{}
}
}
voiddelayms(uintk)
{
uinti,j;
for(i=0;i for(j=0;j<120;j++); } /*==================数码管控制========================*/ ucharcodediscode[]= {0xC0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//共阳数码管0-9代码 voiddisplay1(ucharnum1,ucharnum2)//控制南数码管显示 { P2=discode[num1];P21=on;Delay10uS(10);P21=off;//低位 P2=discode[num2];P20=on;Delay10uS(10);P20=off;//高位 } voiddisplay2(ucharnum3,ucharnum4)//控制东西数码管显示 { P2=discode[num3];P23=on;Delay10uS(10);P23=off;//低位 P2=discode[num4];P22=on;Delay10uS(10);P22=off;//高位 } /*===================主函数=================================*/ main() { /*=============初始状态: 东西南北都红灯==================*/ RED_ZHU=on; RED_ZHI=on; delayms(1000); RED_ZHU=off; RED_ZHI=off; RED_ZHI=on; GREEN_ZHU=on; while(N! = /*=====================重新赋值===============================*/ N=50,Y=45,Z=50,M=75,G=80,U=80; } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业生电子竞赛设计 交通灯设计说明书 毕业生 电子 竞赛 设计 交通灯 说明书
![提示](https://static.bdocx.com/images/bang_tan.gif)