交通控制系统设计 张博 - 图文

更新时间:2024-05-24 12:03:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

陕西理工大学毕业设计 1

通信工程专业

《计算机类课程计》

题 目交通控制系统的设计

学生姓名张博学号1313024014 所在学院物电与电信工程学院 专业班级通信工程1301班

指导教师刘亚峰2016年11月 20日

设 陕西理工大学毕业设计 1

交通控制系统的设计

张博

(陕西理工大学物电学院通信工程专业1301班,陕西 汉中 723001)

指导教师:刘亚锋

摘要:近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在

实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。

十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本系统采用STC89C51单片机以及单片机最小系统和三极管驱动电路以及外围的按键和数码管显示等部件,设计一个基于单片机的交通灯设计。设计通过两位一体共阴极数码管显示,并能通过按键对定时进行设置。本系统实用性强、操作简单、扩展功能强。

关键词:交通灯,单片机,显示,计时

陕西理工大学毕业设计 2

The design of Traffic Control System

Zhangbo

(Grade04,Class1301,Major Communication Engineering,Shaanxi Sci-Tech University,Hanzhong 723001)

Tutor: LiuyaFeng

ABSTRACT:In recent years along with the rapid development of science and technology, SCM applications are continually deepening, and promote the traditional control detection technology is updated. In real-time detection and automatic control of the microcomputer application system, the microcontroller is often used as a core component, only SCM knowledge is not enough, should be based on specific hardware structure of hardware and software combination, to be perfect.

Crossroads shuttle vehicles, pedestrians bustling, car dealership traffic lane, people walkways, everything in good order and well arranged. So what to rely on to realize it in order? Is the traffic lights on the automatic command system. A lot of traffic signal control. This system uses STC89C51 and SCM system and the smallest transistor driving circuit and a periphery of the keys and digital tube display and other parts, a design based on the single chip design of traffic lights. Design through one of two common cathode nixie tube display, and can be key to regular set. This system is practical, simple operation, strong expanding function.

Keywords: traffic light,SCM,display,timing

陕西理工大学毕业设计 3

目录

目录 .............................................................................................................................................................. 3 1 设计的背景及意义 .................................................................................................................................. 1 1.1交通灯的背景 ....................................................................................................................................... 1

1.1.1交通灯的历史 ........................................................................................................................... 1 1.1.2交通灯的出现 ........................................................................................................................... 1 1.2交通灯的意义 ....................................................................................................................................... 2 2 系统方案设计与要求 ............................................................................................................................ 2 2.1单片机交通灯控制系统通行方案设计 ................................................................................................ 2 2.2单片机交通控制系统的功能要求 ........................................................................................................ 3

2.2.1显示模块功能 ........................................................................................................................... 3 2.2.2 按键模块功能 .......................................................................................................................... 3 2.3单片机交通控制系统的基本构成及原理 ............................................................................................ 4 3 系统硬件电路的设计 .............................................................................................................................. 4 3.1系统硬件总电路构成 ........................................................................................................................... 4 3.2单片机系统 ........................................................................................................................................... 5

3.2.1单片机引脚介绍........................................................................................................................ 5 3.2.2单片机最小系统........................................................................................................................ 7 3.3显示系统 ............................................................................................................................................... 7

3.3.1 LED显示 ................................................................................................................................... 7 3.3.2数码管显示 ............................................................................................................................... 8 3.4信号显示驱动电路 ............................................................................................................................... 8 3.5键盘输入电路 ..................................................................................................................................... 10 参考文献 ..................................................................................................................................................... 11 附录A仿真图 ............................................................................................................................................ 12 附录B源程序 ............................................................................................................................................ 13 附录C实物图 ............................................................................................................................................ 21 附录D元器件清单 .................................................................................................................................... 23 致谢 ............................................................................................................................................................ 24

陕西理工大学毕业设计 1

1 设计的背景及意义

1.1交通灯的背景

1.1.1交通灯的历史

当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这一技术在19世纪就已出现了。1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914年始安装于纽约市5号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。1918年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。1968年,联合国《道路交通和道路标志信号协定》对各种信号灯的含义作了规定。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口

