




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于at89c51的交通灯控制系统作品设计、发明的目的和基本思路随着我国经济的高速发展,人们对各种交通车辆的需求量不断增大,城市的交通拥护问题日益严重,目前,大部分城市的十字路口的交通控制灯,通常的做法是:事先经过车辆流量的调查,利用传统的方法设计好红绿灯的延时,然而,实际上的车流量是不断变化的,有的路口在不同的时间段车流量的大小甚至有很大的差异,所以说,统计的方法己不能适应迅速发展的交通现状。目前,国内的交通灯一般设在十字路门,在醒目位置用红、绿、黄三种颜色的指示灯。加上一个倒计时的显示计时器来控制行车。对于一般情况下的安全行车,车辆分流尚能发挥作用,但根据实际行车过程中出现的情况,还存在以
2、下缺点:1两车道的车辆轮流放行时间相同且固定, 在十字路口,经常一个车道为主干道,车辆较多,放行时间应该长些;另一车道为副干道,车辆较少,放行时间应该短些。2没有考虑紧急车通过时,两车道应采取的措施,臂如,消防车执行紧急任务通过时,两车道的车都应停止,让紧急车通过。 本系统是以at89c51单片机作为控制系统的核心,模拟定周期交通信号灯的工作状态。并采用proteus进行仿真,仿真结果满足预期性能要求。设计内容和要求:利用at89c51单片机设计一十字路口交通灯控制系统。1:系统由单片机系统、数码管显示、交通灯演示系统组成。2:具有人行道、左转、右转,以及基本的交通灯的功能。3:具有数码管倒计
3、时功能。4:要求甲乙车道的车辆交替运行,每次通行为60秒。为绿灯的车道先显示40秒的直行,再显示20秒的左行。5:要求黄灯先亮四秒,才能变换车道,黄灯亮时要求闪亮。 硬件设计 控制流程分析: (1)从十字路口交通灯示意图1分析可知:东西、南北方向信号灯控制是中心对称的,即无论是主干道还是支干道两侧系统对同方向的信号灯控制是同步的。(2)从示意图分析可知,人行道各个方向,系统对两侧的信号灯的控制也是同步的,且人行道的红绿灯变化和行车道的红绿灯变化应该是一致的。 (3)通过上面的分析,可以采用单片机的p0-p3口及r0到r7寄存器配合来实现控制发光二极管灯和数码管。 系统的硬件设计 本系统选用通过
4、p0到p3口 用做输出显示控制口。p0口用作输出南北方向led数码管字符编码,p1口用作输出东西方向led数码管字符编码。p2 口用于输出东西、南北方面led数码管的位选信号,以及各个人行道发光二极管的控制信号的输出。p3口用于输出东西、南北方向信号灯控制信号。led数码管采用动态显示方式实现倒计时读秒,并且本系统的了led采用的是led的共阳极接法,共阳极接法如图2所示: 共阳极7段led显示字型编码表(表一): led动态显示,在多位led显示时,为了简化电路,降低成本,将段选位并联在一起,由一个八位的i/o口控制,而位选由另一个口控制, 段选码、位选码每次送入后演示1ms,而人的视觉暂留
5、时间为0.1s,所以在人看来数码管一直亮着,从而在应用中通过动态扫描的方法显示。 交通灯的正常显示 交通灯系统的工作状态: 上电后,南北方向数码管显示40,东西方向数码管显示60,南北方向的直行绿灯亮,车辆可以直行可以右行,人行红灯亮行人不能通过;东西方向红灯亮车辆不能通行,人行绿灯亮人可以通行。当南北数码管显示为4时,直行绿灯熄灭,黄灯闪烁4秒,然后南北数码管显示20,左转绿灯亮车辆可以左行,人行灯和东西方向灯同上一状态,当数码管减到四时南北黄灯闪烁4秒,然后红灯亮,数码管显示60,南北车辆禁止通行,人行绿灯亮;南北数码管显示60的同时东西数码管显示40,直行绿灯亮,车辆可以直行可以右行,人
6、行红灯亮,当东西数码管显示为4时,直行绿灯熄灭,黄灯闪烁4秒,然后东西数码管显示20,左转绿灯亮车辆可以左行,人行灯和南北方向灯同上一状态,当数码管减到4时东西黄灯闪烁4秒,然后红灯亮,东西数码管显示60,南北显示40,随后依次循环交通灯原理图:软件设计:根据设计要求有汇编语言编写的交通灯源程序如下:org 0000h;主函数地址ljmp mainorg 000bh;中断定时器0地址ljmp interputorg 0030h;表的首地址ljmp tabletable:db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90hmain:movp2,#00h;
7、给p2口赋初值,让数码管刚开始都不亮movr2,#60;给r2赋60,使东西的数码管显示初值为60mov r3,#40;给r3赋40,使南北的数码管显示初值为40mov p3,#0;使人形道的灯初始都不亮mov r5,#0;给r5,r6赋初值0mov r6,#0mov tmod,#01h;定时器0工作方式1mov th0,#79;给定时器赋初值mov tl0,#0aehsetb ea ;允许总中断setb et0 ;开启定时器0中断setb tr0 ;开启定时器计时l2:lcall display1 ;显示东西数码管lcall display2 ;显示南北数码管lcall choose1 ;调
8、用东西判断函数lcall choose2;调用南北判断函数sjmp l2;一直循环interput:mov th0, #22h;定时器中断里重现给定时器0赋初值mov tl0, #0d8hmov a, r4inc r4 ;定时器中断一次50ms,中断一次r4+1cjne a,#20,l3 ;判断是不是加到20了,即定时器定时1smov r4,#0;r4加到20,则清0dec r3;要是定时1s到了,则把r2,和r3的值都减1dec r2l3:reti;中断退出choose1:;东西判断函数mov a,r5;热是一个标志cjne a,#1,k1;判断r5是不是等于1,不等于1跳到k1mov a,
9、r2;要是标志位等于1cjne a,#4,k5;而且r2等于4,则开启黄灯,关闭车道绿灯setb p3.2clr p3.3sjmp k3k5:jnc k3;要是r2小于4则闪烁绿灯cpl p3.2mov a,r2cjnea,#0,k3;判断r2是不是等于0,inc r5;等于0则让标志位+1clr p3.2;清黄灯,开车道的左行绿灯,置人行道红灯setbp3.0movr2,#20setb p2.6clr p2.7sjmp k3k1:jnc k2;cjne这个指令比较好r5和1的值,要是r5大于1,则c=0,反之c=1,这里判断c是否等于0,既判断是否小于1,小于1执行下行,大于1则跳转k2mo
10、va,r2cjnea,#60,k7;初值状态r2是60,判断r2是不是60,60的话开车道的红灯,开人行道的绿灯setb p3.1setb p2.7clr p2.6sjmp k3;退出k7:cjne a,#0,k3;要是r2不等于60,判断r2是不是等于0,等于0则把标志位r5加1,让车道绿灯亮,红灯灭,人行道红灯亮inc r5clr p3.1setb p3.3mov r2,#40;再给数码管赋初值clr p2.7setbp2.6sjmp k3;退出k2:mov a,r2;标志位r5大于1则跳到这里cjne a,#4,k6;判断r2和4的值,等于4则开启黄灯,关闭车道的绿灯,要是不等于是,则跳
11、到k6clr p3.0setb p3.2sjmp k3k6:jnc k3;判断r2是不是小于4,小于4则闪烁黄灯,大于4则直接退出cpl p3.2;取反mov a,r3cjne a,#0,k3;判断r2是不是等于0mov r5,#0;等于0则清标志位,因为我们只设置了0.1.2这三个状态,到2了以后要清0,让他重新开始循环movr2,#60;给r2赋初值,开车道红灯,关车道左行绿灯,开人行道绿灯,关人行道红灯setb p3.1clrp3.2setb p2.7clr p2.6k3:retchoose2:;南、北判断函数,程序和东、西判断一致,这里就不写注释了mov a,r6cjne a,#1,h
12、2mov a,r3cjne a,#4,h6setb p3.6clr p3.4sjmp h3h6:jnc h3cpl p3.6cjne a,#0,h3inc r6clr p3.6setb p3.5mov r3,#60setb p2.4clr p2.5sjmp h3h2:jnc h4mov a,r3cjne a,#40,h7setb p3.7setb p2.5clr p2.4sjmp h3h7:mov a,r3cjne a,#4,h5setb p3.6clr p3.7sjmp h3h5:jnc h3cpl p3.6cjne a,#0,h3setb p3.4clr p3.6inc r6mov r3,
13、#20setb p2.5clr p2.4sjmp h3h4:mov a,r3cjne a,#0,h3setb p3.7clr p3.5mov r6,#0mov r3,#40setb p2.5clr p2.4h3:retdisplay1:;显示东西数码管(动态显示)mov a,r2;将r2放到a中movb,#10div ab;将2位的10进制数的十位和个位分开mov dptr,#table;取table表的首地址给dptrmovc a,a+dptr;把表的第n个数据给amov p1,a;把数据送到数码管中setb p2.0;显示数码管lcall delay;延时clr p2.0;把数码管暗掉mov a,b;把个位给amovc a,a+dptr;把表的个位个数给amov p1,a;把数据送到数码管中setb p2.1;显示数据lcall delay;延时clr p2.1;让数码管暗掉retdisplay2:;显示南北数码管(显示函数和上面一样,这里注释就不
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 阿城市2025届三年级数学第二学期期末复习检测试题含解析
- 陕西中医药大学《经济林木病虫害防治》2023-2024学年第一学期期末试卷
- 陕西服装工程学院《儿童少年卫生学》2023-2024学年第一学期期末试卷
- 建筑图纸知识
- 陕西省咸阳市三原南郊中学2024-2025学年高三5月阶段检测试题历史试题试卷含解析
- 陕西省商洛重点中学2025年初三3月统一测试(一模)化学试题含解析
- 陕西省安康市镇坪县2025年三下数学期末经典模拟试题含解析
- 陕西省度西安中学2025届高考模拟(三诊)物理试题含解析
- 计算机病毒与防治
- 陕西省汉中市佛坪县2025年小升初数学高频考点模拟卷含解析
- 市政管线工程施工工艺标准
- 室外雨污水管道施工方案
- (完整版)高中状语从句练习题带答案
- 特种粉末涂料、粉末涂料弊病的防治
- 人教版六年级道德与法治下册课件 第二单元 爱护地球 共同责任 4 地球——我们的家园
- (完整word版)宿舍建筑平面图
- 《理工英语1》课程导学PPT课件
- 供应商现场审核评分表(详细)
- 第三章政府绩效计划-ppt
- 算24点教学设计含(设计意图)(教材分析)(评析)
- 鼻胆管护理 (2)ppt课件
评论
0/150
提交评论