




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本科毕业论文(设计) 题 目 交通灯信号控制器设计 指导老师 职称 副教授 学生姓名 学号 专 业 电子信息工程 班级 电信 (1)班 院 (系) 电子信息工程学院 完成时间 2011 年 04 月 12 日 交通灯信号控制器设计 摘 要 本设计是单片机控制的交通灯信号控制器设计,使用 12mhz 晶振与单片机 at89 s52 相连接,通过软件编程的方法实现十字路口的交通灯控制。其输入装置是键盘开 关,用于控制交通灯的运行模式以及设置通行时间,显示装置是两位的 led 七段数 码管。总体由单片机系统、led 显示、交通灯演示系统、键盘电路及其控制电路组 成。该系统除基本交通灯功能外,还具有倒
2、计时、紧急情况处理、调整通行时间以 及根据具体情况手动控制等功能。 关键字 at89s52 单片机/交通灯/led 显示/键盘开关电路 the traffic signal controller design abstract this design is single-chip microcomputer control of traffic light signal controller design, use 12mhz crystals and monolithic integrated circuit at89s52 connections, through software pro
3、gramming method 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 ligh
4、ts demonstration 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 at89s5
5、2 scm, the lights, led display, keyboard switch circuit. 目 录 摘 要.i abstract.ii 1 概述.1 1.1 设计背景.1 1.2 设计目的.1 1.3 设计要求.1 2 系统总体方案及硬件设计.2 2.1 总体方案.2 2.2 各功能模块设计.3 2.2.1 单片机 at89s52 介绍.3 2.2.2 设计思路.4 2.2.3 时钟电路模块.4 2.2.4 复位电路模块.5 2.2.5 交通灯演示模块.5 2.2.6 led 显示模块.6 2.2.7 键盘开关模块.7 3 软件设计.9 3.1 系统流程图.9 3.2 系
6、统软件设计.10 3.2.1 led 的编程. 10 3.2.2 交通灯模块的编写设计. 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 设计要求 假设一十字路口为南北方向(主干道)车道和东西方向
8、(支干道) ,设计一个 交通灯信号控制电路,具体要求如下: 1.实现交通灯的基本控制通行功能: 南北方向车道和东西方向车道两条交叉道路上的车辆交替运行,主干道每次 通行时间设为 40 秒、支干道每次通行时间为 25 秒; 在绿灯转为红灯时,要求黄灯先亮 5 秒钟,才能变换运行车道; 黄灯亮时,要求每秒闪亮一次; 东西方向、南北方向车道除了有红、黄、绿灯指示外,每一种灯亮的时间都 用显示器进行显示(采用计时的方法) 。 2. 新增部分功能: 各干道上通行时间可根据实际情况进行调整设置; 一道有车而另一道无车(实验时用开关 k0 和 k1 控制),通过手动控制交 通灯系统,使立即指示有车道放行;
9、有紧急车辆要求通过时,系统要能禁止普通车辆通行,两个道均为红灯。 2 系统总体方案及硬件设计 2.1 总体方案 本设计使用的是单片机作为核心的控制元件,使得电路的可靠性比较高,功能 也比较强大,而且可以随时更新系统,根据道路情况适时调整交通灯的状态,全面 有效地利用交通灯指示交通情况。 该设计是以单片机 at89s52 为核心完成的,在硬件电路中采用 p1 口点亮交通指 示灯,采用 p0 口和 p2 口作为 2 位 led 数码管的驱动接口,可显示各个方向的交通 灯的持续时间,单片机外围接有按键开关电路,可以响应外部中断及键盘程序,实 现紧急情况处理、调整交通灯的点亮时间等功能。 电路由下列部
10、分组成:时钟电路、复位电路、键盘电路、交通灯演示电路、led 显示电路。 at89s52 复位电路 交通灯演示电路 led 显示电路 键盘电路 时钟电路 图 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 个全双工串
11、 行通信口,at89s52 可以按照常规方法进行编程,也可以在线编程。其将通用的微 处理器和 flash 存储器结合在一起,特别是可反复擦写的 flash 存储器可有效地降 低开发成本。 引脚使用说明: i/o 端口的编程实际上就是根据应用电路的具体功能和要求对 i/o 寄存器进行 编程。具体步骤如下: l. 根据实际电路的要求,选择要使用哪些 i/o 端口; 2. 初始化端口的数据输出寄存器,应避免端口作为输出时的开始阶段出现不确 定状态,影响外围电路正常工作; 3. 根据外围电路功能,确定 po 端口的方向,初始化端口的数据方向寄存器。 对于用作输入的端口可以不考虑方向初始化; 4. 用作
12、输入的 po 管脚,需上拉电阻; 5. 最后对 i/o 端口进行输出(写数据输出寄存器)和输入(读端口)编程,完成对外 围电路的相应功能。 几个特殊管脚: xtal1:反向振荡放大器的输入及内部时钟工作电路的输入。 xtal2:来自反向振荡器的输出。 rst:复位输入。当振荡器复位器件时,要保持 rst 脚两个机器周期的高电平。 2.2.2 设计思路 假设此交通灯系统位于南北和东西的十字路口,南北方向为主干道,东西方向 为支干道。各干道有一组红、绿、黄三色的指示灯,指挥车辆和行人安全通行。红 灯亮禁止通行,绿灯亮允许通行,黄灯亮提示人们注意红、绿灯的状态即将切换。 此交通灯系统工作过程分为 4
13、 个状态。状态 0 南北方向绿灯亮,东西方向红灯 亮。过 35 秒后转为状态 1,南北方向绿灯灭,黄灯每秒闪亮一次,东西方向还是红 灯亮。历时 5 秒钟再转为状态 2,南北方向红灯亮,东西方向绿灯亮。过 20 秒后转 为状态 3,南北方向还是红灯亮,东西方向绿灯灭,黄灯每秒闪亮一次。历时 5 秒 钟又循环至状态 0。 交通灯的状态表如下: 主干道sn支干道we 状态(时间) 红r绿g黄y红r绿g黄y 0010100 1001/0100 2100010 3100001/0 表 01 交通灯的状态表 注: 1:sn南北方向;we东西方向。 2:状态:0熄; 1亮; 1/0闪。 2.2.3 时钟电路
14、模块 时钟电路模块给单片机提供特定的时钟周期,以备单片机工作使用。单片机的 机器周期有 6mhz 和 12mhz 的两种。这里采用的是 12mhz 的晶振,以给单片机提 供 12mhz 的机器周期。另外有两个 30p 的电容,两晶振引脚分别连到 xtal1 和 xtal2 振荡脉冲输入引脚。 其电路图如图 02 所示: 图 02 时钟电路模块 2.2.4 复位电路模块 单片机系统的复位电路采用的是上电+按钮复位的电路形式,其中电阻 r 采用 10k 的阻值,电容采用电容值为 10f 的电解电容。 其具体连接电路如图 03 所示: 图 03 复位电路模块 2.2.5 交通灯演示模块 此交通灯演示
15、模块由单片机的 p1 口作信号输出端来控制 12 个交通灯的亮灭, 交通灯采用的是发光二极管。因为单片机的输出电流非常小,为了使发光二极管能 够发光或者更亮,二极管采用共阳极接法。即阳极通过 470 电阻接+5v 直流电源, 阴极接单片机 p1 口。同时南北方向同色灯连同上拉电阻一起并联,东西方向也是一 样,以保证同一干道上的同色灯同时点亮或熄灭,并且流过二极管的电流不会因并 联而减半。 其具体连接电路如图 04 所示: 图 04 交通灯演示电路 2.2.6 led 显示模块 由于同一干道上的两个方向的红灯,绿灯,黄灯点亮时间相同,所以南北方向 只需一个数码管显示相应的时间即可,同理东西方向也
16、只需一个。 本次交通灯设计采用两位一体的共阴极数码管来显示相应的时间。由单片机的 p0 口输出字型码,p2 口的前四位 p2.0p2.3 作位选端。 位选端接 led 的共阴极, 故低电位有效。因为单片机 i/o 口的驱动电流很小,一般只有几个毫安。为了增加 驱动能力,每个 led 上都加上一个上拉电阻,接入+5v 电源,本次设计采用的是排 阻。当 p0 口输出低电平时,led 不导通,上拉电阻电流灌进单片机,而当 p0 口输 出高电平时,led 导通。而且上拉电阻的电流也通过 led,这自然就增加了 led 的发 光亮度。 其具体连接电路如图 05 所示: 图 05 led 显示电路 2.2
17、.7 键盘开关模块 此系统通过 5 个开关实现所有的要求,开关一端接地,另一端接单片机的 p3 口。 k0 接 p37,当主干道有车而支干道无车时,按一下 k0 键,可以实现主干道通行。k1 接 p36,当支干道有车而主干道无车时,按一下 k1 键,可以实现支干道通行。k2 接 p33,利用中断 1 的方式对紧急情况进行处理,即使东南西北四个方向都亮红灯 停车。k4 接 p32,利用中断 0 的方式对各个干道的通行时间进行设置。在相应中断 0 期间,k0,k1 起调整时间的作用。每按一下 k0,主干道通行时间加一,每按一下 k0,主干道通行时间加一。k3 接 p35,按一下 k3,可以使系统退
18、出中断,回到主 程序。 其具体连接电路如 06 图示: 图 06 键盘开关电路 3 软件设计 3.1 系统流程图 n y n y y n n y n y n y y n n y n y y n y n y n y y n y n n y n y 开始 k=0,sn=25 中断 按 k0 按 k1 sn=0 倒计时 响应中断 k=1,sn= 5 k=3,we= 5 k=2,we=1 5 倒计时 倒计时 倒计时 中断 按 k0 按 k1 we=0 00 按 k1 sn=0 按 k0 中断 中断 we=-0 按 k1 按 k0 响应中断 响应中断 响应中断 图 07 系统流程图 3.2 系统软件设计
19、 本次单片机课程设计软件部分利用 c 语言编程,采用模块化程序设计。程序部 分由主程序、定时器程序、t0/t1 中断服务程序、键盘扫描程序、交通灯点亮程序、 led 数码管扫描显示程序和延时程序构成。 3.2.1 led 的编程 本次交通灯设计采用两位一体的共阴极数码管来显示相应的时间。数码管为七 段数码管,由 8 个发光二极管构成,通过不同的组合可用来显示数字 0-9,字符 a- f、h、l、p、r、u、y、符号“-”及小数点“.” 。本设计只需要显示数字 0-9,来 表示相应的时间。 共阴极数码管的 8 个发光二极管的阴极连接在一起接位选端。两个两位一体的 共阴极数码管共有 4 个位选端,
20、分别接在p2o-p23,低电平有效。数码管各个 阳极管脚接各段的驱动电路输出端,既 p0 口。p00 接 a,p01 接 b,p06 接 g,p07 接 dp,高电平有效。 本设计采用逐位扫描的方式实现相应时间的动态显示。先将 p21 置低电平, p20、p22、p23 置高电平,来选中南北方向数码管的个位,此时 p0 口的数据接 传送给它显示。经延时一段时间,将 p21 置低电位选中南北方向数码管的十位,此 时 p0 口的数据接传送给它显示。再用同样的方法依次驱动东西方向数码管。通过不 断改变 p0 口、p2 口的输出,用循环扫描的方式,即可实现 led 的动态显示。 led 动态显示的流程
21、图如图 08: 显示南北方向个位 开始 显示南北方向十位 显示东西方向个位 显示东西方向十位 图 08 led 显示 3.2.2 交通灯模块的编写设计 本次设计的交通灯演示模块由单片机的 p1 口作信号输出端来控制 12 个交通灯 的亮灭。p11-p16 依次连接南北的红灯、绿灯、黄灯,东西的红灯、绿灯,黄灯。 所以 4 种状态依次为 0 x6a,0 x66,0 x5c,0 x3c。当交通灯的剩余时间为零时,改变 p1 口的输出,进而改变交通灯的点亮状态。交通灯依次循环上面的 4 个状态,就可以 实现指挥交通的作用。 3.2.3 定时器程序 本次设计用定时计数器 t1,tmod 是定时计算器的
22、工作方式控制寄存器,通过对 该寄存器的操作可以改变 t1 的工作方式。t1 有 4 种工作方式,由 tmod 寄存器中间 的 m1、m0 这两位来决定。本次设计的定时计数器工作在工作方式 1,m1、m0 设定为 01。定时计算器采用加 1 计数的方式,当接收到一个驱动事件时计数器加 1。工作 方式 1 的内部计数器宽度为 16 位,由 th1 的 8 位和 tl1 的 8 位组成。当 tl1 溢出时 将向 th1 进位,当 th1 溢出后会产生相应的溢出中断。 驱动事件之间的时间间隔即为定时计数器的定时宽度。在定时的工作方式下, 定时宽度是单片机的机械周期,也是外部时钟频率的 1/12。本次设
23、计的外部时钟频 率为 12mhz。可知,接收 106个驱动事件的时间为 1s。 定是 1s 的流程图如图 09 所示: n y y n 定时器初始化 开始 count=0 溢出中断 sn-.we- 结束 图 09 定时器流程图 计数 conut+ count=20 3.2.4 键盘程序 为了实现设置通行时间、紧急情况处理、有车放行等功能,本次设计中有键盘 电路。通行时间设置由外部中断 0 实现,紧急情况由外部中断 1 处理,有车放行是 用普通的键盘程序实现的。 按键实际是一种常用的按钮,按键未按下时,键的两个触点处于断开状态,按 键按下时,两个触点闭合。按键是利用机械触点来实现键的闭合和释放,
24、由于弹性 作用的影响,机械触点在闭合及断开瞬间均有抖动过程,从而使键输入也出现抖动。 抖动时间一般为 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 通行时
25、间设置程序 本次设计通过外部中断 0 设置各个干道的通行时间。 外部中断 0 的请求信号由 p32 引脚输入,采用低电平有效的方式响应中断,即 it0=1。响应中断 0 期间,cpu 禁止响应其他中断,按键 k0,k1 起调整时间的作用。 采用加 1 的方式,每按一下 k0,主干道通行时间加 1,每按一下 k1,支干道通行时 间加 1。通行时间可以直接在数码管上显示出来。按一下 k3,可以使系统退出中断, 回到主程序断点处,从下一个状态开始执行新设置的通行时间。cpu 再开放总中断。 由于本次设计使用两位一体的共阴极数码管显示时间,故设置各个干道的通行 时间的范围为 0100s。考虑道路通车的
26、实际情况,时间太短无法通过交通路口, 所以本设计中通行时间下限为 6s(绿灯 1s,黄灯 5s) 。在 699s 之间可以任意设 置通行时间,更合理高效的指挥交通。 3.2.4.2 紧急情况处理程序 本次设计通过外部中断 1 实现对紧急情况的处理。 与外部中断 0 相仿。外部中断 1 的请求信号有 p33 引脚输入,采用低电平有效 的方式相应中断,即 it0=1。响应中断 1 期间,cpu 禁止响应其他中断,东南西北四 个方向均亮红灯,各个干道都禁止通行。由于不确定要持续多久,不采用倒计时的 方式显示时间,数码管显示 00。紧急情况结束时,按一下 k3,可以使系统退出中断, 回到主程序断点处,
27、cpu 再开放总中断。 3.2.4.3 状态调整程序 在实际交通系统中,很有可能会不时的出现一个车道有车而另一车道无车的情 况,为了更合理高效的指挥交通,本次设计的交通灯控制系统能立即让有车道放。 由开关 k0 和 k1 控制。采用查询的方式不断扫描 k0、k1,看有没有键按下。按一 下 k0 键,可以实现主干道通行,按一下 k1 键,可以实现支干道通行。 此时交通状态的改变是因为另一路无车,所以不需要设置返回,直接按主程序 循环指挥。也有可能较长时间出现一道有车另一道无车的情况,只需多次按 k0 或 k1 键即可。 4 proteus 仿真 4.1 正常工作状态 本次设计的交通灯控制系统共有
28、四个工作状态,分别是状态 0、状态 1、状态 2 和状态 3。 开始时先执行状态 0,南北方向绿灯亮,东西方向红灯亮。历时 35 秒。如图 10 所示: p1.6 p1.5 p1.4 p1.3 p1.2 p1.1 p1.6 p1.5 p1.4 p1.3 p1.2 p1.1 p1.1 p1.2 p1.3 p1.4 p1.5 p1.6 xtal2 18 xtal1 19 ale 30 ea 31 psen 29 rst 9 p0.0/ad0 39 p0.1/ad1 38 p0.2/ad2 37 p0.3/ad3 36 p0.4/ad4 35 p0.5/ad5 34 p0.6/ad6 33 p0.7
29、/ad7 32 p1.0/t2 1 p1.1/t2ex 2 p1.2 3 p1.3 4 p1.4 5 p1.5 6 p1.6 7 p1.7 8 p3.0/rxd 10 p3.1/txd 11 p3.2/int0 12 p3.3/int1 13 p3.4/t0 14 p3.7/rd 17 p3.6/wr 16 p3.5/t1 15 p2.7/a15 28 p2.0/a8 21 p2.1/a9 22 p2.2/a10 23 p2.3/a11 24 p2.4/a12 25 p2.5/a13 26 p2.6/a14 27 u2 at89c52 c1 30p c2 30p x1 crystal c3 1
30、0u r1 10k d2 sn-g d5 we-g d8 sn-g d11 we-g d10 we-r d7 sn-r d1 sn-r d4 we-r d3 sn-y d6 we-y d12 we-y d9 sn-y r22 470 r21 470 r20 470 r19 470 r18 470 r12 470 r14 470 r15 470 r16 470 r17 470 r13 470 r11 470 +5v 2 3 4 5 6 7 8 9 1 rp1 respack-8 +5v k4 时间设置 k3 返回 k2 紧急情况 k1 支干道通行/支干道+1 k0 主干道通行/主干道+1 图 1
31、0 状态 0 35 秒后转为状态 1,南北方向绿灯灭,黄灯每秒闪亮一次,东西方向还是红灯 亮。历时 5 秒。如图 11 所示: . p1.6 p1.5 p1.4 p1.3 p1.2 p1.1 p1.6 p1.5 p1.4 p1.3 p1.2 p1.1 p1.1 p1.2 p1.3 p1.4 p1.5 p1.6 xtal2 18 xtal1 19 ale 30 ea 31 psen 29 rst 9 p0.0/ad0 39 p0.1/ad1 38 p0.2/ad2 37 p0.3/ad3 36 p0.4/ad4 35 p0.5/ad5 34 p0.6/ad6 33 p0.7/ad7 32 p1.
32、0/t2 1 p1.1/t2ex 2 p1.2 3 p1.3 4 p1.4 5 p1.5 6 p1.6 7 p1.7 8 p3.0/rxd 10 p3.1/txd 11 p3.2/int0 12 p3.3/int1 13 p3.4/t0 14 p3.7/rd 17 p3.6/wr 16 p3.5/t1 15 p2.7/a15 28 p2.0/a8 21 p2.1/a9 22 p2.2/a10 23 p2.3/a11 24 p2.4/a12 25 p2.5/a13 26 p2.6/a14 27 u2 at89c52 c1 30p c2 30p x1 crystal c3 10u r1 10k d
33、2 sn-g d5 we-g d8 sn-g d11 we-g d10 we-r d7 sn-r d1 sn-r d4 we-r d3 sn-y d6 we-y d12 we-y d9 sn-y r22 470 r21 470 r20 470 r19 470 r18 470 r12 470 r14 470 r15 470 r16 470 r17 470 r13 470 r11 470 +5v 2 3 4 5 6 7 8 9 1 rp1 respack-8 +5v k4 时间设置 k3 返回 k2 紧急情况 k1 支干道通行/支干道+1 k0 主干道通行/主干道+1 图 11 状态 1 5 秒后
34、再转状态 2,南北方向红灯亮,东西方向绿灯亮。历时 20 秒。如图 12 所 示: p1.6 p1.5 p1.4 p1.3 p1.2 p1.1 p1.6 p1.5 p1.4 p1.3 p1.2 p1.1 p1.1 p1.2 p1.3 p1.4 p1.5 p1.6 xtal2 18 xtal1 19 ale 30 ea 31 psen 29 rst 9 p0.0/ad0 39 p0.1/ad1 38 p0.2/ad2 37 p0.3/ad3 36 p0.4/ad4 35 p0.5/ad5 34 p0.6/ad6 33 p0.7/ad7 32 p1.0/t2 1 p1.1/t2ex 2 p1.2
35、3 p1.3 4 p1.4 5 p1.5 6 p1.6 7 p1.7 8 p3.0/rxd 10 p3.1/txd 11 p3.2/int0 12 p3.3/int1 13 p3.4/t0 14 p3.7/rd 17 p3.6/wr 16 p3.5/t1 15 p2.7/a15 28 p2.0/a8 21 p2.1/a9 22 p2.2/a10 23 p2.3/a11 24 p2.4/a12 25 p2.5/a13 26 p2.6/a14 27 u2 at89c52 c1 30p c2 30p x1 crystal c3 10u r1 10k d2 sn-g d5 we-g d8 sn-g d
36、11 we-g d10 we-r d7 sn-r d1 sn-r d4 we-r d3 sn-y d6 we-y d12 we-y d9 sn-y r22 470 r21 470 r20 470 r19 470 r18 470 r12 470 r14 470 r15 470 r16 470 r17 470 r13 470 r11 470 +5v 2 3 4 5 6 7 8 9 1 rp1 respack-8 +5v k4 时间设置 k3 返回 k2 紧急情况 k1 支干道通行/支干道+1 k0 主干道通行/主干道+1 图 12 状态 2 20 秒后转状态 3,南北方向还是红灯亮,东西方向绿灯灭
37、,黄灯每秒闪亮一次。 历时 5 秒。如图 13 所示: p1.6 p1.5 p1.4 p1.3 p1.2 p1.1 p1.6 p1.5 p1.4 p1.3 p1.2 p1.1 p1.1 p1.2 p1.3 p1.4 p1.5 p1.6 xtal2 18 xtal1 19 ale 30 ea 31 psen 29 rst 9 p0.0/ad0 39 p0.1/ad1 38 p0.2/ad2 37 p0.3/ad3 36 p0.4/ad4 35 p0.5/ad5 34 p0.6/ad6 33 p0.7/ad7 32 p1.0/t2 1 p1.1/t2ex 2 p1.2 3 p1.3 4 p1.4
38、5 p1.5 6 p1.6 7 p1.7 8 p3.0/rxd 10 p3.1/txd 11 p3.2/int0 12 p3.3/int1 13 p3.4/t0 14 p3.7/rd 17 p3.6/wr 16 p3.5/t1 15 p2.7/a15 28 p2.0/a8 21 p2.1/a9 22 p2.2/a10 23 p2.3/a11 24 p2.4/a12 25 p2.5/a13 26 p2.6/a14 27 u2 at89c52 c1 30p c2 30p x1 crystal c3 10u r1 10k d2 sn-g d5 we-g d8 sn-g d11 we-g d10 we
39、-r d7 sn-r d1 sn-r d4 we-r d3 sn-y d6 we-y d12 we-y d9 sn-y r22 470 r21 470 r20 470 r19 470 r18 470 r12 470 r14 470 r15 470 r16 470 r17 470 r13 470 r11 470 +5v 2 3 4 5 6 7 8 9 1 rp1 respack-8 +5v k4 时间设置 k3 返回 k2 紧急情况 k1 支干道通行/支干道+1 k0 主干道通行/主干道+1 1 图 13 状态 3 此状态结束后再回到状态 0,如此循环进行。 4.2 时间调整 按一下开关 k4,
40、系统响应外部中断 0,进入通行时间调整程序。各个干道的通 行时间有数码管显示。 按键 k0,k1 起调整时间的作用,每按一下 k0,主干道通行时间加 1,每按一下 k1,支干道通行时间加 1。多次按键即可调整到合理的通行时间。如图 14 和图 15 所示: p1.6 p1.5 p1.4 p1.3 p1.2 p1.1 p1.6 p1.5 p1.4 p1.3 p1.2 p1.1 p1.1 p1.2 p1.3 p1.4 p1.5 p1.6 xtal2 18 xtal1 19 ale 30 ea 31 psen 29 rst 9 p0.0/ad0 39 p0.1/ad1 38 p0.2/ad2 37
41、p0.3/ad3 36 p0.4/ad4 35 p0.5/ad5 34 p0.6/ad6 33 p0.7/ad7 32 p1.0/t2 1 p1.1/t2ex 2 p1.2 3 p1.3 4 p1.4 5 p1.5 6 p1.6 7 p1.7 8 p3.0/rxd 10 p3.1/txd 11 p3.2/int0 12 p3.3/int1 13 p3.4/t0 14 p3.7/rd 17 p3.6/wr 16 p3.5/t1 15 p2.7/a15 28 p2.0/a8 21 p2.1/a9 22 p2.2/a10 23 p2.3/a11 24 p2.4/a12 25 p2.5/a13 26
42、p2.6/a14 27 u2 at89c52 c1 30p c2 30p x1 crystal c3 10u r1 10k d2 sn-g d5 we-g d8 sn-g d11 we-g d10 we-r d7 sn-r d1 sn-r d4 we-r d3 sn-y d6 we-y d12 we-y d9 sn-y r22 470 r21 470 r20 470 r19 470 r18 470 r12 470 r14 470 r15 470 r16 470 r17 470 r13 470 r11 470 +5v 2 3 4 5 6 7 8 9 1 rp1 respack-8 +5v k4
43、时间设置 k3 返回 k2 紧急情况 k1 支干道通行/支干道+1 k0 主干道通行/主干道+1 图 14 主干道时间+1 图 15 支干道时间+1 图 15 支干道时间+1 p1.6 p1.5 p1.4 p1.3 p1.2 p1.1 p1.6 p1.5 p1.4 p1.3 p1.2 p1.1 p1.1 p1.2 p1.3 p1.4 p1.5 p1.6 xtal2 18 xtal1 19 ale 30 ea 31 psen 29 rst 9 p0.0/ad0 39 p0.1/ad1 38 p0.2/ad2 37 p0.3/ad3 36 p0.4/ad4 35 p0.5/ad5 34 p0.6/
44、ad6 33 p0.7/ad7 32 p1.0/t2 1 p1.1/t2ex 2 p1.2 3 p1.3 4 p1.4 5 p1.5 6 p1.6 7 p1.7 8 p3.0/rxd 10 p3.1/txd 11 p3.2/int0 12 p3.3/int1 13 p3.4/t0 14 p3.7/rd 17 p3.6/wr 16 p3.5/t1 15 p2.7/a15 28 p2.0/a8 21 p2.1/a9 22 p2.2/a10 23 p2.3/a11 24 p2.4/a12 25 p2.5/a13 26 p2.6/a14 27 u2 at89c52 c1 30p c2 30p x1 c
45、rystal c3 10u r1 10k d2 sn-g d5 we-g d8 sn-g d11 we-g d10 we-r d7 sn-r d1 sn-r d4 we-r d3 sn-y d6 we-y d12 we-y d9 sn-y r22 470 r21 470 r20 470 r19 470 r18 470 r12 470 r14 470 r15 470 r16 470 r17 470 r13 470 r11 470 +5v 2 3 4 5 6 7 8 9 1 rp1 respack-8 +5v k4 时间设置 k3 返回 k2 紧急情况 k1 支干道通行/支干道+1 k0 主干道通
46、行/主干道+1 4.3 状态调整 当出现紧急情况时,按一下开关 k2,系统响应外部中断 1,各个方向均亮红灯 禁止通行,数码管均显示 0。按一下 k3,可以使系统退出中断,回到主程序断点处。 如图 16 所示 p1.6 p1.5 p1.4 p1.3 p1.2 p1.1 p1.6 p1.5 p1.4 p1.3 p1.2 p1.1 p1.1 p1.2 p1.3 p1.4 p1.5 p1.6 xtal2 18 xtal1 19 ale 30 ea 31 psen 29 rst 9 p0.0/ad0 39 p0.1/ad1 38 p0.2/ad2 37 p0.3/ad3 36 p0.4/ad4 35
47、p0.5/ad5 34 p0.6/ad6 33 p0.7/ad7 32 p1.0/t2 1 p1.1/t2ex 2 p1.2 3 p1.3 4 p1.4 5 p1.5 6 p1.6 7 p1.7 8 p3.0/rxd 10 p3.1/txd 11 p3.2/int0 12 p3.3/int1 13 p3.4/t0 14 p3.7/rd 17 p3.6/wr 16 p3.5/t1 15 p2.7/a15 28 p2.0/a8 21 p2.1/a9 22 p2.2/a10 23 p2.3/a11 24 p2.4/a12 25 p2.5/a13 26 p2.6/a14 27 u2 at89c52 c
48、1 30p c2 30p x1 crystal c3 10u r1 10k d2 sn-g d5 we-g d8 sn-g d11 we-g d10 we-r d7 sn-r d1 sn-r d4 we-r d3 sn-y d6 we-y d12 we-y d9 sn-y r22 470 r21 470 r20 470 r19 470 r18 470 r12 470 r14 470 r15 470 r16 470 r17 470 r13 470 r11 470 +5v 2 3 4 5 6 7 8 9 1 rp1 respack-8 +5v k4 时间设置 k3 返回 k2 紧急情况 k1 支干
49、道通行/支干道+1 k0 主干道通行/主干道+1 p1.6 p1.5 p1.4 p1.3 p1.2 p1.1 p1.6 p1.5 p1.4 p1.3 p1.2 p1.1 p1.1 p1.2 p1.3 p1.4 p1.5 p1.6 xtal2 18 xtal1 19 ale 30 ea 31 psen 29 rst 9 p0.0/ad0 39 p0.1/ad1 38 p0.2/ad2 37 p0.3/ad3 36 p0.4/ad4 35 p0.5/ad5 34 p0.6/ad6 33 p0.7/ad7 32 p1.0/t2 1 p1.1/t2ex 2 p1.2 3 p1.3 4 p1.4 5 p
50、1.5 6 p1.6 7 p1.7 8 p3.0/rxd 10 p3.1/txd 11 p3.2/int0 12 p3.3/int1 13 p3.4/t0 14 p3.7/rd 17 p3.6/wr 16 p3.5/t1 15 p2.7/a15 28 p2.0/a8 21 p2.1/a9 22 p2.2/a10 23 p2.3/a11 24 p2.4/a12 25 p2.5/a13 26 p2.6/a14 27 u2 at89c52 c1 30p c2 30p x1 crystal c3 10u r1 10k d2 sn-g d5 we-g d8 sn-g d11 we-g d10 we-r
51、d7 sn-r d1 sn-r d4 we-r d3 sn-y d6 we-y d12 we-y d9 sn-y r22 470 r21 470 r20 470 r19 470 r18 470 r12 470 r14 470 r15 470 r16 470 r17 470 r13 470 r11 470 +5v 2 3 4 5 6 7 8 9 1 rp1 respack-8 +5v k4 时间设置 k3 返回 k2 紧急情况 k1 支干道通行/支干道+1 k0 主干道通行/主干道+1 图 16 紧急情况 为了更合理高效的指挥交通,当南北方向有车而东西方向无车时,按 k0,系统 会自动跳转到状态
52、 0,实现南北方向通行;当东西方向有车而南北方向无车时,按 k1,系统会自动跳转到状态 2,实现东西方向通行。 结 论 本系统就是采用了以单片机 at89s52 为中心部件来设计交通灯信号控制器,通 过芯片的 p1 口来点亮交通指示灯,采用 p0 口和 p2 口作为 2 位 led 数码管的驱动接 口,以显示各个方向的交通灯的持续时间,p3 口设置红绿灯时间。倒计时剩余 5 秒 时黄灯闪烁警示。当有紧急车辆需要通过时,两个车道均显示红灯以禁止通行。该 设计能够根据实际情况随时调整十字路口两个干道上车辆的通行时间,比较合理有 效的进行车辆分流控制,可以达到相对满意的效果。 致 谢 毕业论文暂告收
53、尾,这也意味着我在大学的四年的学习生涯即将结束。回首既 往,自己一生最宝贵的时光能于这样的校园之中,能在众多学富五车、才华横溢的 老师们的熏陶下度过,实是荣幸之极。在这四年的时间里,我在学习上和思想上都 受益非浅。这除了自身努力外,更与各位老师、同学和朋友们的关心、支持和鼓励 是分不开的。论文的写作是枯燥艰辛而又富有挑战的。老师的谆谆诱导、同学的出 谋划策及朋友的支持鼓励,是我坚持完成论文的动力源泉。在此,我特别要感谢我 的导师张云龙老师。从论文的选题、框架的设计、结构的布局到最终的论文定稿, 从内容到格式,从标题到标点,他都费尽心血。没有张云龙老师的辛勤栽培、孜孜 教诲,就没有我论文的顺利完
54、成。感谢电子专业的各位同学,与他们的交流使我受 益颇多。最后要感谢我的家人以及我的朋友对我的理解、支持、鼓励和帮助,正是 因为有了他们,我所做的一切才更有意义;也正是因为有了他们,我才有了追求进 步的勇气和信心。 时间的仓促及自身专业水平的不足,整篇论文肯定存在尚未发现的缺点和错误, 恳请阅读此篇论文的老师、同学予以指正,不胜感激! 参考文献 1 康华光.模拟电子技术.北京:高等教育出版社,2006. 2 阎石.数字电子技术.北京:高等教育出版社,2006. 3 谭浩强.c 程序设计.北京:清华大学出版社,2005. 4 江志红.51 单片机技术与应用系统开发案例精选.北京:清华大学出版社,2
55、008. 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):1
56、279-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 口.低
57、有效*/ char sn=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;/*开关
58、 k0 接 p37 管脚*/ sbit k1=p36;/*开关 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*/ it
59、0=1;/*外部中断为低电平触发方式*/ et0=1;/*允许 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(); /*调用通行
60、时间显示函数*/ /*设置南北方向通行时间*/ if(k0=0) /*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*/ del
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电厂设备清洁管理制度
- 监理公司交底管理制度
- 工地隔离区管理制度
- 管网检漏维护管理制度
- 药品营销设备管理制度
- 药品风险自查管理制度
- 药店医疗设备管理制度
- 药店消毒安全管理制度
- 菜园种菜人员管理制度
- 设备人员变更管理制度
- 安霸A12-凌度A12行车记录仪使用说明书
- GB/T 41735-2022绿色制造激光表面清洗技术规范
- MT/T 198-1996煤矿用液压凿岩机通用技术条件
- LY/T 1787-2016非结构用集成材
- GB/T 3880.3-2012一般工业用铝及铝合金板、带材第3部分:尺寸偏差
- GB/T 1503-2008铸钢轧辊
- GB/T 12729.1-2008香辛料和调味品名称
- GB/T 1228-2006钢结构用高强度大六角头螺栓
- GB 4404.3-2010粮食作物种子第3部分:荞麦
- 【精品】高三开学励志主题班会课件
- 套管培训大纲课件
评论
0/150
提交评论