电子技术的飞速发展,给古老的锁具生产带来了巨大的变革,现代的电子技术与机械技术相结合,产生了一大批先进的电子类产品。尤其是单片机的发展异常迅速。由于单片机的特殊结构形式,在某些应用领域中,它承担了一些通用的微型计算机无法完成的工作,它是一种高性能,低价格的处理器。集成度高,体积小,可靠性高,控制功能强,电压低。由于单片机具有这些特点,在人类的生活应用中得以十分广泛。

1.1.2交通灯的出现

随着各种交通工具的发展和交通指挥的需要,第一盏名副其实的三色灯(红、黄、绿三种标志)于1918年诞生。它是三色圆形四面投影器,被安装在纽约市五号街的一座高塔上,由于它的诞生,使城市交通大为改善。

黄色信号灯的发明者是我国的胡汝鼎,他怀着“科学救国”的抱负到美国深造,在大发明家爱迪生为董事长的美国通用电器公司任职员。一天,他站在繁华的十字路口等待绿灯信号,当他看到红灯而正要过去时,一辆转弯的汽车呼地一声擦身而过,吓了他一身冷汗。回到宿舍,他反复琢磨,终于想到在红、绿灯中间再加上一个黄色信号灯,提醒人们注意危险。他的建议立即得到有关方面的肯定。于是红、黄、绿三色信号灯即以一个完整的指挥信号家族,遍及全世界陆、海、空交通领域了。

第 1 页 共 28 页

陕西理工大学毕业设计 2

1.2交通灯的意义

当前,大量的信号灯电路正向着数字化、小功率、多样化、方便人、车、路三者关系的协调,多值化方向发展随着社会经济的发展,城市交通问题越来越引起人们的关注。这些城市纷纷修建城市高速道路,在高速道路建设完成初期,它们也曾有效地改善了交通状况。然而,随着交通量的快速增长和缺乏对高速道路的系统研究和控制,高速道路没有充分发挥出预期的作用。而城市高速道路在构造上的特点,也决定了城市高速道路的交通状况必然受高速道路与普通道路耦合处交通状况的制约。人、车、路三者关系的协调,已成为交通管理部门需要解决的重要问题之一。

城市交通控制系统是用于城市交通数据检测、交通信号灯控制与交通疏导的计算机综合管理系统,它是现代城市交通监控指挥系统中最重要的组成部分。

2系统方案设计与要求

2.1单片机交通灯控制系统通行方案设计

设在十字路口,分为东西向和南北向,在任一时刻只有一个方向通行,另一方向禁行,持续一定时间,经过短暂的过渡时间,将通行禁行方向对换。其具体状态如下图所示。说明:黑色表示亮,白色表示灭。交通状态从状态1开始变换,直至状态6然后循环至状1,周而复始,即如图(图2-1)所示:直至状态6然后循环至状态1,通过具体的路口交通灯状态的演示分析我们可以把这四个状态归纳如下:

图2.1交通状态

东西方向红灯灭,同时绿灯亮,南北方向黄灯灭,同时红灯亮,倒计时20秒。此状态下,东

第 2 页 共 28 页

陕西理工大学毕业设计 3

西向禁止通行,南北向允许通行。

东西方向绿灯灭,同时黄灯亮,南北方向红灯亮,倒计时2秒。此状态下,除了已经正在通行中的其他所以车辆都需等待状态转换。

南北方向红灯灭,同时绿灯亮,东西方向黄灯灭,同时红灯亮,倒计时20秒。此状态下,东西向允许通行,南北向禁止通行。

南北方向绿灯灭,同时黄灯亮,东西方向红灯亮,倒计时2秒。此状态下,除了已经正在通行中的其他所以车辆都需等待状态转换。

下面我们可以用图表表示灯状态和行止状态的关系如下:

表2.1交通状态及红绿灯状态

东西向 南北向 东西红灯 东西黄灯 东西绿灯 南北红灯 南北绿灯 南北黄灯

东西南北四个路口均有红绿黄3灯和数码显示管4个,在任一个路口,遇红灯禁止通行,转绿灯允许通行,之后黄灯亮警告行止状态将变换。状态及红绿灯状态如表2-1所示。说明:0表示灭,1表示亮。

2.2单片机交通控制系统的功能要求

本设计能模拟基本的交通控制系统,用红绿黄灯表示禁行,通行和等待的信号发生,还能进行倒计时显示。按键可以控制东西通行、南北通行、时间加、时间减、切换等功能。

2.2.1显示模块功能

