




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本科毕业论文(设计) 题 目 交通灯信号控制器设计指导老师 职称 副教授 学生姓名 学号 专 业 电子信息工程 班级 电信 (1)班 院 (系) 电子信息工程学院 完成时间 2011 年 04 月 12 日 交通灯信号控制器设计摘 要本设计是单片机控制的交通灯信号控制器设计,使用 12mhz 晶振与单片机 at89s52 相连接,通过软件编程的方法实现十字路口的交通灯控制。其输入装置是键盘开关,用于控制交通灯的运行模式以及设置通行时间,显示装置是两位的 led 七段数码管。总体由单片机系统、led 显示、交通灯演示系统、键盘电路及其控制电路组成。该系统除基本交通灯功能外,还具有倒计时、紧急情况
2、处理、调整通行时间以及根据具体情况手动控制等功能。关键字 at89s52 单片机/交通灯/led 显示/键盘开关电路the traffic signal controller designabstractthis design is single-chip microcomputer control of traffic light signal controller design, use 12mhz crystals and monolithic integrated circuit at89s52 connections, through software programming met
3、hod of realization of intersection traffic control. its input device is a keyboard switch, used to control the traffic operation mode and setting passage of time, display device is two led seven segment digital tube. overall by single-chip microcomputer system, led display, traffic lights demonstrat
4、ion system, keyboard circuit and control circuit component. this system in addition to the basic traffic lights function outside, still have the countdown, emergency, adjust the passage of time and according to the specific circumstances of manual control etc. function.key words at89s52 scm, the lig
5、hts, led display, keyboard switch circuit.目 录摘 要.iabstract.ii1 概述.11.1 设计背景.11.2 设计目的.11.3 设计要求.12 系统总体方案及硬件设计.22.1 总体方案.22.2 各功能模块设计.32.2.1 单片机 at89s52 介绍.32.2.2 设计思路.42.2.3 时钟电路模块.42.2.4 复位电路模块.52.2.5 交通灯演示模块.52.2.6 led 显示模块.62.2.7 键盘开关模块.73 软件设计.93.1 系统流程图.93.2 系统软件设计.103.2.1 led 的编程. 103.2.2 交通灯
6、模块的编写设计. 11 3.2.3 定时器程序.11 3.2.4 键盘程序. 12 4 proteus 仿真. 14 4.1 正常工作状态. 14 4.2 时间调整. 16 4.3 状态调整.18 结 论. 19致 谢. 20 参考文献. 21 附 录.22 附录 1 系统原理图. 22 附录 2 源程序代码. 23 1 概述1.1 设计背景在车辆日渐增多的今天,人们也越来越关注交通问题,而交通灯在安全行车过程中无疑起着十分重要的作用。现在交通灯一般都设在十字路口,用红、绿、黄三种颜色的指示灯和一个倒计时的显示计时器来控制行车, 对一般情况下的安全行车、车辆分流发挥着作用, 但根据实际行车过程
7、中出现的情况, 主要有如下几个缺点: 1、车道轮流放行时间相对固定, 不能根据实际情况中两个车道的车辆多少来设置改变通行时间;2、 没有考虑紧急车辆通过时, 两车道应采取的措施。 譬如, 有消防车通过执行紧急任务时, 两个车道的车都应停止, 让紧急车辆通过。因此如何合理高效地利用交通灯指示交通情况,是一个亟需解决的问题。1.2 设计目的1. 实现交通灯基本的指挥控制车辆通行功能;2. 增加部分新功能,使交通灯信号控制更加合理、有效。1.3 设计要求 假设一十字路口为南北方向(主干道)车道和东西方向(支干道) ,设计一个交通灯信号控制电路,具体要求如下:1.实现交通灯的基本控制通行功能: 南北方
8、向车道和东西方向车道两条交叉道路上的车辆交替运行,主干道每次通行时间设为 40 秒、支干道每次通行时间为 25 秒; 在绿灯转为红灯时,要求黄灯先亮 5 秒钟,才能变换运行车道; 黄灯亮时,要求每秒闪亮一次; 东西方向、南北方向车道除了有红、黄、绿灯指示外,每一种灯亮的时间都用显示器进行显示(采用计时的方法) 。2. 新增部分功能: 各干道上通行时间可根据实际情况进行调整设置; 一道有车而另一道无车(实验时用开关 k0 和 k1 控制),通过手动控制交通灯系统,使立即指示有车道放行; 有紧急车辆要求通过时,系统要能禁止普通车辆通行,两个道均为红灯。2 系统总体方案及硬件设计2.1 总体方案本设
9、计使用的是单片机作为核心的控制元件,使得电路的可靠性比较高,功能也比较强大,而且可以随时更新系统,根据道路情况适时调整交通灯的状态,全面有效地利用交通灯指示交通情况。该设计是以单片机 at89s52 为核心完成的,在硬件电路中采用 p1 口点亮交通指示灯,采用 p0 口和 p2 口作为 2 位 led 数码管的驱动接口,可显示各个方向的交通灯的持续时间,单片机外围接有按键开关电路,可以响应外部中断及键盘程序,实现紧急情况处理、调整交通灯的点亮时间等功能。电路由下列部分组成:时钟电路、复位电路、键盘电路、交通灯演示电路、led显示电路。at89s52 复位电路交通灯演示电路led 显示电路键盘电
10、路时钟电路图 01 原理框图2.2 各功能模块设计2.2.1 单片机 at89s52 介绍at89s52 是一个低电压,高性能 cmos 型 8 位单片机,片内含 8kb 的可反复擦写的 flash 只读程序存储器(rom)和 256 b 的随机存取数据存储器(ram)。 at89s52 是一个低功耗高性能单片机,40 个引脚,32 个外部双向输入/输出(i/o)端口,同时内含 2 个外中断口,2 个 16 位可编程定时计数器,2 个全双工串行通信口,at89s52 可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和 flash 存储器结合在一起,特别是可反复擦写的 flash 存
11、储器可有效地降低开发成本。引脚使用说明:i/o 端口的编程实际上就是根据应用电路的具体功能和要求对 i/o 寄存器进行编程。具体步骤如下:l. 根据实际电路的要求,选择要使用哪些 i/o 端口;2. 初始化端口的数据输出寄存器,应避免端口作为输出时的开始阶段出现不确定状态,影响外围电路正常工作;3. 根据外围电路功能,确定 po 端口的方向,初始化端口的数据方向寄存器。对于用作输入的端口可以不考虑方向初始化;4. 用作输入的 po 管脚,需上拉电阻;5. 最后对 i/o 端口进行输出(写数据输出寄存器)和输入(读端口)编程,完成对外围电路的相应功能。几个特殊管脚:xtal1:反向振荡放大器的输
12、入及内部时钟工作电路的输入。 xtal2:来自反向振荡器的输出。rst:复位输入。当振荡器复位器件时,要保持 rst 脚两个机器周期的高电平。2.2.2 设计思路假设此交通灯系统位于南北和东西的十字路口,南北方向为主干道,东西方向为支干道。各干道有一组红、绿、黄三色的指示灯,指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行,黄灯亮提示人们注意红、绿灯的状态即将切换。此交通灯系统工作过程分为 4 个状态。状态 0 南北方向绿灯亮,东西方向红灯亮。过 35 秒后转为状态 1,南北方向绿灯灭,黄灯每秒闪亮一次,东西方向还是红灯亮。历时 5 秒钟再转为状态 2,南北方向红灯亮,东西方向绿灯亮。过
13、 20 秒后转为状态 3,南北方向还是红灯亮,东西方向绿灯灭,黄灯每秒闪亮一次。历时 5 秒钟又循环至状态 0。交通灯的状态表如下:主干道sn支干道we状态(时间)红r绿g黄y红r绿g黄y00101001001/010021000103100001/0表 01 交通灯的状态表注: 1:sn南北方向;we东西方向。 2:状态:0熄; 1亮; 1/0闪。2.2.3 时钟电路模块时钟电路模块给单片机提供特定的时钟周期,以备单片机工作使用。单片机的机器周期有 6mhz 和 12mhz 的两种。这里采用的是 12mhz 的晶振,以给单片机提供 12mhz 的机器周期。另外有两个 30p 的电容,两晶振引
14、脚分别连到 xtal1 和xtal2 振荡脉冲输入引脚。其电路图如图 02 所示: 图 02 时钟电路模块2.2.4 复位电路模块单片机系统的复位电路采用的是上电+按钮复位的电路形式,其中电阻 r 采用10k 的阻值,电容采用电容值为 10f 的电解电容。其具体连接电路如图 03 所示:图 03 复位电路模块2.2.5 交通灯演示模块此交通灯演示模块由单片机的 p1 口作信号输出端来控制 12 个交通灯的亮灭,交通灯采用的是发光二极管。因为单片机的输出电流非常小,为了使发光二极管能够发光或者更亮,二极管采用共阳极接法。即阳极通过 470 电阻接+5v 直流电源,阴极接单片机 p1 口。同时南北
15、方向同色灯连同上拉电阻一起并联,东西方向也是一样,以保证同一干道上的同色灯同时点亮或熄灭,并且流过二极管的电流不会因并联而减半。其具体连接电路如图 04 所示: 图 04 交通灯演示电路2.2.6 led 显示模块由于同一干道上的两个方向的红灯,绿灯,黄灯点亮时间相同,所以南北方向只需一个数码管显示相应的时间即可,同理东西方向也只需一个。本次交通灯设计采用两位一体的共阴极数码管来显示相应的时间。由单片机的p0 口输出字型码,p2 口的前四位 p2.0p2.3 作位选端。 位选端接 led 的共阴极,故低电位有效。因为单片机 i/o 口的驱动电流很小,一般只有几个毫安。为了增加驱动能力,每个 l
16、ed 上都加上一个上拉电阻,接入+5v 电源,本次设计采用的是排阻。当 p0 口输出低电平时,led 不导通,上拉电阻电流灌进单片机,而当 p0 口输出高电平时,led 导通。而且上拉电阻的电流也通过 led,这自然就增加了 led 的发光亮度。 其具体连接电路如图 05 所示:图 05 led 显示电路2.2.7 键盘开关模块此系统通过 5 个开关实现所有的要求,开关一端接地,另一端接单片机的 p3 口。k0 接 p37,当主干道有车而支干道无车时,按一下 k0 键,可以实现主干道通行。k1接 p36,当支干道有车而主干道无车时,按一下 k1 键,可以实现支干道通行。k2接 p33,利用中断
17、 1 的方式对紧急情况进行处理,即使东南西北四个方向都亮红灯停车。k4 接 p32,利用中断 0 的方式对各个干道的通行时间进行设置。在相应中断0 期间,k0,k1 起调整时间的作用。每按一下 k0,主干道通行时间加一,每按一下k0,主干道通行时间加一。k3 接 p35,按一下 k3,可以使系统退出中断,回到主程序。其具体连接电路如 06 图示: 图 06 键盘开关电路3 软件设计3.1 系统流程图nynyynnynynyynnyny y nynynyynynnyny开始k=0,sn=25中断按k0按k1sn=0倒计时响应中断k=1,sn=5k=3,we=5k=2,we=15倒计时倒计时倒计时
18、中断按k0按k1we=000按k1sn=0按k0中断中断we=-0按k1按k0响应中断响应中断响应中断图 07 系统流程图3.2 系统软件设计本次单片机课程设计软件部分利用 c 语言编程,采用模块化程序设计。程序部分由主程序、定时器程序、t0/t1 中断服务程序、键盘扫描程序、交通灯点亮程序、led 数码管扫描显示程序和延时程序构成。3.2.1 led 的编程本次交通灯设计采用两位一体的共阴极数码管来显示相应的时间。数码管为七段数码管,由 8 个发光二极管构成,通过不同的组合可用来显示数字 0-9,字符 a-f、h、l、p、r、u、y、符号“-”及小数点“.” 。本设计只需要显示数字 0-9,
19、来表示相应的时间。共阴极数码管的 8 个发光二极管的阴极连接在一起接位选端。两个两位一体的共阴极数码管共有 4 个位选端,分别接在p2o-p23,低电平有效。数码管各个阳极管脚接各段的驱动电路输出端,既 p0 口。p00 接 a,p01 接 b,p06 接g,p07 接 dp,高电平有效。本设计采用逐位扫描的方式实现相应时间的动态显示。先将 p21 置低电平,p20、p22、p23 置高电平,来选中南北方向数码管的个位,此时 p0 口的数据接传送给它显示。经延时一段时间,将 p21 置低电位选中南北方向数码管的十位,此时 p0 口的数据接传送给它显示。再用同样的方法依次驱动东西方向数码管。通过
20、不断改变 p0 口、p2 口的输出,用循环扫描的方式,即可实现 led 的动态显示。led 动态显示的流程图如图 08:显示南北方向个位开始显示南北方向十位显示东西方向个位显示东西方向十位图 08 led 显示3.2.2 交通灯模块的编写设计本次设计的交通灯演示模块由单片机的 p1 口作信号输出端来控制 12 个交通灯的亮灭。p11-p16 依次连接南北的红灯、绿灯、黄灯,东西的红灯、绿灯,黄灯。所以 4 种状态依次为 0 x6a,0 x66,0 x5c,0 x3c。当交通灯的剩余时间为零时,改变 p1口的输出,进而改变交通灯的点亮状态。交通灯依次循环上面的 4 个状态,就可以实现指挥交通的作
21、用。3.2.3 定时器程序本次设计用定时计数器 t1,tmod 是定时计算器的工作方式控制寄存器,通过对该寄存器的操作可以改变 t1 的工作方式。t1 有 4 种工作方式,由 tmod 寄存器中间的 m1、m0 这两位来决定。本次设计的定时计数器工作在工作方式 1,m1、m0 设定为01。定时计算器采用加 1 计数的方式,当接收到一个驱动事件时计数器加 1。工作方式 1 的内部计数器宽度为 16 位,由 th1 的 8 位和 tl1 的 8 位组成。当 tl1 溢出时将向 th1 进位,当 th1 溢出后会产生相应的溢出中断。驱动事件之间的时间间隔即为定时计数器的定时宽度。在定时的工作方式下,
22、定时宽度是单片机的机械周期,也是外部时钟频率的 1/12。本次设计的外部时钟频率为 12mhz。可知,接收 106个驱动事件的时间为 1s。定是 1s 的流程图如图 09 所示:nyyn定时器初始化开始count=0溢出中断sn-.we-结束图 09 定时器流程图计数conut+count=203.2.4 键盘程序为了实现设置通行时间、紧急情况处理、有车放行等功能,本次设计中有键盘电路。通行时间设置由外部中断 0 实现,紧急情况由外部中断 1 处理,有车放行是用普通的键盘程序实现的。按键实际是一种常用的按钮,按键未按下时,键的两个触点处于断开状态,按键按下时,两个触点闭合。按键是利用机械触点来
23、实现键的闭合和释放,由于弹性作用的影响,机械触点在闭合及断开瞬间均有抖动过程,从而使键输入也出现抖动。抖动时间一般为 510ms。本次设计采用软件的办法消抖。在第一次检测到有键按下时不动作,延时 10ms,再次检测按键的状态,如果仍保持闭合状态,则确定真的有键按下。当按键释放后,转入按键的处理程序延时程序如下:/*延时 t 毫秒*/void delay(uchar t) uchar i; /*定义无符号字符常量*/ for(t;t0;t-) /*执行 t 次循环*/ for(i=2000;i0;i-) /*由于时钟脉冲是 12mhz,执行 2000 次循环的时间为1ms*/ 3.2.4.1 通
24、行时间设置程序本次设计通过外部中断 0 设置各个干道的通行时间。外部中断 0 的请求信号由 p32 引脚输入,采用低电平有效的方式响应中断,即it0=1。响应中断 0 期间,cpu 禁止响应其他中断,按键 k0,k1 起调整时间的作用。采用加 1 的方式,每按一下 k0,主干道通行时间加 1,每按一下 k1,支干道通行时间加 1。通行时间可以直接在数码管上显示出来。按一下 k3,可以使系统退出中断,回到主程序断点处,从下一个状态开始执行新设置的通行时间。cpu 再开放总中断。由于本次设计使用两位一体的共阴极数码管显示时间,故设置各个干道的通行时间的范围为 0100s。考虑道路通车的实际情况,时
25、间太短无法通过交通路口,所以本设计中通行时间下限为 6s(绿灯 1s,黄灯 5s) 。在 699s 之间可以任意设置通行时间,更合理高效的指挥交通。3.2.4.2 紧急情况处理程序本次设计通过外部中断 1 实现对紧急情况的处理。与外部中断 0 相仿。外部中断 1 的请求信号有 p33 引脚输入,采用低电平有效的方式相应中断,即 it0=1。响应中断 1 期间,cpu 禁止响应其他中断,东南西北四个方向均亮红灯,各个干道都禁止通行。由于不确定要持续多久,不采用倒计时的方式显示时间,数码管显示 00。紧急情况结束时,按一下 k3,可以使系统退出中断,回到主程序断点处,cpu 再开放总中断。3.2.
26、4.3 状态调整程序在实际交通系统中,很有可能会不时的出现一个车道有车而另一车道无车的情况,为了更合理高效的指挥交通,本次设计的交通灯控制系统能立即让有车道放。由开关 k0 和 k1 控制。采用查询的方式不断扫描 k0、k1,看有没有键按下。按一下 k0 键,可以实现主干道通行,按一下 k1 键,可以实现支干道通行。此时交通状态的改变是因为另一路无车,所以不需要设置返回,直接按主程序循环指挥。也有可能较长时间出现一道有车另一道无车的情况,只需多次按 k0 或k1 键即可。4 proteus 仿真4.1 正常工作状态本次设计的交通灯控制系统共有四个工作状态,分别是状态 0、状态 1、状态 2和状
27、态 3。开始时先执行状态 0,南北方向绿灯亮,东西方向红灯亮。历时 35 秒。如图 10所示:p1.6p1.5p1.4p1.3p1.2p1.1p1.6p1.5p1.4p1.3p1.2p1.1p1.1p1.2p1.3p1.4p1.5p1.6xtal218xtal119ale30ea31psen29rst9p0.0/ad039p0.1/ad138p0.2/ad237p0.3/ad336p0.4/ad435p0.5/ad534p0.6/ad633p0.7/ad732p1.0/t21p1.1/t2ex2p1.23p1.34p1.45p1.56p1.67p1.78p3.0/rxd10p3.1/txd11
28、p3.2/int012p3.3/int113p3.4/t014p3.7/rd17p3.6/wr16p3.5/t115p2.7/a1528p2.0/a821p2.1/a922p2.2/a1023p2.3/a1124p2.4/a1225p2.5/a1326p2.6/a1427u2at89c52c130pc230px1crystalc310ur110kd2sn-gd5we-gd8sn-gd11we-gd10we-rd7sn-rd1sn-rd4we-rd3sn-yd6we-yd12we-yd9sn-yr22470r21470r20470r19470r18470r12470r14470r15470r16
29、470r17470r13470r11470+5v234567891rp1respack-8+5vk4时间设置k3返回k2紧急情况k1支干道通行/支干道+1k0主干道通行/主干道+1图 10 状态 035 秒后转为状态 1,南北方向绿灯灭,黄灯每秒闪亮一次,东西方向还是红灯亮。历时 5 秒。如图 11 所示:. p1.6p1.5p1.4p1.3p1.2p1.1p1.6p1.5p1.4p1.3p1.2p1.1p1.1p1.2p1.3p1.4p1.5p1.6xtal218xtal119ale30ea31psen29rst9p0.0/ad039p0.1/ad138p0.2/ad237p0.3/ad33
30、6p0.4/ad435p0.5/ad534p0.6/ad633p0.7/ad732p1.0/t21p1.1/t2ex2p1.23p1.34p1.45p1.56p1.67p1.78p3.0/rxd10p3.1/txd11p3.2/int012p3.3/int113p3.4/t014p3.7/rd17p3.6/wr16p3.5/t115p2.7/a1528p2.0/a821p2.1/a922p2.2/a1023p2.3/a1124p2.4/a1225p2.5/a1326p2.6/a1427u2at89c52c130pc230px1crystalc310ur110kd2sn-gd5we-gd8sn-
31、gd11we-gd10we-rd7sn-rd1sn-rd4we-rd3sn-yd6we-yd12we-yd9sn-yr22470r21470r20470r19470r18470r12470r14470r15470r16470r17470r13470r11470+5v234567891rp1respack-8+5vk4时间设置k3返回k2紧急情况k1支干道通行/支干道+1k0主干道通行/主干道+1图 11 状态 15 秒后再转状态 2,南北方向红灯亮,东西方向绿灯亮。历时 20 秒。如图 12 所示:p1.6p1.5p1.4p1.3p1.2p1.1p1.6p1.5p1.4p1.3p1.2p1.1
32、p1.1p1.2p1.3p1.4p1.5p1.6xtal218xtal119ale30ea31psen29rst9p0.0/ad039p0.1/ad138p0.2/ad237p0.3/ad336p0.4/ad435p0.5/ad534p0.6/ad633p0.7/ad732p1.0/t21p1.1/t2ex2p1.23p1.34p1.45p1.56p1.67p1.78p3.0/rxd10p3.1/txd11p3.2/int012p3.3/int113p3.4/t014p3.7/rd17p3.6/wr16p3.5/t115p2.7/a1528p2.0/a821p2.1/a922p2.2/a102
33、3p2.3/a1124p2.4/a1225p2.5/a1326p2.6/a1427u2at89c52c130pc230px1crystalc310ur110kd2sn-gd5we-gd8sn-gd11we-gd10we-rd7sn-rd1sn-rd4we-rd3sn-yd6we-yd12we-yd9sn-yr22470r21470r20470r19470r18470r12470r14470r15470r16470r17470r13470r11470+5v234567891rp1respack-8+5vk4时间设置k3返回k2紧急情况k1支干道通行/支干道+1k0主干道通行/主干道+1图 12
34、状态 220 秒后转状态 3,南北方向还是红灯亮,东西方向绿灯灭,黄灯每秒闪亮一次。历时 5 秒。如图 13 所示:p1.6p1.5p1.4p1.3p1.2p1.1p1.6p1.5p1.4p1.3p1.2p1.1p1.1p1.2p1.3p1.4p1.5p1.6xtal218xtal119ale30ea31psen29rst9p0.0/ad039p0.1/ad138p0.2/ad237p0.3/ad336p0.4/ad435p0.5/ad534p0.6/ad633p0.7/ad732p1.0/t21p1.1/t2ex2p1.23p1.34p1.45p1.56p1.67p1.78p3.0/rxd1
35、0p3.1/txd11p3.2/int012p3.3/int113p3.4/t014p3.7/rd17p3.6/wr16p3.5/t115p2.7/a1528p2.0/a821p2.1/a922p2.2/a1023p2.3/a1124p2.4/a1225p2.5/a1326p2.6/a1427u2at89c52c130pc230px1crystalc310ur110kd2sn-gd5we-gd8sn-gd11we-gd10we-rd7sn-rd1sn-rd4we-rd3sn-yd6we-yd12we-yd9sn-yr22470r21470r20470r19470r18470r12470r144
36、70r15470r16470r17470r13470r11470+5v234567891rp1respack-8+5vk4时间设置k3返回k2紧急情况k1支干道通行/支干道+1k0主干道通行/主干道+11图 13 状态 3此状态结束后再回到状态 0,如此循环进行。4.2 时间调整按一下开关 k4,系统响应外部中断 0,进入通行时间调整程序。各个干道的通行时间有数码管显示。按键 k0,k1 起调整时间的作用,每按一下 k0,主干道通行时间加 1,每按一下k1,支干道通行时间加 1。多次按键即可调整到合理的通行时间。如图 14 和图 15所示:p1.6p1.5p1.4p1.3p1.2p1.1p1.
37、6p1.5p1.4p1.3p1.2p1.1p1.1p1.2p1.3p1.4p1.5p1.6xtal218xtal119ale30ea31psen29rst9p0.0/ad039p0.1/ad138p0.2/ad237p0.3/ad336p0.4/ad435p0.5/ad534p0.6/ad633p0.7/ad732p1.0/t21p1.1/t2ex2p1.23p1.34p1.45p1.56p1.67p1.78p3.0/rxd10p3.1/txd11p3.2/int012p3.3/int113p3.4/t014p3.7/rd17p3.6/wr16p3.5/t115p2.7/a1528p2.0/a
38、821p2.1/a922p2.2/a1023p2.3/a1124p2.4/a1225p2.5/a1326p2.6/a1427u2at89c52c130pc230px1crystalc310ur110kd2sn-gd5we-gd8sn-gd11we-gd10we-rd7sn-rd1sn-rd4we-rd3sn-yd6we-yd12we-yd9sn-yr22470r21470r20470r19470r18470r12470r14470r15470r16470r17470r13470r11470+5v234567891rp1respack-8+5vk4时间设置k3返回k2紧急情况k1支干道通行/支干
39、道+1k0主干道通行/主干道+1图 14 主干道时间+1 图 15 支干道时间+1图 15 支干道时间+1p1.6p1.5p1.4p1.3p1.2p1.1p1.6p1.5p1.4p1.3p1.2p1.1p1.1p1.2p1.3p1.4p1.5p1.6xtal218xtal119ale30ea31psen29rst9p0.0/ad039p0.1/ad138p0.2/ad237p0.3/ad336p0.4/ad435p0.5/ad534p0.6/ad633p0.7/ad732p1.0/t21p1.1/t2ex2p1.23p1.34p1.45p1.56p1.67p1.78p3.0/rxd10p3.1
40、/txd11p3.2/int012p3.3/int113p3.4/t014p3.7/rd17p3.6/wr16p3.5/t115p2.7/a1528p2.0/a821p2.1/a922p2.2/a1023p2.3/a1124p2.4/a1225p2.5/a1326p2.6/a1427u2at89c52c130pc230px1crystalc310ur110kd2sn-gd5we-gd8sn-gd11we-gd10we-rd7sn-rd1sn-rd4we-rd3sn-yd6we-yd12we-yd9sn-yr22470r21470r20470r19470r18470r12470r14470r15
41、470r16470r17470r13470r11470+5v234567891rp1respack-8+5vk4时间设置k3返回k2紧急情况k1支干道通行/支干道+1k0主干道通行/主干道+14.3 状态调整当出现紧急情况时,按一下开关 k2,系统响应外部中断 1,各个方向均亮红灯禁止通行,数码管均显示 0。按一下 k3,可以使系统退出中断,回到主程序断点处。如图 16 所示p1.6p1.5p1.4p1.3p1.2p1.1p1.6p1.5p1.4p1.3p1.2p1.1p1.1p1.2p1.3p1.4p1.5p1.6xtal218xtal119ale30ea31psen29rst9p0.0/a
42、d039p0.1/ad138p0.2/ad237p0.3/ad336p0.4/ad435p0.5/ad534p0.6/ad633p0.7/ad732p1.0/t21p1.1/t2ex2p1.23p1.34p1.45p1.56p1.67p1.78p3.0/rxd10p3.1/txd11p3.2/int012p3.3/int113p3.4/t014p3.7/rd17p3.6/wr16p3.5/t115p2.7/a1528p2.0/a821p2.1/a922p2.2/a1023p2.3/a1124p2.4/a1225p2.5/a1326p2.6/a1427u2at89c52c130pc230px1c
43、rystalc310ur110kd2sn-gd5we-gd8sn-gd11we-gd10we-rd7sn-rd1sn-rd4we-rd3sn-yd6we-yd12we-yd9sn-yr22470r21470r20470r19470r18470r12470r14470r15470r16470r17470r13470r11470+5v234567891rp1respack-8+5vk4时间设置k3返回k2紧急情况k1支干道通行/支干道+1k0主干道通行/主干道+1p1.6p1.5p1.4p1.3p1.2p1.1p1.6p1.5p1.4p1.3p1.2p1.1p1.1p1.2p1.3p1.4p1.5
44、p1.6xtal218xtal119ale30ea31psen29rst9p0.0/ad039p0.1/ad138p0.2/ad237p0.3/ad336p0.4/ad435p0.5/ad534p0.6/ad633p0.7/ad732p1.0/t21p1.1/t2ex2p1.23p1.34p1.45p1.56p1.67p1.78p3.0/rxd10p3.1/txd11p3.2/int012p3.3/int113p3.4/t014p3.7/rd17p3.6/wr16p3.5/t115p2.7/a1528p2.0/a821p2.1/a922p2.2/a1023p2.3/a1124p2.4/a122
45、5p2.5/a1326p2.6/a1427u2at89c52c130pc230px1crystalc310ur110kd2sn-gd5we-gd8sn-gd11we-gd10we-rd7sn-rd1sn-rd4we-rd3sn-yd6we-yd12we-yd9sn-yr22470r21470r20470r19470r18470r12470r14470r15470r16470r17470r13470r11470+5v234567891rp1respack-8+5vk4时间设置k3返回k2紧急情况k1支干道通行/支干道+1k0主干道通行/主干道+1图 16 紧急情况为了更合理高效的指挥交通,当南北
46、方向有车而东西方向无车时,按 k0,系统会自动跳转到状态 0,实现南北方向通行;当东西方向有车而南北方向无车时,按k1,系统会自动跳转到状态 2,实现东西方向通行。结 论本系统就是采用了以单片机 at89s52 为中心部件来设计交通灯信号控制器,通过芯片的 p1 口来点亮交通指示灯,采用 p0 口和 p2 口作为 2 位 led 数码管的驱动接口,以显示各个方向的交通灯的持续时间,p3 口设置红绿灯时间。倒计时剩余 5 秒时黄灯闪烁警示。当有紧急车辆需要通过时,两个车道均显示红灯以禁止通行。该设计能够根据实际情况随时调整十字路口两个干道上车辆的通行时间,比较合理有效的进行车辆分流控制,可以达到
47、相对满意的效果。致 谢 毕业论文暂告收尾,这也意味着我在大学的四年的学习生涯即将结束。回首既往,自己一生最宝贵的时光能于这样的校园之中,能在众多学富五车、才华横溢的老师们的熏陶下度过,实是荣幸之极。在这四年的时间里,我在学习上和思想上都受益非浅。这除了自身努力外,更与各位老师、同学和朋友们的关心、支持和鼓励是分不开的。论文的写作是枯燥艰辛而又富有挑战的。老师的谆谆诱导、同学的出谋划策及朋友的支持鼓励,是我坚持完成论文的动力源泉。在此,我特别要感谢我的导师张云龙老师。从论文的选题、框架的设计、结构的布局到最终的论文定稿,从内容到格式,从标题到标点,他都费尽心血。没有张云龙老师的辛勤栽培、孜孜教诲
48、,就没有我论文的顺利完成。感谢电子专业的各位同学,与他们的交流使我受益颇多。最后要感谢我的家人以及我的朋友对我的理解、支持、鼓励和帮助,正是因为有了他们,我所做的一切才更有意义;也正是因为有了他们,我才有了追求进步的勇气和信心。 时间的仓促及自身专业水平的不足,整篇论文肯定存在尚未发现的缺点和错误,恳请阅读此篇论文的老师、同学予以指正,不胜感激!参考文献1 康华光.模拟电子技术.北京:高等教育出版社,2006.2 阎石.数字电子技术.北京:高等教育出版社,2006.3 谭浩强.c 程序设计.北京:清华大学出版社,2005.4 江志红.51 单片机技术与应用系统开发案例精选.北京:清华大学出版社
49、,2008.5 谢嘉奎.电子线路(线性部分).北京:高等教育出版社,1999.6 余发山,王福忠编著. 单片机原理及应用技术. 北京:中国矿业大学出版社,2008.7 ludwig r,bretchkop.rf circuit design theory and applicationsm.北京:科技出版社,2002.8 giyoung lim,jeongjin kang,yousik hong.the optimization of traffic signal light using artifical intelligence.fuzzy systems,2001,3(2-5):1279
50、-1282.附 录附录 1 系统原理图附录 2 源程序代码#include /*对单片机的口进行了定义*/#define uchar unsigned char /*定义字符串类型为无符号型*/uchar code a10=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f; /*段码组合,p0 口,高有效*/uchar code b4=0 x0d,0 x0e,0 x07,0 x0b; /*p2 口,低有效*/uchar code c4=0 x6a,0 x66,0 x5c,0 x3c; /*p1 口.低有效*/char sn=
51、35,we=40; /*sn 表示南北方向主干道,we 表示东西方向支干道*/char sn_g=35,we_g=20,y=5; /*sn_g 表示南北方向的绿灯,we_g 表示东西方向的绿灯,y 表示黄灯*/uchar i,k=0,count=0; /*定义无符号字符串变量*/void delay(uchar t); /*定义函数*/void light();/*定义函数*/void led(); /*定义函数*/void ledthrough();/*定义函数*/void leddrive(); /*定义函数*/sbit k0=p37;/*开关 k0 接 p37 管脚*/sbit k1=p
52、36;/*开关 k1 接 p36 管脚*/sbit k2=p33;/*开关 k2 接 p33 管脚*/sbit k3=p35;/*开关 k3 接 p35 管脚*/sbit k4=p32;/*开关 k4 接 p32 管脚*/*程序初始化*/void init(void) /*12mhz */ tmod=0 x01; /*计数器用模式 1,为 16 位计数器*/ th1=(65536-50000)/256; /*0 x3c*/ tl1=(65536-50000)%256; /*0 xb0*/*计 50000 个数,用时 50ms*/ it0=1;/*外部中断为低电平触发方式*/ et0=1;/*允
53、许 t0 中断*/ tr0=1;/*启动计数器*/ ea=1;/*cpu 开放总中断*/ ex0=1;/*允许外部中断 0 中断,即允许响应端口 p32(k4)中断*/ ex1=1;/*允许外部中断 1 中断,即允许响应端口 p33(k2)中断*/*中断 0 处理程序*/void int0(void) interrupt 0 ea=0;/*cpu 禁止响应一切中断*/ p1=0 x6c;/*东西南北方向均红灯亮*/tr0=!tr0;/*计数器停止工作*/ for(;)/*无条件循环*/ ledthrough(); /*调用通行时间显示函数*/ /*设置南北方向通行时间*/ if(k0=0) /
54、*p37=0*/ delay(10); /*延时,把抖动的时间抛掉*/ if(k0=0) while(!k0) /*当松开 k0 开关时,跳出循环,执行后面的程序*/ ledthrough(); /*调用通行时间显示函数*/ sn_g+; /*南北方向绿灯时间+1*/ if(sn_g+y)=100) /*南北方向通行时间(绿灯加黄灯时间)为 100s*/ sn_g=1; /*由于使用的是两位数码管,当南北方向通行时间加到 100 后绿灯时间归 1*/ /*设置东西方向通行时间*/ if(k1=0) /*p36=0*/ delay(10); /*延时,把抖动的时间抛掉*/ if(k1=0) wh
55、ile(!k1) /*当松开 k1 开关时,跳出循环,执行后面的程序*/ ledthrough(); /*调用通行时间显示函数*/ we_g+; /*东西方向绿灯时间+1*/ if(we_g+y)=100) /*东西方向通行时间(绿灯加黄灯时间)为 100s*/ we_g=1; /*由于使用的是两位数码管,当东西方向通行时间加到 100 后绿灯时间归 1*/ /*返回*/ if(k3=0) /*p35=0*/ delay(10); /*延时,把抖动的时间抛掉*/ if(k3=0) while(!k3) /*当松开 k3 开关时,跳出循环,执行后面的程序*/ ledthrough(); /*调用
56、通行时间显示函数*/ tr0=!tr0; /*启动计数器*/ ea=1; /*cpu 开放总中断*/ break;/*跳出*/ /*中断 1 处理程序*/void int1(void) interrupt 2p1=0 x6c,p0=a0; /*东西南北方向均红灯亮,p0 口输出 0*/ ea=0; /*cpu 禁止响应一切中断*/tr0=!tr0; /*计数器停止工作*/ for(;)/*无条件循环*/ leddrive(); /*数码管驱动程序*/ /*返回*/ if(k3=0) /*p35=0*/ delay(10); /*延时,把抖动的时间抛掉*/ if(k3=0) while(!k3)
57、 /*当松开 k3 开关时,跳出循环,执行后面的程序*/ leddrive(); /*数码管驱动程序*/ ea=1; /*cpu 开放总中断*/tr0=!tr0; /*启动计数器*/ break; /*跳出*/ /*键盘程序*/void key()/*南北有车而东西无车*/ if(k0=0) /*k0=0*/ delay(10); /*延时,把抖动的时间抛掉*/ if(k0=0) while(!k0) /*当松开 k0 开关时,跳出循环,执行后面的程序*/ light(); /*调用交通灯函数*/led(); /*调用数码管函数*/ count=0; /*清零*/ k=0; /*南北方向通车,东西方向不通车*/ sn=sn_g,we=sn_g+y; /*南北方向显示时间为其绿灯通行时间,东西方向显示时间为南北方向绿灯通行时间加黄灯闪亮时间*/ /*南北无车而东西有车*/ if(k1=0) /*k1=0*/ delay(10); /*延时,把抖动的时间抛掉*/ if(k1=0) while(!k1) /*当松开 k1 开关时,跳出循环,执行后面的程序*/ light(); /*调用交
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 艺术素养考试试题及答案
- 六一儿童节亲子活动方案
- 六一团史活动方案
- 六一廉洁家风活动方案
- 六一教室聚会活动方案
- 六一活动爬竹竿活动方案
- 六一活动节活动策划方案
- 六一睫毛活动方案
- 六一绘画活动策划方案
- 六一节活动布展活动方案
- 超星尔雅学习通《数学大观(北京航空航天大学)》2025章节测试附答案
- 护理人员心理支持服务流程
- 智慧农旅综合体项目可行性研究报告(参考范文)
- 四川2024年11月四川南充市人民政府办公室遴选(考调)工作人员3人国家公务员考试消息笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 会计研究方法论 第4版 课件 第20章 中国会计学术研究成果的国际发表
- 2025年八省联考化学真题+答案(四川卷)
- 肝性脑病昏迷后的护理
- 2025年云南省保山市隆阳区小升初模拟数学测试卷含解析
- 合伙开快递合同范本
- 2024年郑州市公安机关招聘警务辅助人员笔试真题
- TCAMIE 19-2024 城镇污水处理厂全过程除臭技术规程
评论
0/150
提交评论