基于单片机的交通灯控制系统设计毕业论文 - 图文
更新时间:2024-03-22 05:56:01 阅读量: 综合文库 文档下载
基于单片机的交通灯控制系统设计
摘 要
当你路过一个十字路口时,你是否注意到各个方向车辆和行人有有条不紊的通过十字路口。这样井然有序的情境靠什么来实现的呢?靠的是交通灯控制系统。在论文中我使用单片机STC89C51作为主控单元。通过单片机芯片STC89C51的P1口和P2口分别控制东西方向和南北方向红黄绿灯的点亮。通过单片机芯片STC89C51的RXD和TXD控制数码管的显示时间。采用发光二极管来实现交通灯的点亮,由数码管实现时间的显示。该系统不仅仅具有交通灯的基本功能还有倒计时,还可以通过按键在紧急事件中设置为四个方向都为红灯的紧急模式,也可以通过按键在夜晚设置为四个方向都为黄灯的夜间模式。当然也可以通过按键来设置交通灯的倒计时时间,使系统更加符合实际交通情况。矚慫润厲钐瘗睞枥庑赖。 我设计的交通灯控制系统可以较好的模拟十字路口出现的交通状况,使行人和车辆能有序的通行。我设计的系统成本低,操作简单,性能稳定,实用性较强。聞創沟燴鐺險爱氇谴净。
关键词:交通灯控制系统 单片机 AT89C51 数码管 LED
Abstract
When you pass an intersection, have you noticed that vehicles and pedestrians through the intersection methodical .Such an orderly situation rely on to achieve it? Rely on the traffic light control system. This paper will intr-oduce a single-chip microcomputer ATC89C51 as the main control unit system. Thr-ough the STC89C51 microcontroller chip P1 and P2 port respectively control the east-west and north-south direction red yellow green light. Through STC89C51 microcontroller RXD and TXD control digital tube display time. Light emitting diode is used to realize traffic lights lit, achieved by the digital time display. The system not only has the basic function of the traffic lights and the countdown, you can also through the buttons in the event of an emergency is set to four directions for the red light in emergency mode, can also through the buttons in the night is set to the four directions of yellow light night mode, of course, also can through the button to set the countdown time of traffic light, make the system more in line with the actual situation.残骛楼諍锩瀨濟溆塹籟。 I design the traffic light control system can better simulate the crossroads of traffic, the pedestrians and vehicles to orderly traffic.I designed the system of low cost, simple operation, stable performance, strong practicability.酽锕极額閉镇桧猪訣锥。
Keywords: Traffic Light Control System SCM AT89C51 Digital pipe LED彈贸摄尔霁毙攬砖卤庑。
目 录
摘要 ................................................ 謀荞抟箧飆鐸怼类蒋薔。 Abstract .................................................................................... 厦礴恳蹒骈時盡继價骚。 绪论 .......................................................................................... 3茕桢广鳓鯡选块网羈泪。 1系统设计方案论证 ................................................................. 5鹅娅尽損鹌惨歷茏鴛賴。 1.1设计方案 ............................................................................ 5籟丛妈羥为贍偾蛏练淨。 1.2功能概述 ............................................................................ 6預頌圣鉉儐歲龈讶骅籴。 2 系统硬件设计 ....................................................................... 6渗釤呛俨匀谔鱉调硯錦。 2.1交通灯控制系统组成 ......................................................... 6铙誅卧泻噦圣骋贶頂廡。 2.1.1 ATC89C51芯片 ............................................................... 7擁締凤袜备訊顎轮烂蔷。 2.1.2交通灯控制系统构成 .................................................... 10贓熱俣阃歲匱阊邺镓騷。 2.2各单元电路模块功能 ....................................................... 11坛摶乡囂忏蒌鍥铃氈淚。 2.2.1时钟电路模块 ............................................................... 11蜡變黲癟報伥铉锚鈰赘。 2.2.2复位电路模块 ............................................................... 11買鲷鴯譖昙膚遙闫撷凄。 2.2.3主控制系统模块 ........................................................... 12綾镝鯛駕櫬鹕踪韦辚糴。 2.2.4信号灯输出控制模块 .................................................... 12驅踬髏彦浃绥譎饴憂锦。 2.2.5时间显示电路模块 ....................................................... 13猫虿驢绘燈鮒诛髅貺庑。 2.2.6系统电源模块电路 ....................................................... 14锹籁饗迳琐筆襖鸥娅薔。 2.2.7 按键输入模块 .............................................................. 15構氽頑黉碩饨荠龈话骛。 3 系统软件设计 ..................................................................... 15輒峄陽檉簖疖網儂號泶。 3.1 软件总体流程图 .............................................................. 16尧侧閆繭絳闕绚勵蜆贅。 3.2延时的设定 ...................................................................... 16识饒鎂錕缢灩筧嚌俨淒。 3.2.1计数器初值计算 ........................................................... 16凍鈹鋨劳臘锴痫婦胫籴。 3.2.2相应程序代码 ............................................................... 17恥諤銪灭萦欢煬鞏鹜錦。 4 系统调试分析及结果 .......................................................... 22鯊腎鑰诎褳鉀沩懼統庫。 4.1电路板实物的制作 ........................................................... 22硕癘鄴颃诌攆檸攜驤蔹。 4.1.1印制电路板PCB图的绘制 ............................................ 22阌擻輳嬪諫迁择楨秘騖。
4.1.2实物的制做 ................................................................... 22氬嚕躑竄贸恳彈瀘颔澩。 4.2 系统硬件调试 .................................................................. 23釷鹆資贏車贖孙滅獅赘。 4.3 系统软件调试 .................................................................. 24怂阐譜鯪迳導嘯畫長凉。 4.4 系统总体调试 .................................................................. 24谚辞調担鈧谄动禪泻類。 结论 ........................................................................................ 26嘰觐詿缧铴嗫偽純铪锩。 致谢 ........................................................................................ 27熒绐譏钲鏌觶鷹緇機库。 参考文献 ................................................................................... 鶼渍螻偉阅劍鲰腎邏蘞。 附录1元器件清单 ..................................... 错误!未定义书签。纣忧蔣氳頑莶驅藥悯骛。 附录2总体电路原理图、PCB .................... 错误!未定义书签。颖刍莖蛺饽亿顿裊赔泷。 附录3 程序 ............................................... 错误!未定义书签。濫驂膽閉驟羥闈詔寢賻。
绪 论
国内外交通系统发展现状
随着现代社会对交通运输的日趋依赖,交通控制系统受到普遍的重视。近年来,英国、美国等西方国家均在某些大城市建立了智能的交通控制系统。一般的交通控制系统中,大部分在路口装有车辆检测器,由各路口的控制设备或着工作人员将交通控制参数通过电话线、电缆、光纤或无线网络等方式输入到微处理器,用小型计算机控制。尤其是伴随着信息技术的发展,交通控制的概念已从交通管理者的行为改变为交通管理者和道路使用者共同的行为,从而使得交通的最优化向全局最优发展[1]。在这些发展中,除了新设备的应用外,数据的采集、传输、处理、存储与发送等技术的发展也起了关键的作用。与国外先进的控制系统相比,我国的交通控制系统比较落后,目前我国的城市交通有以下问题:管理不力,秩序混乱;没有科学而合理有效的城市交通监控系统。从而造就了道路的通行能力远低于设计时候所预期的要求并且波动性比较大,交通事故发生率高等问题。銚銻縵哜鳗鸿锓謎諏涼。 城市交通的解决方法
城市交通拥挤有人说是因为道路狭窄引起的,所以有些人建议加宽道路或者架设高架桥来缓解交通压力。但是,过不了多久加宽的道路又陷入了拥挤。一般来说新加宽的道路不会改变原来的拥挤状况,很快新的交通量占据新增的道路设施,这部分潜在的交通量受制于以前道路供给而未能得到实现的。挤貼綬电麥结鈺贖哓类。 由于加宽道路不能从根本上解决拥挤的城市交通问题,所以就开始寻求新的解决方法。随着人们对控制理论的深入研究与探索以及科技的不断发展,利用微计算机的控制系统对解决交通问题越来越重要。现如今国内外开发了许多交通控制系统为缓解交通压力做出了突出贡献。伴随着人工智能的兴起,人们开始将人工智能引入到交通灯控制系统当中。经过这么多年的实践研究和探索,人们相信智能控制是缓解城市交通问题的强力工具。赔荊紳谘侖驟辽輩袜錈。 课题研究范围及意义
本文利用单片机自动控制交通灯及时间倒计时显示的方法,将整个系统集成在单片机上,使产品具有成本低和轻便性的特点。设计过程包括硬件电路和程序
两大部分。硬件电路其结构比较简单,主要包括核心器件ATC89C51单片机,12只二极管组成的模拟交通灯、复位电路、振荡电路、数码管显示模块。单片机开发中不仅仅有硬件设计同样需要软件编程,我设计的系统用软件Keil来进行程序的编程。相比硬件设计,软件部分设计较为复杂,需要同时考虑模拟红绿黄三色灯的控制、倒计时时间的显示、紧急情况下的紧急开关等问题。并且还需要自己具有基本的C基础和应有的思维能力以及比较强的逻辑能力。基于单片机的交通灯控制系统设计凸显了它的意义。通过交通灯控制系统的设计,使我对C语言的编程有更深层次的认识,同时将理论同社会实践有效的结合一起,提高了自己的动手能力和思考能力。塤礙籟馐决穩賽釙冊庫。
1 系统设计方案论证
1.1设计方案
方案一:控制系统主要控制东西方向和南北方向交通状况,系统以单片机芯片STC89C51为主控单元,通过控制三种颜色LED的亮灭来来指导各车道的通行,上电时复位电路使系统进入运行状态。总体设计框图如图1-1所示:裊樣祕廬廂颤谚鍘羋蔺。
复位电路 STC89C51 单 片 机 两段数码管倒计时显示电路 晶振电路 图1-1 方案一设计框图 方案二:采用STC89C51单片机为控制器,采用2段数码管作为倒计时显示;车道指示灯采用三色发光二极管,LED显示采用动态扫描,用来节省端口[2]。用手动按键通过中断完成紧急情况下车辆的通行。本方案中芯片端口刚好满足要求。本方案电路设计简单,显示亮度高,耗电少,可靠性高,但是占用单片机资源太多,整个框图设计如图1-2所示:仓嫗盤紲嘱珑詁鍬齊驁。
P1 上电复位电路 南北通行灯 P2 INT1 P0 晶振电路 东西通行灯 2位LED显示器器 P3 P3 列扫描驱动 绽萬璉轆娛閬蛏鬮绾瀧。
图1-2 方案二设计框图
方案三:采用STC89C51单片机为主控单元,用单块LCD对东西方向和南北方向车道通行进行倒计时显示。这种方案设计端口和硬件的需求最少,但是亮度太暗,所以较少采用。骁顾燁鶚巯瀆蕪領鲡赙。 对上述三种方案的优缺点分析可知,方案一最好。
1.2功能概述
在东西方向和南北方向的十字路口分别设立红黄绿交通指示灯,用数码管倒计时显示。正常情况下两个主干线上的红黄绿灯进行转换。红灯亮表示禁止通行,绿灯亮表示可以通行,每次绿灯变红灯前,黄灯亮5秒,方便那些未能及时通过十字路口的车辆能继续通过。十字路口设立数码管具有倒计时功能,方便人们直观的把握通过时间。本设计也考虑到紧急情况,当按下紧急模式按键后,四个方向红灯都会常亮。对于夜晚车流量比较少,本设计设计了夜晚模式,按下按键后四个方向黄灯会常亮。瑣钋濺暧惲锟缟馭篩凉。
2 系统硬件设计
2.1交通灯控制系统组成
2.1.1 ATC89C51芯片
选用的ATC89C51与同系列的AT89C51在功能上有明显的提高,最突出是的可以实现在线的编程。用于实现系统的总的控制。其主要功能列举如下:鎦诗涇艳损楼紲鯗餳類。 (1)为一般控制应用的 8 位单片机 (2)内部具有时钟振荡器
(3)内部程式存储器(ROM)为 4KB (4)内部数据存储器(RAM)为 128B (5)外部程序存储器可扩充至 64KB (6)外部数据存储器可扩充至 64KB
(7)32 条双向输入输出线,且每条均 (8)5 个中断向量源 (9)2 组独立的 16 位定时器 (10)1 个全双工串行通信端口 (11)单芯片提供位逻辑运算指令 ATC89C51各引脚功能介绍:如图2-1
可以单独做 I/O 的控制
图2-1 ATC89C51芯片
VCC:ATC89C51 电源正端输入,接+5V。
VSS:电源地端。
XTAL1:单芯片系统时钟的反向放大器输入端。
XTAL2:系统时钟的反向放大器输出端,一般在设计上只要在 XTAL1 和 XTAL2 上接上一只石英振荡晶体系统就可以动作了,此外可以在两个引脚与地之
间加入一个 20PF 的小电容,可以使系统更稳定, 避免噪声干扰而死机。
栉缏歐锄棗鈕种鵑瑶锬。 RESET:AT89S51的重置引脚,高电平动作,当要对晶片重置时,只要对此引脚电平提升至高电平并保持两个机器周期以上的时间,AT89S51便能完成系统重置的各项动作,使得内部特殊功能寄存器之内容均被设成已知状态,并且至地址0000H处开始读入程序代码而执行程序。辔烨棟剛殓攬瑤丽阄应。 EA/Vpp:\为英文\的缩写,表示存取外部程序代码之意,低电平动作,也就是说当此引脚接低电平后,系统会取用外部的程序代码(存于外部EPROM中)来执行程序。因此在8031及8032中,EA引脚必须接低电平,因为其内部无程序存储器空间。如果是使用 8751 内部程序空间时,此引脚要接
成高电平。此外,在将程序代码烧录至8751内部EPROM时,可以利用此引脚来输入21V的烧录高压(Vpp)。峴扬斕滾澗辐滠兴渙藺。 ALE/PROG:ALE是英文\的缩写,表示地址锁存器启用信号。ATAT89S51可以利用这个引脚来触发外部的8位锁存器(如74LS373),将端口0的地址总线(A0~A7)锁进锁存器中,因为ATAT89S51是以多工的方式送出地址及数据。平时在程序执行时ALE引脚的输出频率约是系统工作频率的1/6,因此可以用来驱动其他周边晶片的时基输入。此外在烧录8751程序代码时,此引脚会被当成程序规划的特殊功能来使用。詩叁撻訥烬忧毀厉鋨骜。 PSEN:此为\Store Enable\的缩写,其意为程序储存启用,当8051被设成为读取外部程序代码工作模式时(EA=0),会送出此信号以便取得程序代码,通常这支脚是接到EPROM的OE脚。ATAT89S51可以利用PSEN及RD引脚分别启用存在外部的RAM与EPROM,使得数据存储器与程序存储器可以合并在一起而共用64K的定址范围。则鯤愜韋瘓賈晖园栋泷。 PORT0(P0.0~P0.7):端口0是一个8位宽的开路电极(Open Drain)双向输出入端口,共有8个位,P0.0表示位0,P0.1表示位1,依此类推。其他三个I/O端口(P1、P2、P3)则不具有此电路组态,而是内部有一提升电路,P0在当作I/O用时可以推动8个LS的TTL负载。如果当EA引脚为低电平时(即取用外部程序代码或数据存储器),P0就以多工方式提供地址总线(A0~A7)及数据总线(D0~D7)。设计者必须外加一个锁存器将端口0送出的地址锁住成为A0~A7,再配合端口2所送出的A8~A15合成一组完整的16位地址总线,而定位地址到64K的外部存储器空间。胀鏝彈奥秘孫戶孪钇賻。 PORT2(P2.0~P2.7):端口2是具有内部提升电路的双向I/O端口,每一个引脚可以推动4个LS的TTL负载,若将端口2的输出设为高电平时,此端口便能当成输入端口来使用。P2除了当作一般I/O端口使用外,若是在ATAT89S51扩充外接程序存储器或数据存储器时,也提供地址总线的高字节A8~A15,这个时候P2便不能当作I/O来使用了。鳃躋峽祷紉诵帮废掃減。 PORT1(P1.0~P1.7):端口1也是具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个LS TTL负载,同样地,若将端口1的输出设为高电平,便是由此端口来输入数据。如果是使用8052或是8032的话,P1.0又当作定时
器2的外部脉冲输入脚,而P1.1可以有T2EX功能,可以做外部中断输入的触发引脚。稟虛嬪赈维哜妝扩踴粜。 PORT3(P3.0~P3.7):端口3也具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个TTL负载,同时还多工具有其他的额外特殊功能,包括串行通信、外部中断控制、计时计数控制及外部数据存储器内容的读取或写入控制等功能。陽簍埡鲑罷規呜旧岿錟。 其引脚分配如下:
P3.0:RXD,串行通信输入。 P3.1:TXD,串行通信输出。 P3.2:INT0,外部中断0输入。 P3.3:INT1,外部中断1输入。 P3.4:T0,计时计数器0输入。 P3.5:T1,计时计数器1输入。
P3.6:WR:外部数据存储器的写入信号。 P3.7:RD,外部数据存储器的读取信号。 2.1.2交通灯控制系统构成
电路板一块,芯片ATC89C51一片,2段共阴极数码显示管四个,红黄绿发光二极管各四个,电阻若干,晶振一个,电容若干,按键若干。沩氣嘮戇苌鑿鑿槠谔應。 交通灯控制系统结构框图2-2:
按键 ATC89C51 LED 图2-2原理框图 共阴极数码管 系统各部分工作原理:采用单片机的I/O口P0口通过上拉电阻和交通灯相连接,P3.0、P3.1口接到数码管控制位上,控制数码管的显示,程序放在ATC89C51单片机的ROM中来设置初始时间,在十字路口的四组红、黄、绿交通灯中,由单片机的P1.5-P1.7、P1.0-P1.2 、P2.5-P2.7、P2.0-P2.2分别控制东西南北方向
的三色灯。由于交通灯为发光二极管并且阳极通过限流电阻和电源正极相连,因此I/O口输出低电平时,与之相连的指示灯才会点亮,然后通过数码管倒计时时间。I/O口输出高电平时,相应指示灯会灭。由于ATC89C51本身集成了看门狗指令,当系统出现异常的时候看门狗会发出溢出中断。通过专用端口输出,引起RESET复位信号复位系统。钡嵐縣緱虜荣产涛團蔺。 2.2各单元电路模块功能
2.2.1时钟电路模块
本时钟电路由一个晶体振荡器12MHZ和两个30pF的瓷片电容组成。时钟电路用于产生单片机工作所需的时钟信号,而时序所研究的是指令执行中各信号之间的相互关系。单片机本身就是一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地工作[3]。其电路如图2-3所示:
懨俠劑鈍触乐鹇烬觶騮。
图2-3 时钟电路模块
2.2.2复位电路模块
电容在上接高电平,电阻在下接地,中间为RST。这种复位电路为高电平复位。其工作原理是:通电时,电容两端相当于是短路,于是RST引脚上为高电平,然后电源通过电阻对电容充电,RST端电压慢慢下降,降到一定程度,即为低电平,单片机开始正常工作。其电路如图2-4所示:謾饱兗争詣繚鮐癞别瀘。 [4]
图2-4 复位电路模块
2.2.3主控制系统模块
主控制器STC89C51单片机是推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统 8051 单片机,12 时钟/机器周期和 6 时钟/机器周期可以任意选择。[5]主控制系统模块电路如图2-5:呙铉們欤谦鸪饺竞荡赚。 1234567854321DS1DCBEDS2SMG-2DECBDP9S2AVCCDPVCCW-green1W-red2W-yello3wA54A65E-yellow6E-red7E-green8S413S312A2A1A3*S4A4*S5A5*S6A6*R1811.0592C130PC230P311918RST9A417A3161514U1P10P11P12P13P14P15P16P17INT1INT0T1T0EA/VPX1X2RESETRDWRSTC89C52RXDTXDALE/PPSEN10P3.011P3.13029P00P01P02P03P04P05P06P07P20P21P22P23P24P25P26P2739383736353433322122232425262728ABCDEFGDPC3S1A1*RSTR1CS2A2*S3123456789S-greenS2AGF10D12678GFS1VCCR2L1N-greenS-yeowL2N-yellowL3N-redCS2L4E-greenS2S-yellowS-redS-greenS3L12W-red10W-redL11W-yellowAW-yellowFL10W-greenN-yeowN-greenN-redS-redN-greenSMG-2N-redN-yellowR3S4E-greenL5E-yellowE-yellowL6E-redE-redADPGF67891012B3C4E5DS2FADPGDECBS154321DECBS3CEDAFS2876S4SMG-2B10987J121135SW1246VCC6GAF接线端子自锁开关电池供电 电池盒上红线接1、黑线接2S1DBCE12DP34S94321CON4135SW1S1BCED246VCCA5S2自锁开关USB供电请先确定好正负极,用万用表可以量12345图2-5 主控置系统模块电路
2.2.4信号灯输出控制模块
道口交通灯指示采用红、黄、绿发光二极管进行提示。其图如图2-6所示:
DPR5VCCBDP9GS1GW-greenSMG-2L9S-redR4L8S-yellowL7S-greenBGDPAFS2S2SMG-2ATitleSizeA3Date:File:6NumberRevision24-Jan-2014Sheet of F:\\新淘宝东东四方向数码管交通灯Drawn\\protelBy原理图pcb\\jtd.Ddb78
图2-6 LED显示模块电路
2.2.5时间显示电路模块
本系统使用数码管完成倒计时显示功能。以方向东西为为例,数码管显示的数值从绿灯的设置时间最大值往下减,每秒钟减1,一直减到0。然后又从红灯的设置时间最大值往下减,一直减到0。接下来又显示绿灯时间,如此循环。系统共有4个二位的LED 数码管,分别放置在模拟交通灯上方。道口通行剩余时间采用红色7段数码管显示,采用共阴数码管,如用单片机P0口加上拉电阻驱动,P3.0/P3.1来控制数码管的位。其显示电路如图2-7所示:莹谐龌蕲賞组靄绉嚴减。
图2-7 数码管显示模块电路
2.2.6系统电源模块电路
由于该系统中 51 单片机及二极管工作电压均为 5V 电压,所以要保证系统稳定可靠的工作,需要设计一个可以稳定提供 5V 电压的供电系统。本设计采用外置3节5号电池作为系统的供电电源,该系统电源电路设计如图2-8所示:麸肃鹏镟轿騍镣缚縟糶。
图2-8系统电源电路
2.2.7 按键输入模块
由于该系统具有夜间模式,紧急模式和交通灯倒计时时间设定功能,所有需要加上这些功能键,如下图2-9所示:納畴鳗吶鄖禎銣腻鰲锬。
图2-9 按键输入
夜间模式:按下夜间模式按键进入,四方向红灯长亮,再次按下按键退出。 紧急模式:按下紧急模式按键进入,四方向黄灯闪烁,再次按下按键退出。 设定倒计时时间:按下设定键后,进入设定状态,先设定南北方向,再次按下按键设定东西方向,设定好后,按下按键退出,正常运行。風撵鲔貓铁频钙蓟纠庙。
3 系统软件设计
3.1 软件总体流程图
软件总体设计及流程图见图3-1,主要完成各部分的软件控制和协调。
图3-1 流程图
3.2延时的设定
3.2.1 计数器初值计算
定时器工作时必须给计数器送计数器初值,这个值是送到TH和TL中的。他是以加法记数的,并能从全1到全0时自动产生溢出中断请求。因此,我可以把计数器记满为零所需的计数值设定为C和计数初值设定为TC 可得到如下计算通式:灭嗳骇諗鋅猎輛觏馊藹。 TC=M-C
式中,M为计数器模值,该值和计数器工作方式有关。在方式0时M为213 ;在方式1时M的值为216;在方式2和3为28 ; 铹鸝饷飾镡閌赀诨癱骝。 算法公式:
T=(M-TC)T计数 或TC=M-T/T计数 T计数是单片机时钟周期TCLK的12倍;TC为定时初值 如单片机的主脉冲频率为TCLK12MHZ ,经过12分频 方式0 TMAX=213 ×1微秒=8.192毫秒 方式1 TMAX=216 ×1微秒=65.536毫秒
显然1秒钟已经超过了计数器的最大定时间,所以只有采用定时器和软件相结合的办法才能解决这个问题.
实现1秒的方法:
我采用在主程序中设定一个初值为20的软件计数器和使T1定时50毫秒。这样每当T1到50毫秒时CPU就响应它的溢出中断请求,进入他的中断服务子程序。在中断服务子程序中,CPU先使软件计数器减1,然后判断它是否为零。为0表示1秒已到可以返回到输出时间显示程序。攙閿频嵘陣澇諗谴隴泸。 3.2.2 相应程序代码 (1)定时器的设置
定时器需定时50毫秒,故T1工作于方式1。 初值计算: TC=M-T/T计数 =216-50ms/1us=15536=3CBOH START: MOV TMOD, #10H ;令TO为定时器方式1 MOV TH0, #3CH ;装入定时器初值 MOV TL0, #0BOH
SETB EA ; 打开总中断 SETB ET1 ;开T1中断 SETB ER ;启动T1计数器 CLR FLAG1 CLR FLAG2 CLR FLAG3
MOV R3, #20H ;软件计数器赋初值 (2)相应中断服务子程序
ORG 001BH LJMP DSD ORG 0030H DSD: INC R3
MOV TH0, #3CH ;重装入定时器初值 MOV TL0, #BOH CJNE R3,#20,FH DEC R0 DEC R1 MOV R3,#00H FH: RETI 程序的软件延时:
我选单片机的工作频率为12MHZ。机器周期与主频有关,机器周期是主频的12倍,所以一个机器周期的时间为12*(1/12M)=1us。可以知道具体每条指令的周期数,这样就可以通过指令的执行条数来确定1秒的时间。趕輾雏纨颗锊讨跃满賺。 具体的延时程序分析:
DELAY: MOV R4,#08H 延时1秒主程序 DE2: LCALL DELAY1 DJNZ R4, DE2 RET
DELAY1:MOV R4,#00H ;延时125us 子程序 D1: MOV R5,#00H D2: DJNE R5,DL2 DJNE R4,D1 RET
DELAY1为一个双重循坏 循环次数为256*256=65536 所以延时时间=65536*2=131072us 约为125us 夹覡闾辁駁档驀迁锬減。 DELAY R4设置的初值为8 主延时程序循环8次,所以125us*8= 1秒 (3)数码管动态显示
用于四个数码管的倒计时显示,代码如下: sbit smg1=P3^0; sbit smg2=P3^1; sbit smg3=P3^2; sbit smg4=P3^3;
//定义南北方向数码管低位 //定义南北方向数码管高位 //定义东西方向数码管低位 //定义东西方向数码管高位
void djsxs22() /4个数码管动态显示 { int b1,b2; b1=djs1/10; b2=djs1;
P0=table[b1];
smg1=0; delayms(3); smg1=1; P0=table[b2]; smg2=0; delayms(3); smg2=1;
P0=table[b1];
smg3=0; delayms(3); smg3=1; P0=table[b2]; smg4=0; delayms(3); smg4=1;
}
void djsxs11() { int b1,b2; b1=djs/10;
b2=djs;
//将倒计时时间的高位赋予b1 //将倒计时时间的低位赋予b2
//显示b1
//显示b2 //显示b1
//显示b2
/4个数码管动态显示
将倒计时时间的高位赋予b1 将倒计时时间的低位赋予b2
// // P0=table[b1];
smg1=0; delayms(3); smg1=1;
P0=table[b2]; smg2=0; delayms(3); smg2=1;
//显示b2
//显示b1
P0=table[b1];
smg3=0; delayms(3); smg3=1; }
利用对数字的拆分使数字分为十位和个位,比如31,利用程序int a=31;int b1,b2;b1=a/10;b2=a; 可以拆分为b1=3,b2=1.而在动态显示的过程中,通过这个方法可以动态在数码管上显示出来。由于东西方向和南北方向的显示时间不一样,我们可以通过数码管的高低位去组合的显示正确的显示时间。组合显示程序如下:视絀镘鸸鲚鐘脑钧欖粝。 void djsxs1() / 用来显示设定南北倒计时的时间 {
int b1,b2;
b1=djs1/10; //将倒计时时间的高位赋予b1
b2=djs1; P0=table[b1];
//将倒计时时间的低位赋予b2
P0=table[b2]; smg4=0; delayms(3); smg4=1;
//显示b2 //显示b1
smg3=0; delayms(3);
smg3=1; }
//显示b1
P0=table[b2]; smg4=0; delayms(3); smg4=1;
//显示b2
void djsxs()/用来显示设定南北倒计时的时间 { int b1,b2;
b1=djs/10; //将倒计时时间的高位赋予b1
b2=djs; //将倒计时时间的低位赋予b2 P0=table[b1];
smg1=0; delayms(3); smg1=1;
//显示b1
P0=table[b2]; smg2=0; delayms(3); smg2=1;
//显示b2
4 系统调试分析及结果
4.1电路板实物的制作
4.1.1印制电路板PCB图的绘制
在同一芯片中,要连的线比较多。在硬件的布局中,每个LED灯和每个数码管的分布比较固定,而且集中分布在所控制的两个路口上。如果采用双面的PCB板的话,那么该电路的布线比较容易实现。但是,在实际生活中做双面板经常会出现一些焊点接触不良导致电路调试失败。因此,使用单面板布线。单片面板的布线的缺点是焊接后的成品不怎么美观。印制电路板的设计是以电路原理图为根据,来实现设计者所需要的功能。印刷电路板主要指版图设计,需要考虑外部布局的连接、内部电子元件的优化布局、金属连线和通孔的优化布局、电磁保护、热耗散等各种因素。偽澀锟攢鴛擋緬铹鈞錠。 4.1.2实物的制做
(1)总制板工艺程序
把所需要的元器件分类摆放在桌子上,确定各个原件的最好位置。原则上,既美观,又容易焊接,然后把元器件焊到板子上,最好用焊台来完成。根据原理
图,把所有的连线连接起来,连接的导线,为了不断路尽量用细一点的导线。 緦徑铫膾龋轿级镗挢廟。 (2)制板心得:我们在制板过程中,
首先,是在用PROTEL设计的时候出现的错误导致印制电路板错误。其次,是由于理论和实际有误差导致无法实现目标。最后在焊接中有一些小问题,比如在焊跳线的时,由于手工焊接导致焊线比较多,而且焊盘在高温下容易老化氧化,导致焊盘脱落报废了好几块板子。此外,焊盘太小并且有的有损坏迹象,所以焊接不怎么方便。为了不虚焊,我花了大量时间去焊这些元器件,造成一些焊点不是那么的很美观。还有在焊接过程中,有时候焊锡会不小心将相邻的两根引线短路。这次设计积累了做板一些经验,再次做板的时候一定要注意PCB的引线之间的距离不能设置太近。騅憑钶銘侥张礫阵轸蔼。 焊接完成后的实物图4-1:
图4-1 焊接完成的实物
4.2 系统硬件调试
在实际焊接过程中,实物交通灯控制系统的PCB电路板焊接工作量非常大。电路安装完成后,首先进行检查,即确认电路无虚焊,无短路,无断路,集成元件安装是否正确,之后进行电路功能模块的分级调试。根据电路功能逐级进行调
试,通行方式功能调试包括对两种通行方式控制调试,指示灯亮度和驱动电路调试,倒计时功能调试,数码管亮度调试,复位功能调试。 疠骐錾农剎貯狱颢幗騮。 4.3 系统软件调试
在keil工作平台上,新建交通灯控制系统工程,用C语言对各个功能模块进行编写和调试。除了基本语法差错外,如果程序没问题,那么直接下载到单片机来调试。采取的是自下到上的调试方法,即单独调试好每一个模块,然后再连接成一个完整的系统,最后完成一个完整的系统调试。镞锊过润启婭澗骆讕瀘。 交通灯控制系统仿真图如图4-2:
图4-2 交通灯控制系统仿真图
4.4 系统总体调试
系统做好后,需进行完整的系统调试。
测试刚开始,就发现两个问题:一个是有一部分交通灯亮度不够,发出来的光非常的微弱;二是数码管没反应。为了解决这个问题,我重新查看了电路的输出端各部分的输出电平。发现了我采用是共阴极数码管。而控制数码段的P3.0和P3.1口输出的则是高电平。榿贰轲誊壟该槛鲻垲赛。
解决第二个问题有两个方法。其一,将硬件电路稍作修改,将共阴极数码管换成共阳极的数码管。这样数码管就可以正常进行时间显示。其二,修改程序,让控制数码管的P0输出的是低电平。如果采用修改硬件电路的方法,那么整个硬件电路就得作改动。而已经布好的线也必须有相应的变动,操作起来比较麻烦繁琐。所以,我采用了第二种方法。修改了程序电路中的数码管代码。修改完后再次调试,数码管部分基本上能按照预先设定的要求进行倒计时显示。亮度要求也基本符合预先设想那样。邁茑赚陉宾呗擷鹪讼凑。 还有一个来问题有待解决,那就是LED灯亮度问题,以致部分交通灯只能偶尔的看得出在亮。经多方检测,我认为这是LED灯驱动能力不足引起的亮度弱问题。如果要修正这个问题,那就得为LED灯增加驱动电路以提高电路的驱动能力。但是,要实现上述方法必须对硬件电路进行一定的改动。LED灯的驱动电路可以用集成电路芯片来进行驱动。但是由于没有相关的条件就没有去实践。但是,基本问题和解决问题的方法还是有了一定的了解。嵝硖贪塒廩袞悯倉華糲。
结 论
我设计的系统采用美国ATMEL公司生产的单片机ATC89C51芯片作为交通灯控制系统的主控单元,利用ATC89C51芯片的I/O引脚实现了数字路口的交通控制。实物做成后其功能如下:当系统启动时,东西方向绿灯亮并且LED显示30秒倒计时,此时南北方向红灯亮LED显示35秒倒计时,当东西方向绿灯变为黄灯时LED还会倒计时5秒。当东西方向五秒倒计时结束时,东西方向红灯点亮,南北方向绿灯点亮,重复东西方向的现象。该栎谖碼戆沖巋鳧薩锭。 系统不足:此次设计只是模糊的模拟十字路口双通道的交通控制,而不能真实的模拟出十字路的左右转向控制还有人行指示等情形。劇妆诨貰攖苹埘呂仑庙。
致 谢
在这几个月的设计和制作的过程中,在周老师和同学的帮助下,我顺利的完成了毕业设计。这次毕业设计不仅仅增加了理论知识和动手能力,更加增进了我和同学的友谊,让我备受珍惜。由于对书本上的理论知识理解有限,在制作原理图的过程中,我深切的感受到理论知识的不足,很多东西虽然学过,但是印象不是那么的深刻,都是边设计边查阅书籍完成的。从屡次的失败中,我也深深知道我的理论操作极度欠缺,需要更多的实践来加强。在周老师精心的指导和同学的帮助下,我顺利而圆满地完成此次设计。谢谢各位老师的真诚关怀和热诚而无私的指导!我想,这是我在校学习的岁月里最值得怀念和铭记的时光!在未来的工作和学习中,我将以更好的成绩来回报各位领导、老师和同学。最后我衷心的感谢我的母校华中科技大学武昌分校优质的教学条件和丰富的资源。臠龍讹驄桠业變墊罗蘄。
参考文献
[1] 郭敏.英国交通控制技术的应用.国外公路.1997,17(6):33-36.
[2] 刘红兵.基于PROTEUS设计的智能交通灯控制系统.科技广场,2009(3): 171-173.
[3] 张俊谟.单片机实用技术讲座.电子世界,2002,(1):37-39. [4] 刘晋峰.彩星工作盒.电子制作,2009,(1):51-57.
[5] 吕程.红外测温仪设计分析.计算机光盘软件与应用,2012,(5):210- 210.
[6] 雷丽文.微机原理与接口技术.北京:电子工业出版社,1997.2:31-33.
[7] 周立功.增强型80C51单片机速成与实战.北京:北京航空航天大学出版社, 2004.5:32-34.
[8] 何立民.单片机应用技术选编.北京:北京航空航天大学出版社,2004.3:33-
34.
[9] 何立民.单片机应用技术选编.北京:北京航空航天大学出版社,2004.3: 172- 177.
[10] 何立民.MCS-51系列单片机应用系统设计.北京:北京航空航天大学出版社,
1995:192-193.
[11] 李华.MCS -51系列单片机实用接口技术.北京:北京航空航天大学出版 社,1993:203-210.
[12] 周航慈.单片机应用程序设计技术.北京:北京航空航天大学出版社, 1991:204-206.
[13] 张志良.单片机原理与控制技术.北京:机械工业出版社,2001:176- 177.
[14] 陆坤.电子设计技术1.成都:电子科技大学出版社, 1997:189-190. [15] 梁文海.单片机AT89C2051构成的智能型频率计.现代电子技术,2002:210- 214.
[16] V. Yu. Teplov, A. V. Anisimov. Thermostatting System Using a Single-Chip 鰻順褛悦漚縫冁屜鸭骞。 Microcomputer and Thermoelectric Modules Based on the Peltier Effect ,2002. 穑釓虚绺滟鳗絲懷紓泺。 [17] Yeager Brent.How to troubleshoot your electronic scale. Powder and Bulk 隶誆荧鉴獫纲鴣攣駘賽。 Engineering. 1995.
[18] Meehan Joanne,Muir Lindsey.SCM in Merseyside SMEs:Benefits and barriers. TQM 浹繢腻叢着駕骠構砀湊。 Journal. 2008.
正在阅读:
集中运输巷皮带机安装方案12-23
水浒传题目(1~10回)06-06
中小企业应收账款现状浅析03-14
妈妈夸我真什么作文300字06-16
重要经济目标防护的几点思考05-24
国家保安员资格考试试卷(模拟考试)01-10
人文试题01-12
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 交通灯
- 单片机
- 控制系统
- 毕业论文
- 基于
- 图文
- 设计
- 劳动经济1 - 图文
- 一种防范泛洪攻击的方法
- 我国主动型基金与指数型基金绩效的比较与分析
- 1屋面保温层施工工艺标准
- 中学地理教师读书笔记
- 大学生辩论赛策划书
- 朝阳区安全生产标准化实施办法(试行)6 - 图文
- 2019年整理--优秀党务工作者事迹材料 - 3
- 武汉市中考数学专题 - -隐圆问题
- 秘书理论与实务试题
- 2013国庆地理自测题
- 泉州市安全文明示范工地申报备案表
- 二手房价格评估系统设计与研究
- 自考《美学》名词解释--问答题
- 北京市第二届观鸟大赛试题汇总 - 图文
- 电力电子技术期末考试试题及答案
- 2018-入党积极分子考察意见-word范文(11页)
- (20)2016超星大学生心理健康教育期末考试
- 度米文库汇编之村党支部书记党建述职报告
- 第2部分“两学一做”知识应知应会知识简答题300题