显示模块分数码管显示和LED显示,数码管倒计时显示可以提醒驾驶员在信号灯颜色发生改变的时间、在“停止”和“通过”两者间作出合适的选择。驾驶员和行人普遍都愿意选择有倒计时显示的信号控制方式,并且认为有倒计时显示的路口更安全。倒计时显示是用来减少驾驶员在信号灯色改变的关键时刻做出复杂判断的一种方法,它可以提醒驾驶员灯色发生改变的时间,帮助驾驶员在“停止”和“通过”两者间作出合适的选择 。通过两种显示结合,是本设计更合理可靠。

2.2.2 按键模块功能

本系统要求的按键控制不多,且I/0口足够,可直接采用独立式。按键可以设置系统的运行状态,东西通行是东西方向的绿灯亮,南北方向上的红灯亮;南北通行为南北方向上的绿灯亮,东西方向上的红灯亮;时间加减可以设置通行和等待通行的时间;切换按键可以切换加减的方向时间。通过安检模块的控制,使得整个系统具有灵活性,实用性。

禁行 通行 1 0 0 0 1 0

等待变换 等待变换

1 0 0 0 0 1

通行 禁行 0 0 1 1 0 0

等待变换 等待变换

0 1 0 1 0 0

第 3 页 共 28 页

陕西理工大学毕业设计 4

2.3单片机交通控制系统的基本构成及原理

十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本系统采用STC89C51单片机以及单片机最小系统和三极管驱动电路以及外围的按键和数码管显示等部件,设计一个基于单片机的交通灯设计。设计通过两位一体共阴极数码管显示,并能通过按键对定时进行设置。本系统实用性强、操作简单、扩展功能强。

在相同的时间里提高通车的质量、效率。并能在高峰期根据实际状况结合方程式控制按钮来调整主次干道的通车时间,降低交通拥挤堵塞现象。

本单片机控制交通灯系统,可用单片机直接控制信号灯的状态变化,基本上可以指挥交通的具体通行,当然,接入LED数码管就可以显示倒计时以提醒行驶者,更具人性化。本系统在此基础上,单片机对此进行具体处理,及时调整控制指挥。如图(图2-2)所示:

键盘设置模块对系统输入模式选择及具体通行时间设置的信号,系统进入正常工作状态,执行交通灯状态显示控制,同时将时间数据倒计时输入到LED数码管上实时显示。在此过程中还要实时捕捉违规检测和紧急按键信号,以达到对异常状态进行实时控制的目的。急停按键和违规检测随时调用中断。

复位电路 单片机 单片机8段LED数码管 驱动显示 最小系统外围接口

红黄绿信号灯

按键控制 图2.2 系统的总体框图

据此,本设计系统以单片机为控制核心,连接成最小系统,和按键设置模块等产生输入,信号灯状态模块,LED倒计时模块和接受输出。系统的总体框图如上所示。

3 系统硬件电路的设计

3.1系统硬件总电路构成

实现本设计要求的具体功能,可以选用stc89C51单片机及外围器件构成最小控制系统,12个发光二极管分成4组红绿黄三色灯构成信号灯指示模块,8个LED东西南北各两个构成倒计时显示模块,若干按键组成时间设置和模式选择按钮等。

本系统以单片机为核心,组成一个处理、自动控制为一身的闭环控制系统。系统硬件电路由单

第 4 页 共 28 页

陕西理工大学毕业设计 5

片机、状态灯、LED显示、按键等组成。其具体的硬件电路总图如图3-1所示。 其中P0,P1,用于送显LED数码管的型和位,P2用于控制红绿黄发光二极管,XTAL1和XTAL2接入晶振时钟电路,REST引脚接上复位电路,P3用于口按键控制。 3.2单片机系统

单片机是在集成电路芯片上集成了各种元件的微型计算机,这些元件包括中央处理器CPU、数据存储器RAM、程序存储器ROM、定时/计数器、中断系统、时钟部件的集成和I/O接口电路。由于单片机具有体积小、价格低、可靠性高、开发应用方便等特点,因此在现代电子技术和工业领域应用较为广泛,在智能仪表中单片机是应用最多、最活跃的领域之一。在控制领域中,现如今人们更注意计算机的底成本、小体积、运行的可靠性和控制的灵活性。在各类仪器、仪表中引入单片机,使仪器仪表智能化,提高测试的自动化程度和精度,提高计算机的运算速度,简化仪器仪表的硬件结构,提高其性能价格比。

