- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ATC的交通灯控制系统设计
基于AT89C51的交通灯控制系统
作品设计、发明的目的和基本思路
随着我国经济的高速发展,人们对各种交通车辆的需求量不断增大,城市的交通拥护问题日益严重,目前,大部分城市的十字路口的交通控制灯,通常的做法是:事先经过车辆流量的调查,利用传统的方法设计好红绿灯的延时,然而,实际上的车流量是不断变化的,有的路口在不同的时间段车流量的大小甚至有很大的差异,所以说,统计的方法己不能适应迅速发展的交通现状。
目前,国内的交通灯一般设在十字路门,在醒目位置用红、绿、黄三种颜色的指示灯。加上一个倒计时的显示计时器来控制行车。对于一般情况下的安全行车,车辆分流尚能发挥作用,但根据实际行车过程中出现的情况,还存在以下缺点:1.两车道的车辆轮流放行时间相同且固定, 在十字路口,经常一个车道为主干道,车辆较多,放行时间应该长些;另一车道为副干道,车辆较少,放行时间应该短些。2.没有考虑紧急车通过时,两车道应采取的措施,臂如,消防车执行紧急任务通过时,两车道的车都应停止,让紧急车通过。
本系统硬件设计即无论是主干道还是支干道两侧系统对同方向的信号灯控制是同步的人行道个方向且人行道的红绿灯变化和行车道的红绿灯变化应该是一致的本系统选用通过P0用做输出显示控制口P0口用作输出南北方向led数码管字符编码,P1口用作输出东西方向led数码管字符编码。P2 口用于输出东西、南北方面LED数码管的位选信号,以及各个人行道发光二极管的控制信号的输出。P3口用于输出东西、南北方向信号灯控制信号。
LED数码管采用动态显示方式实现倒计时读秒,并且本系统的了led采用的是LED的共阳极接法,共阳极接法如图2所示:
共阳极7段LED显示字型编码表(表一):
LED动态显示,在多位LED显示时,为了简化电路,降低成本,将段选位并联在一起,由一个八位的I/O口控制,而位选由另一个口控制, 段选码、位选码每次送入后演示1ms,而人的视觉暂留时间为0.1s,所以在人看来数码管一直亮着,从而在应用中通过动态扫描的方法显示。
交通灯的正常显示
交通灯系统的工作状态:
上电后,南北方向数码管显示40,东西方向数码管显示60,南北方向的直行绿灯亮,车辆可以直行可以右行,人行红灯亮行人不能通过;东西方向红灯亮车辆不能通行,人行绿灯亮人可以通行。当南北数码管显示为4时,直行绿灯熄灭,黄灯闪烁4秒,然后南北数码管显示20,左转绿灯亮车辆可以左行,人行灯和东西方向灯同上一状态,当数码管减到四时南北黄灯闪烁4秒,然后红灯亮,数码管显示60,南北车辆禁止通行,人行绿灯亮;南北数码管显示60的同时东西数码管显示40,直行绿灯亮,车辆可以直行可以右行,人行红灯亮,当东西数码管显示为4时,直行绿灯熄灭,黄灯闪烁4秒,然后东西数码管显示20,左转绿灯亮车辆可以左行,人行灯和南北方向灯同上一状态,当数码管减到4时东西黄灯闪烁4秒,然后红灯亮,东西数码管显示60,南北显示40,随后依次循环……
交通灯原理图:
软件设计:
根据设计要求有汇编语言编写的交通灯源程序如下:
ORG 0000H ;主函数地址
LJMP MAIN
ORG 000BH ;中断定时器0地址
LJMP INTERPUT
ORG 0030H ;表的首地址
LJMP TABLE
TABLE: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
MAIN:
MOV P2, #00H ;给P2口赋初值,让数码管刚开始都不亮
MOV R2, #60 ;给R2赋60,使东西的数码管显示初值为60
MOV R3, #40 ;给R3赋40,使南北的数码管显示初值为40
MOV P3, #0 ;使人形道的灯初始都不亮
MOV R5, #0 ;给R5,R6赋初值0
MOV R6, #0
MOV TMOD, #01H ;定时器0工作方式1
MOV TH0, #79 ;给定时器赋初值
MOV TL0, #0AEH
SETB EA ;允许总中断
SETB ET0 ;开启定时器0中断
SETB TR0 ;开启定时器计时
L2:
LCALL DISPLAY1 ;显示东西数码管
LCALL DISPLAY2 ;显示南北数码管
LCALL CHOOSE1 ;调用东西判断函数
LCALL CHOOSE2 ;调用南北判断函数
SJMP L2 ;一直循环
INTERPUT:
MOV TH0, #22H ;定时器中断里重现给定时器0赋初值
MOV TL0, #0D8H
MOV A, R4
INC R4 ;定时器中断一次50MS,中断一次R4+1
CJNE
文档评论(0)