3.2.1单片机引脚介绍

VCC:STC89C52电源正端输入,接+5V。 GND:电源地端。

XTAL1: 单芯片系统时钟的反相放大器输入端。

XTAL2: 系统时钟的反相放大器输出端,一般在设计上只要在 XTAL1 和 XTAL2 上接上一只石英振荡晶体系统就可以动作了,此外可以在两引脚与地之间加入一 20PF 的小电容,可以使系统更稳定,避免噪声干扰而死机。

RESET:STC89C52的重置引脚,高电平动作,当要对晶片重置时,只要对此引脚电平提升至高电平并保持两个机器周期以上的时间,AT89S51便能完成系统重置的各项动作,使得内部特殊功能寄存器之内容均被设成已知状态,并且至地址0000H处开始读入程序代码而执行程序。

EA/Vpp:\为英文\Access\的缩写,表示存取外部程序代码之意,低电平动作,也就是说当此引脚接低电平后,系统会取用外部的程序代码(存于外部EPROM中)来执行程序。因此在8031及8032中,EA引脚必须接低电平,因为其内部无程序存储器空间。如果是使用 8751 内部程序空间时,此引脚要接成高电平。此外,在将程序代码烧录至8751内部EPROM时,可以利用此引脚来输入21V的烧录高压(Vpp)。

ALE/PROG:ALE是英文\的缩写,表示地址锁存器启用信号。STC89C52可以利用这支引脚来触发外部的8位锁存器(如74LS373),将端口0的地址总线(A0~A7)锁进锁存器中,因为STC89C52是以多工的方式送出地址及数据。平时在程序执行时ALE引脚的输出频率约是系统工作频率的1/6,因此可以用来驱动其他周边晶片的时基输入。此外在烧录8751程序代码时,此引脚会被当成程序规划的特殊功能来使用。

PSEN:此为\的缩写,其意为程序储存启用,当8051被设成为读取外部程序代码工作模式时(EA=0),会送出此信号以便取得程序代码,通常这支脚是接到EPROM的OE脚。STC89C52可以利用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个

第 5 页 共 28 页

陕西理工大学毕业设计 6

LS的TTL负载,若将端口2的输出设为高电平时,此端口便能当成输入端口来使用。P2除了当做一般I/O端口使用外,若是在STC89C52扩充外接程序存储器或数据存储器时,也提供地址总线的高字节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,外部数据存储器的读取信号。

RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。

/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP) 单片机引脚图如下:

第 6 页 共 28 页

陕西理工大学毕业设计 7

图3-1 单片机引脚图

3.2.2单片机最小系统

STC89C51单片机的时钟信号通常有两种方式产生:一是内部时钟方式,二是外部时钟方式。在单片机内部有一振荡电路,只要在单片机的XTAL1和XTAL2引脚外接石英晶体(简称晶振),就构成了自激振荡器并在单片机内部产生时钟脉冲信号。图中电容C1和C2的作用是稳定频率和快速起振,电容值在5-30pF,典型值为30pF。晶振CYS的振荡频率范围在1.2-12MHz间选择,典型值为12MHz和11.0592MHz。

当在STC89C51单片机的RST引脚引入高电平并保持2个机器周期时,单片机内部就执行复位操作(若该引脚持续保持高电平,单片机就处于循环复位状态)。

复位电路通常采用上电自动复位和按钮复位两种方式。最简单的上电自动复位电路中上电自动复位是通过外部复位电路的电容充电来实现的。只要Vcc的上升时间不超过1ms,就可以实现自动上电复位。时钟频率用6MHZ时C取22uF,R取1KΩ。除了上电复位外,有时还需要按键手动复位。本设计就是用的按键手动复位。按键手动复位有电平方式和脉冲方式两种。其中电平复位是通过RST端经过电阻与电源Vcc接通而实现的。系统图如图3-2所示

图3-2 单片机最小系统原理图

3.3显示系统

3.3.1 LED显示

LED交通灯利用发光二极管来显示不同颜色的信号指示灯。

第 7 页 共 28 页

陕西理工大学毕业设计 8

图3-3 LED灯

3.3.2数码管显示

数码管是一种半导体发光器件,其基本单元是发光二极管。数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管:按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。由于它的价格便宜使用简单在电器特别是家电领域应用极为广泛。

图3-4 数码管显示

3.4信号显示驱动电路

三极管放大作用是通过小电流控制大电流晶体三极管是一种电流控制元件。

第 8 页 共 28 页

陕西理工大学毕业设计 9

图3-5 三极管电路图 发射区与基区之间形成的PN结称为发射结,而集电区与基区形成的PN结称为集电结。晶体三极管按材料分常见的有两种:锗管和硅管。而每一种又有NPN和PNP两种结构形式,使用最多的是硅NPN和PNP两种,两者除了电源极性不同外,其工作原理都是相同的,三极管工作在放大区时,三极管发射结处于正偏而集电结处于反偏,集电极电流Ic受基极电流Ib的控制,Ic 的变化量与Ib变化量之比称作三极管的交流电流放大倍数β(β=ΔIc/ΔIb, Δ表示变化量。)在实际使用中常常利用三极管的电流放大作用,通过电阻转变为电压放大作用。三极管是电流放大器件,有三个极,分别叫做集电极C,基极B,发射极E。分成NPN和PNP两种。我们仅以NPN三极管的共发射极放大电路为例来说明一下三极管放大电路的基本原理。

图3-6 三极管放大电路原理图

下面的分析仅对于NPN型硅三极管。如上图3-6所示,我们把从基极B流至发射极E的电流叫做基极电流Ib;把从集电极C流至发射极E的电流叫做集电极电流Ic。这两个电流的方向都是流出发射极的,所以发射极E上就用了一个箭头来表示电流的方向。三极管的放大作用就是:集电极电流受基极电流的控制(假设电源能够提供给集电极足够大的电流的话),并且基极电流很小的变化,会引起集电极电流很大的变化,且变化满足一定的比例关系:集电极电流的变化量是基极电流

第 9 页 共 28 页

陕西理工大学毕业设计 10

变化量的β倍,即电流变化被放大了β倍,所以我们把β叫做三极管的放大倍数(β一般远大于1,例如几十,几百)。如果我们将一个变化的小信号加到基极跟发射极之间,这就会引起基极电流Ib的变化,Ib的变化被放大后,导致了Ic很大的变化。如果集电极电流Ic是流过一个电阻R的,那么根据电压计算公式U=R*I可以算得,这电阻上电压就会发生很大的变化。我们将这个电阻上的电压取出来,就得到了放大后的电压信号了。 3.5键盘输入电路

单片机键盘有独立键盘和矩阵式键盘两种:独立键盘每一个I/O 口上只接一个按键,按键的另一端接电源或接地(一般接地),这种接法程序比较简单且系统更加稳定;而矩阵式键盘式接法程序比较复杂,但是占用的I/O少。根据本设计的需要这里选用了独立式键盘接法。

独立式键盘的实现方法是利用单片机I/O口读取口的电平高低来判断是否有键按下。将常开按键的一端接地,另一端接一个I/O 口,程序开始时将此I/O口置于高电平,平时无键按下时I/O口保护高电平。当有键按下时,此I/O 口与地短路迫使I/O 口为低电平。按键释放后,单片机内部的上拉电阻使I/O口仍然保持高电平。我们所要做的就是在程序中查寻此I/O口的电平状态就可以了解我们是否有按键动作了。

在用单片机对键盘处理的时候涉及到了一个重要的过程,那就是键盘的去抖动。这里说的抖动是机械的抖动,是当键盘在未按到按下的临界区产生的电平不稳定正常现象,并不是我们在按键时通过注意可以避免的。这种抖动一般10~200毫秒之间,这种不稳定电平的抖动时间对于人来说太快了,而对于时钟是微秒的单片机而言则是慢长的。硬件去抖动就是用部分电路对抖动部分加之处理,软件去抖动不是去掉抖动,而是避抖动部分的时间,等键盘稳定了再对其处理。所以这里选择了软件去抖动,实现法是先查寻按键当有低电平出现时立即延时10~200毫秒以避开抖动(经典值为20毫秒),延时结束后再读一次I/O 口的值,这一次的值如果为1 表示低电平的时间不到10~200 毫秒,视为干扰信号。当读出的值是0时则表示有按键按下,调用相应的处理程序。硬件电路如图3-7所示:

图3-7 键盘控制电路图

第 10 页 共 28 页

陕西理工大学毕业设计 11

参考文献

[1]蒋辉平,周国雄. 基于Proteus的单片机系统设计与仿真实例[M].机械工业出版社,2009. [2]余锡存 曹国华.单片机原理及接口技术[M].陕西:西安电子科技大学出版社,2000.7 [3]雷丽文 等.微机原理与接口技术[M].北京:电子工业出版社,1997.

[4]王瑾; 袁战军; 李小斌交通灯控制系统的设计与仿真[J]. 海南大学学报(自然科学版)2014/04期 [5]吴家存基于单机片的智能交通红绿灯控制系统设计数字技术与应用[J]2012/06期 [6]李艳平城市交通控制系统的软件设计研究[J].通信技术2013/04期

[7]杨华; 张莹十字路口交通灯控制系统的设计与实现实验室科学[J].2015/05期

[8]徐鑫; 杨利亚; 周磊; 胡允森; 郑建领单片机智能交通灯控制系统的设计电子世界[J].2013/23期 [9]杨双义交通灯控制系统的设计电子制作[J]2014/18期

[10]莫有印; 王少杰; 阳泳基于嵌入式系统的智能交通灯控制系统的设计与论述电子世界[J].2015/18期

[11]任中民交叉口交通控制系统设计科技广场[J].2015/01期

[12]张晓军; 陆兴华基于单片机的交通灯控制系统的设计与仿真电子测试[J].2014/S2期

[13]何玲; 吴恒玉; 唐民丽基于单片机的智能交通灯控制系统的研究与设计电子设计工程[J].2011/22期

第 11 页 共 28 页

陕西理工大学毕业设计 12

附录A仿真图

第 12 页 共 28 页

陕西理工大学毕业设计 13

附录B源程序

#include

//头文件

#define uchar unsigned char #define uint unsigned int

uchar data buf[4];

//秒显示的变量

uchar data sec_dx=20; uchar data sec_nb=30;

//东西数默认 //宏定义

//南北默认值

//设置东西方向的时间 //设置南北方向的时间

uchar data set_timedx=20; uchar data set_timenb=30; int n;

uchar data countt0,countt1;//定时器0中断次数 //定义4组开关

sbit k4=P3^7; //切换方向 sbit k1=P3^5; sbit k2=P3^6; sbit k3=P3^4;

sbit Red_nb=P2^6;

//南北红灯标志

sbit Yellow_nb=P2^5; //南北黄灯标志 sbit Green_nb=P2^4; //南北绿灯标志

sbit Red_dx=P2^3;

//东西红灯标志 //东西绿灯标志

//调时方向切换键标志 =1时,南北,=0时,东西 //东西南北控制位 //闪烁标志位

sbit Yellow_dx=P2^2; //东西黄灯标志 sbit Green_dx=P2^1;

bit set=0; bit dx_nb=0; bit shanruo=0;

uchar code table[11]={ //共阴极字型码

0x3f, //--0 0x06, //--1 0x5b, //--2 0x4f, //--3 0x66, //--4 0x6d, //--5 0x7d, //--6 0x07, //--7 0x7f, //--8 0x6f, //--9 0x00 //--NULL

//时间加 //时间减 //确认

第 13 页 共 28 页

陕西理工大学毕业设计 };

//函数的声明部分 void delay(int ms); void key(); void key_to2(); void key_to3(); void display(); void logo(); void Buzzer(); //主程序 void main() { }

//函数的定义部分

void key(void) //按键扫描子程序 {

if(k1!=1) {

display(); if(k1!=1) {

TR0=0;

TMOD=0X11; TH1=0X3C; TL1=0XB0; TH0=0X3C; TL0=0XB0; EA=1; ET0=1; ET1=1; TR0=1; TR1=0; EX0=1; EX1=1;

//开总中断

//显示子程序 //开机LOGO

void key_to1();

//延时子程序 //按键扫描子程序 //键处理子程序

14

//定时器设置

//定时器0置初值 0.05S

//定时器0中断开启 //启动定时0

//关闭定时1 //开外部中断0 //开外部中断1

//定时器1中断开启

logo(); //开机初始化

// 开始默认状态,东西绿灯,南北黄灯 //默认南北通行时间比东西多5秒 //主循环

//调用按键扫描程序

P2=0Xc3; while(1) { }

key();

sec_nb=sec_dx+5;

display(); //调用显示程序

//当K1(时间加)按下时 //调用显示,用于延时消抖

//如果确定按下

//关定时器

第 14 页 共 28 页

陕西理工大学毕业设计 shanruo=0; P2=0x00; TR1=0;

if(set==0)

set_timedx++;

else set_timenb++; if(set_timenb==100)

set_timenb=1; if( set_timedx==100)

set_timedx=1;

sec_nb=set_timenb ; sec_dx=set_timedx;

do { display();

}

while(k1!=1);

}

}

if(k2!=1)

{

display(); if(k2!=1)

{

TR0=0; shanruo=0; P2=0x00; TR1=0;

if(set==0) set_timedx--; else set_timenb--; if(set_timenb==0)

set_timenb=99; if( set_timedx==0 )

set_timedx=99;

sec_nb=set_timenb ; sec_dx=set_timedx; do

{

display();

}

15

//闪烁标志位关 //灭显示

//启动定时1

//设置键按下

//南北加1S

//东西加1S

//加到100置1 //设置的数值赋给东西南北

//调用显示,用于延时

//等待按键释放

//当K2(时间减)按键按下时 //调用显示,用于延时消抖 //如果确定按下

//关定时器0

//闪烁标志位关 //灭显示

//关定时器1

//南北减1S

//东西减1S

//减到1重置99

//设置的数值赋给东西南北

//调用显示,用于延时

第 15 页 共 28 页

陕西理工大学毕业设计 while(k2!=1);

}

}

if(k3!=1)

{

display(); if(k3!=1)

{ TR0=1;

sec_nb=set_timenb; sec_dx=set_timedx; TR1=0;

if(set==0)

{ P2=0X00; Green_dx=1; Red_nb=1;

sec_nb=sec_dx+5; } else { P2=0x00; Green_nb=1; Red_dx=1; sec_dx=sec_nb+5; }

}

}

if(k4!=1)

{

display(); if(k4!=1)

{ TR0=0; set=!set; TR1=0;

dx_nb=set; do { display(); }

while(k4!=1);

16

//等待按键释放

//当K3(确认)键按下时 //调用显示,用于延时消抖

//如果确定按下

//启动定时器0

//从中断回复,仍显示设置过的数值 //显示设置过的时间

//关定时器1

//时间倒时到0时 //灭显示

//东西绿灯亮

//南北红灯亮

//回到初值

//南北绿灯,东西红灯

//当K4(切换)键按下 //调用显示,用于延时消抖 //如果确定按下 //关定时器0

//取反set标志位,以切换调节方向

//关定时器1

//调用显示,用于延时

//等待按键释放 第 16 页 共 28 页

陕西理工大学毕业设计 }

void display(void) //显示子程序 { }

void time0(void) interrupt 1 using 1 //定时中断子程序 {

TH0=0X3C; TL0=0XB0; TR0=1;

countt0++; {

//第1位 东西秒十位 //第2位 东西秒个位 //第3位 南北秒十位 //第4位 南北秒个位 // 初始灯为灭的 ////灭显示 //片选LED1

buf[1]=sec_nb/10; buf[3]=sec_dx/10; }

}

17

buf[2]=sec_nb; buf[0]=sec_dx; P1=0xff; P0=0x00;

P1=0xfe; P0=table[buf[1]]; delay(1); P1=0xff; P0=0x00;

//送东西时间十位的数码管编码

//延时 //关显示 //灭显示

//片选LED2 //延时 //关显示 //关显示 //片选LED3 //延时 //关显示 //关显示 //片选LED4 //延时

P1=0xfd; P0=table[buf[2]]; delay(1); P1=0xff; P0=0x00; P1=0Xfb; delay(1); P1=0xff; P0=0x00; P1=0Xf7; delay(1);

//送东西时间个位的数码管编码

P0=table[buf[3]]; //送南北时间十位的数码管编码

P0=table[buf[0]]; //送南北时间个位的数码管编码

//重赋初值

//12m晶振50ms//重赋初值 //重新启动定时器

//软件计数加1 //加到10也就是半秒

//东西黄灯闪

if(countt0==10)

if((sec_nb<=5)&&(dx_nb==0)&&(shanruo==1))

Green_dx=0; Yellow_dx=0;

{

第 17 页 共 28 页

陕西理工大学毕业设计

}

18

if((sec_dx<=5)&&(dx_nb==1)&&(shanruo==1)) } {

if(countt0==20)

countt0=0; sec_dx--; sec_nb--; }

Green_nb=0; Yellow_nb=0;

//南北黄灯闪

{

// 定时器中断次数=20时(即1秒时)

//清零计数器 //东西时间减1 //南北时间减1

//东西黄灯闪

if((sec_nb<=5)&&(dx_nb==0)&&(shanruo==1)) }

Green_dx=0; Yellow_dx=1;

{

if((sec_dx<=5)&&(dx_nb==1)&&(shanruo==1))

} { }

if(sec_nb==0&&sec_dx==5) { }

if(dx_nb==0&&sec_nb==0) { }

P2=0x00; Green_nb=1; Red_dx=1; dx_nb=!dx_nb; shanruo=0; sec_nb=set_timenb;

sec_nb=5; shanruo=1; sec_dx=5; shanruo=1; Green_nb=0; Yellow_nb=1;

//南北黄灯闪

{

if(sec_dx==0&&sec_nb==5) //当东西倒计时到0时,重置5秒,用于黄灯闪烁时间

//当南北倒计时到0时,重置5秒,用于黄灯闪烁时间

//当黄灯闪烁时间倒计时到0时, //重置东西南背方向的红绿灯

//重赋南北方向的起始值

sec_dx=set_timenb+5; //重赋东西方向的起始值

//当黄灯闪烁时间到

if(dx_nb==1&&sec_dx==0)

第 18 页 共 28 页

陕西理工大学毕业设计 }

void time1(void) interrupt 3 //定时中断子程序 { }

void logo()//开机的Logo \{

for(n=0;n<50;n++) {

P0=0x40; //送形“-” P1=0xfe; }

P1=0xfd;

//第一位显示 //第二位显示

delay(1); //延时 delay(1); //延时 P1=0Xfb; //第三位显示 delay(1); //延时 P1=0Xf7; //第四位显示 delay(1); //延时

//循环显示----50次

TH1=0X3C; TL1=0XB0; countt1++; { }

if(countt1==20) { }

countt1=0;

Yellow_nb=0; Yellow_dx=0;

}

{ }

P2=0X00; Green_dx=1; Red_nb=1; shanruo=0;

19

//重置东西南北的红绿灯状态

//东西绿灯亮 //南北红灯亮 //取反 //闪烁

//重赋东西方向的起始值

dx_nb=!dx_nb; sec_dx=set_timedx;

sec_nb=set_timedx+5; //重赋南北方向的起始值

//重赋初值

//12m晶振50ms//重赋初值

//软件计数加1

if(countt1==10) // 定时器中断次数=10时(即0.5秒)

//南北黄灯灭 //东西黄灯灭

// 定时器中断次数=20时(即1秒时)

//清零计数器

//南北黄灯亮 //东西黄灯亮

Yellow_nb=1; Yellow_dx=1;

P1 = 0xff; //灭显示

第 19 页 共 28 页

陕西理工大学毕业设计 }

void delay(int ms) { }

uint j,k;

for(j=0;j

//延时ms

for(k=0;k<124;k++);

//延时子程序

20

//大约1毫秒的延时

第 20 页 共 28 页

陕西理工大学毕业设计 21

附录C实物图

第 21 页 共 28 页

陕西理工大学毕业设计 22

第 22 页 共 28 页

陕西理工大学毕业设计 附录D元器件清单

1. 9*15万用板 2. STC89C51 3. 40P IC座 4. 12M晶振

5. 30P瓷片电容 *2 6. 10k电阻 7. 103排阻 8. 102排阻 9. 10uF电容

10. 0.36寸两位一体共阴数码管*4 11. 发光二极管 红 绿 黄 各*4 12. 20脚座 13. 74hc245 14. DC座 15. 按键*9 16. 自锁开关 17. 导线若干 18. 焊锡若干

19.

USB电源线(DC接头+电池盒)23

第 23 页 共 28 页

陕西理工大学毕业设计 24

致谢

感谢校方给予我这样一次机会,能够独立地完成一个课程设计,并在这个过程当中,给予我们各种方便,使我们在这学期快要结束的时候,能够将学到的知识应用到实践中,增强了我们实践操作和动手应用能力,提高了独立思考的能力。同时也感谢课设期间同学老师对我的提点帮助,使我能够顺利完成本次课设。

第 24 页 共 28 页

本文来源:https://www.bwwdw.com/article/ncw7.html

Top