基于单片机的智能交通灯控制器设计

JIANGSU UNIVERSITY OF TECHNOLOGY

电子系统设计综合训练

智能交通灯控制系统设计与实现

学院名称:

专 业: 电子信息工程

班 级:

姓 名:

学 号:

指导教师:

2014年03月

智能交通灯控制器系统设计

摘要: 设计并制作了一款基于STC89C52 单片机芯片的智能交通信号灯控制系统。 该系统除了具有交通灯控制功能外, 还增加了在夜间智能模式下用红外检测小车的检测功能,实现了普通模式和智能模式任意切换、主次通道通行时间和等待时间的任意修改。提高了交通灯的智能化、可靠性和实用性, 可有效提高交叉口的通行能力。交通灯控制系统由硬件和软件两部分组成,其中系统的硬件有信号灯设计、时间显示电路设计、按键电路设计和单片机基本系统;系统的软件包括主程序、显示子程序、中断服务子程序等。采用Proteus 平台对交通灯控制系统进行了虚拟仿真,并进行了硬件电路的安装与测试。软硬件测试结果表明交通灯控制系统具有交通控制的基本功能。

关键词: STC89C52 单片机;交通灯;虚拟仿真

Controller system design of intelligent traffic lights

Abstract: The thesis design traffic light control system based on STC89C52 MCU . In addition to fundamental functions of traffic lights, it also has functions of infrared control detecting ,and it come ture the normal mode and intelligent model of arbitrary switching, primary and secondary channel passing time and waiting time any modification functions.Using MCU for traff ic lights control can improve the intelligencereliability and practicality of t raffic light. So it can improve the traffic capacity at crossings. The hardware system includes light design, time display circuit design, key circuit design and basic system of microprogrammed control unit. System software includes main program, display subroutine, interrupt service subroutine, etc. By using the Proteus platform for virtural simulation of traffic lights control system, and makes the installation and testing of hardware circuits.Software and hardware test results show that the basic function of traffic light control system with traffic control.

Key words: STC89C52 MCU ; traffic signal; virtural simulation

目 录

第1章 绪论........................................................................................................ 1

1.1 课题的意义和目的.......................................................................................................1

1.2 课题的研究内容...........................................................................................................1

1.3 课题的任务要求...........................................................................................................2

第2章 系统方案设计 ....................................................................................... 3

2.1系统方案设计................................................................................................................3

2.2 方案的选择与论证.......................................................................................................3

2.2.1 方案的比较与论证....................................................................................................4

2.2.2 系统结构实现框图设计............................................................................................4

第3章 系统各模块的硬件设计 ....................................................................... 4

3.1 电源模块设计...............................................................................................................5

3.2 交通灯模块设计...........................................................................................................6

3.2.1信号灯模块设计.........................................................................................................6

3.2.2 倒计时显示模块设计................................................................................................7

3.3 单片机控制模块设计...................................................................................................8

3.3.1 单片机时钟电路设计................................................................................................8

3.3.2 单片机复位电路设计................................................................................................9

3.4按键电路模块设计......................................................................................................10

第4章 系统软件设计 ..................................................................................... 11

4.1设计思路..................................................................................................................... 11

4.2软件总设计流程......................................................................................................... 11

4.3普通模式的软件设计.................................................................................................12

4.4智能模式的软件设计.................................................................................................14

4.5 T0中断的软件设计...................................................................................................17

第5章 系统调试与数据分析 .........................................................................18

5.1 硬件电路的制作和调试.............................................................................................18

5.1.1 常见的硬件故障......................................................................................................18

5.1.2 硬件的调试方法......................................................................................................18

5.2 软件调试分析.............................................................................................................18

5.3 软硬件调试分析.........................................................................................................19

5.4 测试结果分析.............................................................................................................19

第6章 总结与展望 .........................................................................................20

参考文献 . .............................................................................................................21

致谢 . .....................................................................................................................22

附录1 电路原理图 ..........................................................................................23

附录2 程序清单 ..............................................................................................24

附录3 实物图 ..................................................................................................34

附录4 元器件清单 ..........................................................................................35

第1章 绪论

1.1 课题的意义和目的

随着世界范围内城市化和机动化进程的加快,城市交通越来越成为一个全球化的问题。简单的十字路口交通灯已经不能适应车流量越来越大的实际情况,交通控制研究的发展,旨在解决人类交通因需求的增多而日益繁重带来的问题,局限于道路建设的暂时不足和交通工具的快速增长,就要使更多的车辆安全高效的利用有限的道路资源,避免因无序和抢行等无控制原因造成的不必要阻塞甚至瘫痪,另外,针对整个交通线路车辆的多少适时调整和转移多条线路的分流也十分必要。所以这就需要一个更为合理和智能且成本不高的路口交通灯控制系统。

智能交通灯指挥着人和各种车辆的安全运行,实现红、黄、绿灯的自动指挥是城乡交通管理现代化的重要课题。在城乡街道的十字交叉路口,为了保证交通秩序和行人安全。一般在每条道路上各有一组红、黄、绿交通信号灯,其中红灯亮,表示该条道路禁止通行;黄灯亮,表示该条道路上未过停车线的车辆停止通行,已过停车线的车辆继续通行;绿灯亮,表示该条道路允许通行。交通灯控制电路自动控制十字路口两组红、黄、绿交通灯的状态转换,指挥各种车辆和行人安全通行,实现十字路口城乡交通管理自动化。

1.2 课题的研究内容

本课题以单片机STC89C52芯片为中心来实现智能交通灯控制系统。设计内容是由一条主干道和一条支干道的汇合点形成十字交叉路口,为确保车辆安全迅速通过,在交叉路口的每个入口处设置了红、绿、黄三色信号灯,红灯亮代表禁止通行,绿灯亮代表允许通行,黄灯亮则代表给行驶中的车辆有时间停靠到禁行线之外。

1.3 课题的任务要求

设计制作一个以控制器作为核心的十字路口的智能交通灯控制电路。

由一条主干道和一条支干道的汇合点形成十字交叉路口,为确保车辆安全迅速通过,在交叉路口的每个入口处设置了红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停靠到禁行线之外,设计要求如下:

①.用红、绿、黄三色发光二极管作为信号灯,利用传感器或开关模拟检测车辆是否到来,设计制作一个交通灯控制器。

②.交通灯控制器有两种工作模式,工作模式1为正常定时工作模式,工作模式2为智能工作模式。

③.在正常定时模式时,主道与支道交替允许车辆通行,主干道每次放行15秒,支干道每次放行10秒;并且每次由亮绿灯转变成亮红灯的转换过程中间,要亮4秒的黄灯作为过渡,以使行驶中的车辆有时间停到禁止线以外;系统设立显示器显示其所有计时时间。

④.在正常定时模式时,允许通过键盘对主道、支道的车辆通行时间进行人工修改;

⑤.在正常定时模式时,通过PC 机可以方便地进行对主、支干道的通行时间进行修改。系统所有功能,均能够通过上位PC 主机对其操作修改与实时动态显示(PC 主机端可利用高级语言进行人机界面设计)。

⑥.在智能工作模式时,主干道处于常允许通行状态,而支干道有车来才允许通行。当主干道允许通行亮绿灯时,支干道亮红灯。而支干道允许通行亮绿灯时,主干道亮红灯。但每次由亮绿灯转变成亮红灯的转换过程中间,要亮4秒的黄灯作为过渡。

第2章 系统方案设计

2.1系统方案设计

方案一:系统以单片机为数据处理中心,外接晶振电路与复位电路使单片机工作,通过按键电路可以设置信号灯的工作时间,系统工作时,通过单片机控制计时显示电路和信号灯显示电路,来显示系统工作状态。系统通过通信接口与PC 主机完成数据通信功能。

该方案的系统结构框图如图1所示。

图1 方案一系统结构框图

方案二:系统以FPGA 最小系统为数据处理核心。通过按键电路可以设置信号灯的工作时间,通过FPGA 最小系统控制计时显示电路和信号灯显示电路来显示系统工作状态。系统通过通信接口与PC 主机完成数据通信功能。

该方案的系统结构框图如图2所示。

图2 方案二系统结构框图

2.2 方案的选择与论证

2.2.1 方案的比较与论证

方案一采用了单片机作为系统控制核心。它的优点是成本低,经济实惠,易于

获取,它可以用C 语言或汇编语言进行软件编程,我们对于这些语言也较为熟悉。它的缺点是易受外围器件影响导致抗干扰能力下降,对环境依赖性也增强。

方案二采用了FPGA 作为系统控制核心。它的优点是设计灵活,I/O接口多,能连接较多的外围电路,使系统实现更多的功能。它的缺点是成本较高,其程序编写采用VHDL 语言,比较复杂。

综合以上的优缺点,进行比较,使用方案一能完成本系统要求的功能,并且单片机的性价比最高,在当前实验下使用它最合理,最终选择方案一来完成本系统的设计。

2.2.2 系统结构实现框图设计

该智能交通灯控制系统以单片机为核心,以发光二极管模块、数码管显示模块、4*4矩阵键盘为外围电路,实现基本的交通灯控制,同时具有联机功能,实现计算机控制该模拟系统,总体系统框图如图3所示。

方案具体说明如下:

(1)系统控制模块:采用单片机控制芯片,它是一种低功耗、高性能的微型控制器,可以通过内部的定时器控制红黄绿灯亮灭、接受检测信号和设定时间,外接口亦能方便的输出控制信号。

(2)路口交通灯模块:该模块主要用来显示车辆通行状况。选用高亮度的红、黄、绿发光二极管,通过单片机外部输出I/O口指示各方向车辆通行情况。

(3)数码管显示模块:在交通灯上方安装一个显示绿灯通行时间、红灯等待时间和黄灯提醒时间的显示电路,采用数码管显示电路比较直观。

(4)电源模块:由于整个系统采用的电源电压只需+5V,故利用实验室的直流电源直接供电。

(5)矩阵键盘:用于本地设定时间,正常模式和智能模式的切换。

第3章 系统各模块的硬件设计

该系统能够真实地模拟交叉路口交通灯的指挥作用。在系统中设置了两组红、黄、绿信号灯,其中南北主通道的一组信号灯用来指挥南北方向道路上的车辆通行,还有一组东西次通道的信号灯用来指挥东西方向道路上的车辆通行。为了能够直观的显示红、黄、绿灯分别等待的时间,该系统配置了四个LED 数码

管,其中前两个数码管用来显示主通道的红、黄、绿信号灯的等待时间,后两个数码管用来显示次通道的红、黄、绿信号灯的等待时间。时间的显示采用倒计时的显示方式,并且主次通道上的绿、黄灯的等待时间可以通过4*4的矩阵键盘中前0~9个键来修改(前0~9个键的键值对应的就是0~9)。总的来讲,该系统主要包括以下五个模块:电源模块、信号灯模块、显示电路模块、单片机控制模块、按键电路模块。

3.1 电源模块设计

STC 单片机USB 下载线原理图,也可以用USB 口和电脑进行串口通信PL-2303hx 的USB 转TTL 电平串口的电路。如图3-1所示。

1) 电脑的原有的串口,叫作RS232接口,这是一种cmos 接口,接口电压从

-15v 到+15v之间,而单片机C51都是TTL 电平,电平电压只用0v 或是5v 两种。用这个电脑做出来的就是单片机上用的TTL 电平,所以,不要再接MAX232芯片了。这是它的一大好处。

2) 电路可以提取出USB 接口的+5v电压,正好用于C51单片机的使用,非

常方便。另外PL-2303hx 还能对外提供一个+3.3v的电压,这个电压,对于AVR 单片机,非常合适。

图3-1 USB-TTL下载器原理图

3.2 交通灯模块设计

3.2.1信号灯模块设计

信号灯模块可模拟控制十字路口的车辆通行和暂停情况。每个方向均有红、黄、绿三个发光二极管,用来指挥各个方向上车辆的通行情况。在实验中,我设定南北方向为主通道,东西方向为次通道,且主、次通道信号灯的转换顺序均为:绿—>黄—>红;红—>绿。绿灯表示允许通行;红灯表示禁止通行;黄灯表示等待时间,虽然红灯和黄灯时间可任意修改,但等式T 主红=T次黄+T次绿与等式T 次红=T主黄+T主绿恒成立。主通道的信号灯接单片机的P2.3~P2.5口,次通道的信号灯接

单片机的P2.0~P2.2口。当单片机端口为低电平时二极管导通。其原理图如图3-2所示。

图3-2 信号灯模块原理图

图3-2中的电阻起限流作用,发光二极管的工作电压一般在2~

3.6V ,工作电流为10mA 以下,设定工作电压为3V ,工作电流为10mA ,因为单片机I/O口电压为5V ,故限流电阻应取200Ω左右,本设计取标称值300Ω,从而较好的达到了限流的目的。

3.2.2 倒计时显示模块设计

倒计时显示系统的主要功能是对红、黄、绿灯的延时时间进行倒计时,并通过数码管直观的显示,从而给车辆驾驶员以提示。这里使用4个共阴极的7段数码管SM420364作为显示设备,主次通道分别占用两个数码管。一个显示十位,一个显示个位,且显示方式采用动态扫描方式。

由于东、西方向的信号灯状态一致,所以东、西方向只需一对数码管用于倒计时显示。同理,南、北方向也只需一对数码管。所以,在系统中只需要考虑四位数码管显示电路,其中东西方向两位,南北方向两位,两位数码管可以显示时间的范围为0~99秒完全可以满足系统的要求,数码管显示模块原理图如图3-3所示。

图3-3 数码管显示模块原理图

数码管的段选位接在单片机的P0口,由于STC89C52单片机的P0口内部没

有上拉电阻,驱动电流很小,同时数码管需要较大的驱动电流,因此需要接上拉电阻。

数码管的位选采用9013三极管,由于数码管中每段LED 的驱动电流为10mA 左右,8段就为80mA ,因此三极管集电极电流为80mA 。设定9013的放大倍数是200,则三极管的基极电流为0.4mA ,单片机I/O口电压为5V ,故9013基极可以

取10k Ω的电阻,使三级管工作在放大状态,从而驱动数码管工作。

3.3 单片机控制模块设计

单片机是由运算器、控制器、存储器、输入设备以及输出设备共五个基本部分组成的。单片机是把包括运算器、控制器、少量的存储器、最基本的输入输出口电路、串行口电路、中断和定时电路等都集成在一个尺寸有限的芯片上。

通常,单片机由单个集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器、存储器和I/O接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。

在STC89C52中有四个双向I/O端口P0 ~ P3口,每个端口都是由锁存器、输出驱动器、输入缓冲器组成。当CPU 控制系统与外部设备交换信息时,都是通过端口锁存器进行的。四个I/O端口都可作输出输入使用,其中P0和P2口通常用于对外部存储器的访问。

接通锁存器时,P0口作为双向I/O使用,如P0口的锁存器的值为1,使输出驱动器中的场效应管截止,引脚空,此时端口可作高阻输入。锁存器的值为0时,下面的场效应管导通,输出为0。P0口作为地址/数据总线口使用时,由“控制”线控制将电子开关接通至“地址/数据”端,分别输出扩展外存的低8位地址A0 ~ A7和数据D0 ~D7。一般情况下,当P0口作输入输出线使用时,都要外接拉高电阻。

在P1、P2、P3端口内,都接有内部上拉电阻,此上拉电阻分为固定部分和附加部分,当端口的状态要从0变为1时,在发生变化的哪个机器周期的S1P1和S1P2接通附加的拉高电路以增加变化的速度,否则这个状态的变化将十分缓慢。附加的拉高电路允许通过的电流比普通的上拉电阻大100倍。

STC89C52有40条引脚,分为端口线、电源线和控制线三类。如图3-4为STC89C52的引脚结构图:

89C52

图3-4 89C52引脚图

3.3.1 单片机时钟电路设计

89C52的外接晶体引脚为XTAL1和XTAL2, MCS-51的时钟可以利用它内部的振荡器产生,只要在XTAL1、XTAL2引脚上外接定时反馈电路,内部振荡器便自激振荡,产生时钟输出到内部的定时控制逻辑。定时反馈电路一般为石英晶振和电容组成的并联回路。这种方式称为内部方式,这种方式的外部元件连接如图3-5所示。如果振荡器已起振,则在XTAL2引脚上输出3V 左右的正弦波。

图3-5 时钟电路

3.3.2 单片机复位电路设计

单片机在启动时都需要复位,以使CPU 及系统各部件处于确定的初始状态,并从初态开始工作。89系列单片机的复位信号是从RST 引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果RST 引脚上有一个高电平并维持2个机器周期(24个振荡周期) 以上,则CPU 就可以响应并将系统复位。单片机系统的复位方式有:手动按钮复位和上电复位。

本设计采用手动按钮复位,需要人为在复位输入端RST 上加入高电平。一般采用的办法是在RST 端和正电源Vcc 之间接一个按钮。当人为按下按钮时,则Vcc 的+5V电平就会直接加到RST 端。手动按钮复位的电路如所示。由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求。根据实际操作的经验,下面给出这种复位电路的电容、电阻参考值。C=10uF,Rl=10K,R2=1K,如图3-6所示。

图3-6 复位电路

3.4按键电路模块设计

本系统需要的按键数量较多,为了减少I/O口的占用,将按键排列成矩阵形式,如图3-7所示。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。

图3-7 矩阵键盘

矩阵键盘的工作过程可分为两步:第一步是CPU 首先检测键盘上是否有键按下;第二步是识别哪一个键按下。

检测键盘上是否有键按下的处理方法是:将列线送入全扫描字,读入行线的状态来判别。

识别键盘中哪一个键按下的处理方法是:将列线逐列置成低电平,检查行输入状态,称为逐列扫描。

第4章 系统软件设计

4.1设计思路

本设计需在任意时刻均可以切换模式或者修改时间,设计成用一个按键切换模式。三个按键修改时间,分别修改主通道通行时间、次通道通行时间、黄灯时间,且两种模式下的时间互不影响。在红绿灯显示的同时由数码管倒计时显示时间,从而直观的观察各个通道的通行时间。在该系统中还有一个按键代表有人来。 时间修改分别用13键、12键、11键实现,在不同的模式下改变不同寄存器中的数据,从而使两个模式下的时间独立。

数码管采用动态显示方式,编写动态显示程序时需要注意 :

1) 需将要显示的数码或字符转换为段码,一般通过查表的方法进行; 2) 通过位控逐位轮流点亮每个LED ,并保持每位点亮1~2ms ; 3) 在数据存储器中分配和显示器位数相同连续单元作为显示缓冲区,每个单元对应一位显示器,需更新显示器内容时,只需修改缓冲区的内容,显示子程序从显示缓冲区取得要显示的内容。

4.2软件总设计流程

89C52单片机和其开发应用系统具有语言简洁,可移植性好,表达能力强,表达方式灵活,可进行结构化设计,生成代码质量高,使用方便等诸多优点。

主程序的设计应实现以下几个功能: 1) 初始化,开中断;

2) 普通模式和智能模式之间的切换; 3) 调用相应的时间修改子程序;

4) 当在智能模式下时,发出有车来的信号。

主程序流程图如图4-1所示。

图4-1 主程序流程图

4.3普通模式的软件设计

普通模式中设置了3个标志,分别为flag1、flag2、flag3。通过中断定时,给标志变量赋值,标志变量值的不同就代表着不同的状态。因此,普通模式是结合中断程序共同实现。中断服务程序的功能主要包括不同状态下的时间计时、状态的循环切换和更新显示等。

采用中断系统改善了计算机的性能,主要表现在以下几个方面:

1) 有效地解决了快速 CPU与慢速外设之问的矛盾 ,可使 CPU与外部设备并行工作,大大提高了工作效率;

2) 可以及时处理控制系统中许多随机产生的参数与信息,即计算机具有实时处理的能力,从而提高了控制系统的性能;

3) 使系统具备了处理故障的能力,提高了系统自身的可靠性。

普通模式子程序流程图如图4-2所示,在普通模式下中断程序流程图如图4-3所示。

图4-2 普通模式子程序流程图

图4-3 普通模式中断程序流程图

4.4智能模式的软件设计

智能模式中设置了2个时间标志和1个是否有车来的标志,分别是inl1、inl2、car 。

通过中断定时,给标志变量赋值,标志变量值的不同就代表着不同的状态。因此,智能模式同样是结合中断程序共同实现。中断服务程序的功能主要包括不同状态下的时间计时、状态的循环切换和更新显示等。在实际程序中,普通模式的中断程序和智能模式的中断程序均在T0中断中实现,为了便于理解,故将两个模块下的中断程序分开给出。

智能模式子程序流程图如图4-4所示,在智能模式下中断程序流程图如图4-5所示。

图4-4 智能模式子程序流程图

图4-5 智能模式中断程序流程图

4.5 T0中断的软件设计

由于在主程序中,设置了中断的定时时间为50ms 。当主程序执行到了50ms 时,T0的值就会溢出,此时单片机的CPU 就要立即处理中断服务子程序。由于定时器T0工作在方式1(16位的定时器),该种工作方式没有初值重装的功能,

所以在中断服务子程序中还要给T0重新赋初值。之后通过布尔量mode1的值判断是执行普通模式下的中断服务程序还是智能模式下的中断服务程序,分别如图4-3和图4-5所示。

图4-6 T0中断程序流程图

第5章 系统调试与数据分析

5.1 硬件电路的制作和调试

5.1.1 常见的硬件故障

1)逻辑错误

样机硬件的逻辑错误是由于设计错误或加工过程中的工艺性错误而造成的,包括错线,开路和短路等等,其中短路是最常见的故障。 2)元器件失效

元器件失效的原因有两个方面,一是器件本身应经损坏或性能不符合要求;二是由于组装错误造成的元器件失效,如电解电容,二极管的极性错误或集成块安装方向错误等。 3)性差

若样机中存在电源故障,则加电后将造成器件损坏。电源故障包括电压值不符合设计要求,电源引出线和插座不对应,电源功率不足和负载能力差等。

5.1.2 硬件的调试方法

1)脱机调试

脱机调试是在样机加点之前,先用万用表等工具,根据硬件电气原理图和装配图,仔细样机线路的正确性,并核对元器件型号,规格和安装是否符合要求。仔细检查各点电压是否正常。在实验中,若检查系统时钟是否正常工作,则可用万用表直流电压档测量XTAL1与XTAL2两端间的电压,检测到电压若为2.5V 左右,则视为正常工作。 2)联机调试

通电后,执行读写指令,对用户样机的存储器、I/O端口进行读写和逻辑检查等操作,用示波器等设备观察波形。通过对波形的观察分析,发现和排除故障。在实验中,若检查检测电路是否正常工作,则可用万用表直流电压档测量检测电路的输出端与地之间的电平,正常情况下,当没有物体靠近红外对管时,电压表应该测得4.5v ~5v 左右;当有物体靠近红外对管时,电压表应该测得0.2v ~0.5v 左右。

5.3 软硬件调试分析

在软硬件联调时,按基本功能依次调试。当电路通上+5v电源后,先观察正常模式下主通道通行时间是否是15s 、次通道通行时间是否是10s 、黄灯时间是否是4s ,在初值正确的情况下,看看数码管的显示时间是否和信号灯的点亮同步。如果有错误,则重新看源程序;否则,继续看智能模式下的状态。在按下15键之后,看系统是否能自动从正常模式切换到智能模式。如果不能切换,说明扫描程序或者主程序对15键的操作有问题;如果正常切换,则观察数码管是否全灭、信号灯的状态是否为主通道常绿次通道常红。对于修改时间,仍然依次调试,哪里有问题就立即解决。

5.4 测试结果分析

本系统可以实现的功能如下:

1) 上电为普通模式,且默认主通道通行时间为15s ,次通道通行时间为10s ,黄灯时间为4s 。

2) 在任意时刻,按下15键,可以实现普通模式和智能模式的切换。 3) 在普通模式下,按13键可改变的主通道的通行时间,按12键可改变次通道的通行时间,按11键可改变黄灯时间,按0~9输入所需的时间,按相应的键值确认退出。

4) 在智能模式下,按12键可改变次通道的通行时间,按11键可改变黄灯时间,按0~9输入所需的时间,按相应的键值确认退出。普通模式和智能模式下的信号灯设定的时间是相互独立、互不影响的。

5) 在信号灯点亮的同时,数码管也倒计时显示相应的信号灯设定的时间,且与信号灯同步变化。从而直观的显示某一状态的剩余时间,给车辆司机以提醒。

在智能模式下,当没有小车来时,信号灯的状态为主通道常绿、次通道常红;当有小车来时,原来的常红、常绿初态被改变,此时主道的绿灯跳变成黄灯、次道的红灯跳变成绿灯。在有车来的情况下,主通道黄灯4s ,次通道通行10s 。

第6章 总结与展望

基于单片机的智能交通灯控制系统充分利用STC89C52单片机芯片的功能,提高了系统的可靠性和稳定性。系统设计简便、实用性强、操作简单、程序可靠,实现了两种情况下交通灯的正常指示和倒计时功能。并实现了普通模式和智能模式任意切换、主次通道通行时间和等待时间任意修改等功能。系统在硬件设计上充分考虑到了可扩展性,经过一定的添加或改造,很容易增加功能,如加入开关控制位选和控制单路,循环等功能。

对于该系统设计存在的不足之处是没有实现上位机与上位机之间的控制与传输,此外,虽然具有初步的视觉智能,但还比较低级,如能进行流量检测,运用到交通等的控制中,来计算交通控制点之间的距离,对于更合理的安排红、绿灯的持续时间,使城市的交通管理更加人性化。

参考文献

[1]徐爱钧《智能化测量控制仪表原理与设计》(第二版)[M].北京:北京航空航天大学出社,2004.

[2]吴金戌、沈庆阳、郭庭吉《8051单片机实践与应用》[M].北京:清华大学出版社,2002.

[3]谢自美《电子线路设计·实验·测试》(第三版)[M].武汉:华中科技大学出版社,2006.

[4] 谢维成、杨加国主编《单片机原理与应用及C51程序设计》[M].北京:清华大学出版社,2006.

[5]杨立、邓振杰、荆淑霞《微型计算机原理与接口技术》[M].中国铁道出版社,2006.

[6]黄智伟《全国大学生电子设计竞赛技能训练》[M].北京:北京航空航天大学出版社,2007.

[7]高峰,《单片微型计算机与接口技术》[M].北京:科学出版社,2003. [8]华成英、童诗白主编,《模拟电子技术基础》(第四版)[M].高等教育出版社,2006.

[9]黄海萍、陈用昌编《微机原理与接口技术实验指导》[M].北京:国防工业出版社,2004.

致谢

历时四周的课程设计已经结束了,虽然短暂,但是这段时间是充实的、美好的、有意义的。

经过自己不断的努力以及薛波的耐心指导和热情帮助,本设计已经基本完成。在这段时间里,薛老师严谨的治学态度和热忱的工作作风令我十分钦佩,他的唯一目的就是要求我们在这段时间里能够学到一些知识,而不是浑浑噩噩的浪费时间,他的指导使我受益非浅。同时我们电信学院实验室的开放也为我的设计提供了良好的实训环境。在此对刘老师和院领导表示深深的感谢!

通过这次电子综合实训,使我深刻地认识到学好专业知识的重要性,也理解了理论联系实际的含义,并且检验了大学四年的学习成果。虽然在这次设计中对于知识的运用和衔接还不够熟练。但是我将在以后的工作和学习中继续努力、不断完善。这四周的课程设计是对过去所学知识的系统提高和扩充的过程,为今后的发展打下了良好的基础, 而且为我们下学期的毕业设计提供了模板。

由于自身水平有限,设计中一定存在很多不足之处,敬请老师批评指正。

附录1 电路原理图

硬件电路原理图:

附录2 程序清单

#include #include

#define uchar unsigned char #define uint unsigned int uchar keyon;

//sbit control=P3^3; p2=0;

int sn_g_time,ew_g_time,sn_y_time,ew_y_time,sn_r_time,ew_r_time; int ew_g_time1,sn_y_time1,ew_y_time1,ew_r_time1,sn_r_time1; int sntime=0,ewtime=0,ytime=0; int sntime1=0,ewtime1=0,ytime1=0;

int sg,eg,sy,ey,sr,er,sg1,eg1,sy1,ey1,sr1,er1; char mode=1;

bit model=1; //模式标志

char flag1,flag2,flag3; //普通模式的标志 char inl1,inl2; //智能模式的标志 char car,n=0,m=0;

int RR1=0,RR2=0,RR3=0,RR4=0;//普通模式的寄存器 int TT1=0,TT2=0,TT3=0; //智能模式的寄存器

char code tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00}; uchar data buffer[4]={0}; uchar data buf[2]={0};

/**************************按键扫描***************************************/ void delay(uint z) {

int x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--); }

uchar key() { uchar keyon,temp; P1=0x0f; delay(1); temp=P1^0x0f; switch(temp) { case 1:keyon=0;break; case 2:keyon=1;break; case 4:keyon=2;break;

case 8:keyon=3;break; default:keyon=16; } P1=0xf0; delay(1); temp=P1>>4^0x0f; switch(temp) { case 1:keyon+=0;break; case 2:keyon+=4;break; case 4:keyon+=8;break; case 8:keyon+=12;break; } return keyon; }

void smg_display(int sn,int ew) //数码管显示 { buffer[0]=sn/10; buffer[1]=sn%10; buffer[2]=ew/10; buffer[3]=ew%10; P3=0x8f;P0=tab[buffer[0]];delay(3); P3=0x1f;P0=tab[buffer[1]];delay(2); P3=0x2f;P0=tab[buffer[2]];delay(2); P3=0x4f;P0=tab[buffer[3]];delay(2); }

void common() //普通模式 { if(flag1==1) { if(flag2==1) { if(flag3==1) { P2=0xf5;//sn_red=0;ew_yellow=0; smg_display(sr,ey); if(n==20) { sr--; ey--; n=0; } } else

{ P2=0xf3;//sn_red=0;ew_green=0; smg_display(sr,eg); if(n==20) { sr--; eg--; n=0; } } } else { P2=0xee;//sn_yellow=0;ew_red=0; smg_display(sy,er); if(n==20) { sy--; er--; n=0;} } } else { P2=0xde;//sn_green=0;ew_red=0; smg_display(sg,er); if(n==20) { sg--; er--; n=0;} } }

void intelligent( ) //智能模式 { P0=0x00; P2=0xde;//sn_green=0;ew_red=0; if(car==1) { if(inl1==1) { if(inl2==1) { P2=0xf5;//sn_red=0;ew_yellow=0; smg_display(sr1,ey1);

if(m==20) { sr1--; ey1--; m=0;} } else { P2=0xf3;//sn_red=0;ew_green=0; smg_display(sr1,eg1); if(m==20) { sr1--; eg1--; m=0;} } } else { P2=0xee;//sn_yellow=0;ew_red=0; smg_display(sy1,er1); if(m==20) { sy1--; er1--; m=0;} } } }

void zero_off(uchar *p) //去零函数 {

uchar i;

for(i=0;i

if(*p==0) {*p=10;p++;} else break; } }

void sn_display(int snew) { buf[0]=snew/10; buf[1]=snew%10; zero_off(buf);

P3=0x2f;P0=tab[buf[0]];delay(2); P3=0x4f;P0=tab[buf[1]];delay(2); }

void chage_sntime() { P3=0x00; while(1) { if(P1!=0xf0) { keyon=key(); while(P1!=0xf0); if(keyon10) { if(keyon==13) //再按13键,确定并退出 { sn_g_time=sntime; sntime=0; return; } } } sn_display(sntime); } }

void ew_display(int snew) { buf[0]=snew/10; buf[1]=snew%10; zero_off(buf); P3=0x2f;P0=tab[buf[0]];delay(2); P3=0x4f;P0=tab[buf[1]];delay(2); }

void chage_ewtime() {

P3=0x00;

while(1) { if(P1!=0xf0) { keyon=key(); while(P1!=0xf0); if(keyon10) { if(keyon==12) //再按12键,确定并退出 { if(model==1) { ew_g_time=ewtime; ewtime=0; return; } else if(model==0) { ew_g_time1=ewtime1; ewtime1=0; return; } } } } if(model==1) ew_display(ewtime); else if(model==0) ew_display(ewtime1); } }

void chage_y_time() {

P3=0x00; while(1) { if(P1!=0xf0) { keyon=key(); while(P1!=0xf0); if(keyon9) { if(keyon==11) //再按11键,确定并退出 { if(model==1) { sn_y_time=ew_y_time=ytime; ytime=0; return; } else if(model==0) { sn_y_time1=ew_y_time1=ytime1; ytime1=0; return;} } } } if(model==1) sn_display(ytime); else if(model==0) sn_display(ytime1); } }

/***************************主函数**********************************/ void main() { car=0; sg=sn_g_time=15; eg=ew_g_time=10;

eg1=ew_g_time1=10; sy=ey=sn_y_time=ew_y_time=4; sy1=ey1=er1=sn_y_time1=ew_y_time1=4; sr=sn_r_time=ew_g_time+ew_y_time; sr1=sn_r_time1=ew_g_time1+ew_y_time1; er=ew_r_time=sn_g_time+sn_y_time; TMOD=0x01; //中断初始化 IE=0x82; TH0=(65536-50000)/256; TL0=(65536-50000)%256; TR0=1; while(1) { P1=0xf0; if(P1!=0xf0) { keyon=key(); while(P1!=0xf0); if(keyon==15) //15键,模式选择 { mode++; model=(bit)(mode&0x01); } if(keyon==14) //14键,有车来 car=1; if(keyon==13) //13键,修改主通道绿灯时间 chage_sntime(); if(keyon==12) //12键,修改次通道绿灯时间 chage_ewtime(); if(keyon==11) //11键,修改黄灯时间 chage_y_time(); } if(model==1) //modle=1,普通模式 { common(); eg1=ew_g_time1; //智能模式赋初值 sy1=ey1=er1=sn_y_time1=ew_y_time1; sr1= sn_r_time1=ew_g_time1+ew_y_time1; } else if(model==0) { intelligent(); //modle=0,智能模式 sg=sn_g_time; //普通模式赋初值 eg=ew_g_time; sy=ey=sn_y_time=ew_y_time;

sr=sn_r_time=ew_g_time+ew_y_time; er=ew_r_time=sn_g_time+sn_y_time; } if(sg==0) sg=sn_g_time; if(eg==0) eg=ew_g_time; if(sy==0) sy=sn_y_time; if(ey==0) ey=ew_y_time; if(sr==0) sr=sn_r_time; if(er==0) er=ew_r_time; if(eg1==0) eg1=ew_g_time1; if(sy1==0) sy1=sn_y_time1; if(ey1==0) ey1=ew_y_time1; if(sr1==0) sr1=sn_r_time1; if(er1==0) er1=ew_y_time1; } }

/**************************T0中断服务子程序*******************************/ void time0_int() interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; if(model==1) { TT1=TT2=TT3=0; car=0; m=0; if(RR1==sn_g_time*20) {flag1=1; if(RR2==sn_y_time*20) {flag2=1; if(RR3==ew_g_time*20) { flag3=1; if(RR4==ew_y_time*20) { RR1=RR2=RR3=RR4=0; return;} else { RR4++;n++; return; } } else {

RR3++;n++; flag3=0; return;} } else { RR2++;n++; flag2=0; return;} } else {RR1++;n++; flag1=0; return;} }

else if(model==0) { RR1=RR2=RR3=RR4=0; n=0; if(car==1) {if(TT1==sn_y_time1*20) {inl1=1; if(TT2==ew_g_time1*20) {inl2=1; if(TT3==ew_y_time1*20) {TT1=TT2=TT3=0; car=0; return;} else { TT3++;m++; return; } } else { TT2++;m++; inl2=0; return;} } else { TT1++;m++; inl1=0; return; }

}

}

else return;

}

附录3 实物图

附录4 元器件清单

JIANGSU UNIVERSITY OF TECHNOLOGY

电子系统设计综合训练

智能交通灯控制系统设计与实现

学院名称:

专 业: 电子信息工程

班 级:

姓 名:

学 号:

指导教师:

2014年03月

智能交通灯控制器系统设计

摘要: 设计并制作了一款基于STC89C52 单片机芯片的智能交通信号灯控制系统。 该系统除了具有交通灯控制功能外, 还增加了在夜间智能模式下用红外检测小车的检测功能,实现了普通模式和智能模式任意切换、主次通道通行时间和等待时间的任意修改。提高了交通灯的智能化、可靠性和实用性, 可有效提高交叉口的通行能力。交通灯控制系统由硬件和软件两部分组成,其中系统的硬件有信号灯设计、时间显示电路设计、按键电路设计和单片机基本系统;系统的软件包括主程序、显示子程序、中断服务子程序等。采用Proteus 平台对交通灯控制系统进行了虚拟仿真,并进行了硬件电路的安装与测试。软硬件测试结果表明交通灯控制系统具有交通控制的基本功能。

关键词: STC89C52 单片机;交通灯;虚拟仿真

Controller system design of intelligent traffic lights

Abstract: The thesis design traffic light control system based on STC89C52 MCU . In addition to fundamental functions of traffic lights, it also has functions of infrared control detecting ,and it come ture the normal mode and intelligent model of arbitrary switching, primary and secondary channel passing time and waiting time any modification functions.Using MCU for traff ic lights control can improve the intelligencereliability and practicality of t raffic light. So it can improve the traffic capacity at crossings. The hardware system includes light design, time display circuit design, key circuit design and basic system of microprogrammed control unit. System software includes main program, display subroutine, interrupt service subroutine, etc. By using the Proteus platform for virtural simulation of traffic lights control system, and makes the installation and testing of hardware circuits.Software and hardware test results show that the basic function of traffic light control system with traffic control.

Key words: STC89C52 MCU ; traffic signal; virtural simulation

目 录

第1章 绪论........................................................................................................ 1

1.1 课题的意义和目的.......................................................................................................1

1.2 课题的研究内容...........................................................................................................1

1.3 课题的任务要求...........................................................................................................2

第2章 系统方案设计 ....................................................................................... 3

2.1系统方案设计................................................................................................................3

2.2 方案的选择与论证.......................................................................................................3

2.2.1 方案的比较与论证....................................................................................................4

2.2.2 系统结构实现框图设计............................................................................................4

第3章 系统各模块的硬件设计 ....................................................................... 4

3.1 电源模块设计...............................................................................................................5

3.2 交通灯模块设计...........................................................................................................6

3.2.1信号灯模块设计.........................................................................................................6

3.2.2 倒计时显示模块设计................................................................................................7

3.3 单片机控制模块设计...................................................................................................8

3.3.1 单片机时钟电路设计................................................................................................8

3.3.2 单片机复位电路设计................................................................................................9

3.4按键电路模块设计......................................................................................................10

第4章 系统软件设计 ..................................................................................... 11

4.1设计思路..................................................................................................................... 11

4.2软件总设计流程......................................................................................................... 11

4.3普通模式的软件设计.................................................................................................12

4.4智能模式的软件设计.................................................................................................14

4.5 T0中断的软件设计...................................................................................................17

第5章 系统调试与数据分析 .........................................................................18

5.1 硬件电路的制作和调试.............................................................................................18

5.1.1 常见的硬件故障......................................................................................................18

5.1.2 硬件的调试方法......................................................................................................18

5.2 软件调试分析.............................................................................................................18

5.3 软硬件调试分析.........................................................................................................19

5.4 测试结果分析.............................................................................................................19

第6章 总结与展望 .........................................................................................20

参考文献 . .............................................................................................................21

致谢 . .....................................................................................................................22

附录1 电路原理图 ..........................................................................................23

附录2 程序清单 ..............................................................................................24

附录3 实物图 ..................................................................................................34

附录4 元器件清单 ..........................................................................................35

第1章 绪论

1.1 课题的意义和目的

随着世界范围内城市化和机动化进程的加快,城市交通越来越成为一个全球化的问题。简单的十字路口交通灯已经不能适应车流量越来越大的实际情况,交通控制研究的发展,旨在解决人类交通因需求的增多而日益繁重带来的问题,局限于道路建设的暂时不足和交通工具的快速增长,就要使更多的车辆安全高效的利用有限的道路资源,避免因无序和抢行等无控制原因造成的不必要阻塞甚至瘫痪,另外,针对整个交通线路车辆的多少适时调整和转移多条线路的分流也十分必要。所以这就需要一个更为合理和智能且成本不高的路口交通灯控制系统。

智能交通灯指挥着人和各种车辆的安全运行,实现红、黄、绿灯的自动指挥是城乡交通管理现代化的重要课题。在城乡街道的十字交叉路口,为了保证交通秩序和行人安全。一般在每条道路上各有一组红、黄、绿交通信号灯,其中红灯亮,表示该条道路禁止通行;黄灯亮,表示该条道路上未过停车线的车辆停止通行,已过停车线的车辆继续通行;绿灯亮,表示该条道路允许通行。交通灯控制电路自动控制十字路口两组红、黄、绿交通灯的状态转换,指挥各种车辆和行人安全通行,实现十字路口城乡交通管理自动化。

1.2 课题的研究内容

本课题以单片机STC89C52芯片为中心来实现智能交通灯控制系统。设计内容是由一条主干道和一条支干道的汇合点形成十字交叉路口,为确保车辆安全迅速通过,在交叉路口的每个入口处设置了红、绿、黄三色信号灯,红灯亮代表禁止通行,绿灯亮代表允许通行,黄灯亮则代表给行驶中的车辆有时间停靠到禁行线之外。

1.3 课题的任务要求

设计制作一个以控制器作为核心的十字路口的智能交通灯控制电路。

由一条主干道和一条支干道的汇合点形成十字交叉路口,为确保车辆安全迅速通过,在交叉路口的每个入口处设置了红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停靠到禁行线之外,设计要求如下:

①.用红、绿、黄三色发光二极管作为信号灯,利用传感器或开关模拟检测车辆是否到来,设计制作一个交通灯控制器。

②.交通灯控制器有两种工作模式,工作模式1为正常定时工作模式,工作模式2为智能工作模式。

③.在正常定时模式时,主道与支道交替允许车辆通行,主干道每次放行15秒,支干道每次放行10秒;并且每次由亮绿灯转变成亮红灯的转换过程中间,要亮4秒的黄灯作为过渡,以使行驶中的车辆有时间停到禁止线以外;系统设立显示器显示其所有计时时间。

④.在正常定时模式时,允许通过键盘对主道、支道的车辆通行时间进行人工修改;

⑤.在正常定时模式时,通过PC 机可以方便地进行对主、支干道的通行时间进行修改。系统所有功能,均能够通过上位PC 主机对其操作修改与实时动态显示(PC 主机端可利用高级语言进行人机界面设计)。

⑥.在智能工作模式时,主干道处于常允许通行状态,而支干道有车来才允许通行。当主干道允许通行亮绿灯时,支干道亮红灯。而支干道允许通行亮绿灯时,主干道亮红灯。但每次由亮绿灯转变成亮红灯的转换过程中间,要亮4秒的黄灯作为过渡。

第2章 系统方案设计

2.1系统方案设计

方案一:系统以单片机为数据处理中心,外接晶振电路与复位电路使单片机工作,通过按键电路可以设置信号灯的工作时间,系统工作时,通过单片机控制计时显示电路和信号灯显示电路,来显示系统工作状态。系统通过通信接口与PC 主机完成数据通信功能。

该方案的系统结构框图如图1所示。

图1 方案一系统结构框图

方案二:系统以FPGA 最小系统为数据处理核心。通过按键电路可以设置信号灯的工作时间,通过FPGA 最小系统控制计时显示电路和信号灯显示电路来显示系统工作状态。系统通过通信接口与PC 主机完成数据通信功能。

该方案的系统结构框图如图2所示。

图2 方案二系统结构框图

2.2 方案的选择与论证

2.2.1 方案的比较与论证

方案一采用了单片机作为系统控制核心。它的优点是成本低,经济实惠,易于

获取,它可以用C 语言或汇编语言进行软件编程,我们对于这些语言也较为熟悉。它的缺点是易受外围器件影响导致抗干扰能力下降,对环境依赖性也增强。

方案二采用了FPGA 作为系统控制核心。它的优点是设计灵活,I/O接口多,能连接较多的外围电路,使系统实现更多的功能。它的缺点是成本较高,其程序编写采用VHDL 语言,比较复杂。

综合以上的优缺点,进行比较,使用方案一能完成本系统要求的功能,并且单片机的性价比最高,在当前实验下使用它最合理,最终选择方案一来完成本系统的设计。

2.2.2 系统结构实现框图设计

该智能交通灯控制系统以单片机为核心,以发光二极管模块、数码管显示模块、4*4矩阵键盘为外围电路,实现基本的交通灯控制,同时具有联机功能,实现计算机控制该模拟系统,总体系统框图如图3所示。

方案具体说明如下:

(1)系统控制模块:采用单片机控制芯片,它是一种低功耗、高性能的微型控制器,可以通过内部的定时器控制红黄绿灯亮灭、接受检测信号和设定时间,外接口亦能方便的输出控制信号。

(2)路口交通灯模块:该模块主要用来显示车辆通行状况。选用高亮度的红、黄、绿发光二极管,通过单片机外部输出I/O口指示各方向车辆通行情况。

(3)数码管显示模块:在交通灯上方安装一个显示绿灯通行时间、红灯等待时间和黄灯提醒时间的显示电路,采用数码管显示电路比较直观。

(4)电源模块:由于整个系统采用的电源电压只需+5V,故利用实验室的直流电源直接供电。

(5)矩阵键盘:用于本地设定时间,正常模式和智能模式的切换。

第3章 系统各模块的硬件设计

该系统能够真实地模拟交叉路口交通灯的指挥作用。在系统中设置了两组红、黄、绿信号灯,其中南北主通道的一组信号灯用来指挥南北方向道路上的车辆通行,还有一组东西次通道的信号灯用来指挥东西方向道路上的车辆通行。为了能够直观的显示红、黄、绿灯分别等待的时间,该系统配置了四个LED 数码

管,其中前两个数码管用来显示主通道的红、黄、绿信号灯的等待时间,后两个数码管用来显示次通道的红、黄、绿信号灯的等待时间。时间的显示采用倒计时的显示方式,并且主次通道上的绿、黄灯的等待时间可以通过4*4的矩阵键盘中前0~9个键来修改(前0~9个键的键值对应的就是0~9)。总的来讲,该系统主要包括以下五个模块:电源模块、信号灯模块、显示电路模块、单片机控制模块、按键电路模块。

3.1 电源模块设计

STC 单片机USB 下载线原理图,也可以用USB 口和电脑进行串口通信PL-2303hx 的USB 转TTL 电平串口的电路。如图3-1所示。

1) 电脑的原有的串口,叫作RS232接口,这是一种cmos 接口,接口电压从

-15v 到+15v之间,而单片机C51都是TTL 电平,电平电压只用0v 或是5v 两种。用这个电脑做出来的就是单片机上用的TTL 电平,所以,不要再接MAX232芯片了。这是它的一大好处。

2) 电路可以提取出USB 接口的+5v电压,正好用于C51单片机的使用,非

常方便。另外PL-2303hx 还能对外提供一个+3.3v的电压,这个电压,对于AVR 单片机,非常合适。

图3-1 USB-TTL下载器原理图

3.2 交通灯模块设计

3.2.1信号灯模块设计

信号灯模块可模拟控制十字路口的车辆通行和暂停情况。每个方向均有红、黄、绿三个发光二极管,用来指挥各个方向上车辆的通行情况。在实验中,我设定南北方向为主通道,东西方向为次通道,且主、次通道信号灯的转换顺序均为:绿—>黄—>红;红—>绿。绿灯表示允许通行;红灯表示禁止通行;黄灯表示等待时间,虽然红灯和黄灯时间可任意修改,但等式T 主红=T次黄+T次绿与等式T 次红=T主黄+T主绿恒成立。主通道的信号灯接单片机的P2.3~P2.5口,次通道的信号灯接

单片机的P2.0~P2.2口。当单片机端口为低电平时二极管导通。其原理图如图3-2所示。

图3-2 信号灯模块原理图

图3-2中的电阻起限流作用,发光二极管的工作电压一般在2~

3.6V ,工作电流为10mA 以下,设定工作电压为3V ,工作电流为10mA ,因为单片机I/O口电压为5V ,故限流电阻应取200Ω左右,本设计取标称值300Ω,从而较好的达到了限流的目的。

3.2.2 倒计时显示模块设计

倒计时显示系统的主要功能是对红、黄、绿灯的延时时间进行倒计时,并通过数码管直观的显示,从而给车辆驾驶员以提示。这里使用4个共阴极的7段数码管SM420364作为显示设备,主次通道分别占用两个数码管。一个显示十位,一个显示个位,且显示方式采用动态扫描方式。

由于东、西方向的信号灯状态一致,所以东、西方向只需一对数码管用于倒计时显示。同理,南、北方向也只需一对数码管。所以,在系统中只需要考虑四位数码管显示电路,其中东西方向两位,南北方向两位,两位数码管可以显示时间的范围为0~99秒完全可以满足系统的要求,数码管显示模块原理图如图3-3所示。

图3-3 数码管显示模块原理图

数码管的段选位接在单片机的P0口,由于STC89C52单片机的P0口内部没

有上拉电阻,驱动电流很小,同时数码管需要较大的驱动电流,因此需要接上拉电阻。

数码管的位选采用9013三极管,由于数码管中每段LED 的驱动电流为10mA 左右,8段就为80mA ,因此三极管集电极电流为80mA 。设定9013的放大倍数是200,则三极管的基极电流为0.4mA ,单片机I/O口电压为5V ,故9013基极可以

取10k Ω的电阻,使三级管工作在放大状态,从而驱动数码管工作。

3.3 单片机控制模块设计

单片机是由运算器、控制器、存储器、输入设备以及输出设备共五个基本部分组成的。单片机是把包括运算器、控制器、少量的存储器、最基本的输入输出口电路、串行口电路、中断和定时电路等都集成在一个尺寸有限的芯片上。

通常,单片机由单个集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器、存储器和I/O接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。

在STC89C52中有四个双向I/O端口P0 ~ P3口,每个端口都是由锁存器、输出驱动器、输入缓冲器组成。当CPU 控制系统与外部设备交换信息时,都是通过端口锁存器进行的。四个I/O端口都可作输出输入使用,其中P0和P2口通常用于对外部存储器的访问。

接通锁存器时,P0口作为双向I/O使用,如P0口的锁存器的值为1,使输出驱动器中的场效应管截止,引脚空,此时端口可作高阻输入。锁存器的值为0时,下面的场效应管导通,输出为0。P0口作为地址/数据总线口使用时,由“控制”线控制将电子开关接通至“地址/数据”端,分别输出扩展外存的低8位地址A0 ~ A7和数据D0 ~D7。一般情况下,当P0口作输入输出线使用时,都要外接拉高电阻。

在P1、P2、P3端口内,都接有内部上拉电阻,此上拉电阻分为固定部分和附加部分,当端口的状态要从0变为1时,在发生变化的哪个机器周期的S1P1和S1P2接通附加的拉高电路以增加变化的速度,否则这个状态的变化将十分缓慢。附加的拉高电路允许通过的电流比普通的上拉电阻大100倍。

STC89C52有40条引脚,分为端口线、电源线和控制线三类。如图3-4为STC89C52的引脚结构图:

89C52

图3-4 89C52引脚图

3.3.1 单片机时钟电路设计

89C52的外接晶体引脚为XTAL1和XTAL2, MCS-51的时钟可以利用它内部的振荡器产生,只要在XTAL1、XTAL2引脚上外接定时反馈电路,内部振荡器便自激振荡,产生时钟输出到内部的定时控制逻辑。定时反馈电路一般为石英晶振和电容组成的并联回路。这种方式称为内部方式,这种方式的外部元件连接如图3-5所示。如果振荡器已起振,则在XTAL2引脚上输出3V 左右的正弦波。

图3-5 时钟电路

3.3.2 单片机复位电路设计

单片机在启动时都需要复位,以使CPU 及系统各部件处于确定的初始状态,并从初态开始工作。89系列单片机的复位信号是从RST 引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果RST 引脚上有一个高电平并维持2个机器周期(24个振荡周期) 以上,则CPU 就可以响应并将系统复位。单片机系统的复位方式有:手动按钮复位和上电复位。

本设计采用手动按钮复位,需要人为在复位输入端RST 上加入高电平。一般采用的办法是在RST 端和正电源Vcc 之间接一个按钮。当人为按下按钮时,则Vcc 的+5V电平就会直接加到RST 端。手动按钮复位的电路如所示。由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求。根据实际操作的经验,下面给出这种复位电路的电容、电阻参考值。C=10uF,Rl=10K,R2=1K,如图3-6所示。

图3-6 复位电路

3.4按键电路模块设计

本系统需要的按键数量较多,为了减少I/O口的占用,将按键排列成矩阵形式,如图3-7所示。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。

图3-7 矩阵键盘

矩阵键盘的工作过程可分为两步:第一步是CPU 首先检测键盘上是否有键按下;第二步是识别哪一个键按下。

检测键盘上是否有键按下的处理方法是:将列线送入全扫描字,读入行线的状态来判别。

识别键盘中哪一个键按下的处理方法是:将列线逐列置成低电平,检查行输入状态,称为逐列扫描。

第4章 系统软件设计

4.1设计思路

本设计需在任意时刻均可以切换模式或者修改时间,设计成用一个按键切换模式。三个按键修改时间,分别修改主通道通行时间、次通道通行时间、黄灯时间,且两种模式下的时间互不影响。在红绿灯显示的同时由数码管倒计时显示时间,从而直观的观察各个通道的通行时间。在该系统中还有一个按键代表有人来。 时间修改分别用13键、12键、11键实现,在不同的模式下改变不同寄存器中的数据,从而使两个模式下的时间独立。

数码管采用动态显示方式,编写动态显示程序时需要注意 :

1) 需将要显示的数码或字符转换为段码,一般通过查表的方法进行; 2) 通过位控逐位轮流点亮每个LED ,并保持每位点亮1~2ms ; 3) 在数据存储器中分配和显示器位数相同连续单元作为显示缓冲区,每个单元对应一位显示器,需更新显示器内容时,只需修改缓冲区的内容,显示子程序从显示缓冲区取得要显示的内容。

4.2软件总设计流程

89C52单片机和其开发应用系统具有语言简洁,可移植性好,表达能力强,表达方式灵活,可进行结构化设计,生成代码质量高,使用方便等诸多优点。

主程序的设计应实现以下几个功能: 1) 初始化,开中断;

2) 普通模式和智能模式之间的切换; 3) 调用相应的时间修改子程序;

4) 当在智能模式下时,发出有车来的信号。

主程序流程图如图4-1所示。

图4-1 主程序流程图

4.3普通模式的软件设计

普通模式中设置了3个标志,分别为flag1、flag2、flag3。通过中断定时,给标志变量赋值,标志变量值的不同就代表着不同的状态。因此,普通模式是结合中断程序共同实现。中断服务程序的功能主要包括不同状态下的时间计时、状态的循环切换和更新显示等。

采用中断系统改善了计算机的性能,主要表现在以下几个方面:

1) 有效地解决了快速 CPU与慢速外设之问的矛盾 ,可使 CPU与外部设备并行工作,大大提高了工作效率;

2) 可以及时处理控制系统中许多随机产生的参数与信息,即计算机具有实时处理的能力,从而提高了控制系统的性能;

3) 使系统具备了处理故障的能力,提高了系统自身的可靠性。

普通模式子程序流程图如图4-2所示,在普通模式下中断程序流程图如图4-3所示。

图4-2 普通模式子程序流程图

图4-3 普通模式中断程序流程图

4.4智能模式的软件设计

智能模式中设置了2个时间标志和1个是否有车来的标志,分别是inl1、inl2、car 。

通过中断定时,给标志变量赋值,标志变量值的不同就代表着不同的状态。因此,智能模式同样是结合中断程序共同实现。中断服务程序的功能主要包括不同状态下的时间计时、状态的循环切换和更新显示等。在实际程序中,普通模式的中断程序和智能模式的中断程序均在T0中断中实现,为了便于理解,故将两个模块下的中断程序分开给出。

智能模式子程序流程图如图4-4所示,在智能模式下中断程序流程图如图4-5所示。

图4-4 智能模式子程序流程图

图4-5 智能模式中断程序流程图

4.5 T0中断的软件设计

由于在主程序中,设置了中断的定时时间为50ms 。当主程序执行到了50ms 时,T0的值就会溢出,此时单片机的CPU 就要立即处理中断服务子程序。由于定时器T0工作在方式1(16位的定时器),该种工作方式没有初值重装的功能,

所以在中断服务子程序中还要给T0重新赋初值。之后通过布尔量mode1的值判断是执行普通模式下的中断服务程序还是智能模式下的中断服务程序,分别如图4-3和图4-5所示。

图4-6 T0中断程序流程图

第5章 系统调试与数据分析

5.1 硬件电路的制作和调试

5.1.1 常见的硬件故障

1)逻辑错误

样机硬件的逻辑错误是由于设计错误或加工过程中的工艺性错误而造成的,包括错线,开路和短路等等,其中短路是最常见的故障。 2)元器件失效

元器件失效的原因有两个方面,一是器件本身应经损坏或性能不符合要求;二是由于组装错误造成的元器件失效,如电解电容,二极管的极性错误或集成块安装方向错误等。 3)性差

若样机中存在电源故障,则加电后将造成器件损坏。电源故障包括电压值不符合设计要求,电源引出线和插座不对应,电源功率不足和负载能力差等。

5.1.2 硬件的调试方法

1)脱机调试

脱机调试是在样机加点之前,先用万用表等工具,根据硬件电气原理图和装配图,仔细样机线路的正确性,并核对元器件型号,规格和安装是否符合要求。仔细检查各点电压是否正常。在实验中,若检查系统时钟是否正常工作,则可用万用表直流电压档测量XTAL1与XTAL2两端间的电压,检测到电压若为2.5V 左右,则视为正常工作。 2)联机调试

通电后,执行读写指令,对用户样机的存储器、I/O端口进行读写和逻辑检查等操作,用示波器等设备观察波形。通过对波形的观察分析,发现和排除故障。在实验中,若检查检测电路是否正常工作,则可用万用表直流电压档测量检测电路的输出端与地之间的电平,正常情况下,当没有物体靠近红外对管时,电压表应该测得4.5v ~5v 左右;当有物体靠近红外对管时,电压表应该测得0.2v ~0.5v 左右。

5.3 软硬件调试分析

在软硬件联调时,按基本功能依次调试。当电路通上+5v电源后,先观察正常模式下主通道通行时间是否是15s 、次通道通行时间是否是10s 、黄灯时间是否是4s ,在初值正确的情况下,看看数码管的显示时间是否和信号灯的点亮同步。如果有错误,则重新看源程序;否则,继续看智能模式下的状态。在按下15键之后,看系统是否能自动从正常模式切换到智能模式。如果不能切换,说明扫描程序或者主程序对15键的操作有问题;如果正常切换,则观察数码管是否全灭、信号灯的状态是否为主通道常绿次通道常红。对于修改时间,仍然依次调试,哪里有问题就立即解决。

5.4 测试结果分析

本系统可以实现的功能如下:

1) 上电为普通模式,且默认主通道通行时间为15s ,次通道通行时间为10s ,黄灯时间为4s 。

2) 在任意时刻,按下15键,可以实现普通模式和智能模式的切换。 3) 在普通模式下,按13键可改变的主通道的通行时间,按12键可改变次通道的通行时间,按11键可改变黄灯时间,按0~9输入所需的时间,按相应的键值确认退出。

4) 在智能模式下,按12键可改变次通道的通行时间,按11键可改变黄灯时间,按0~9输入所需的时间,按相应的键值确认退出。普通模式和智能模式下的信号灯设定的时间是相互独立、互不影响的。

5) 在信号灯点亮的同时,数码管也倒计时显示相应的信号灯设定的时间,且与信号灯同步变化。从而直观的显示某一状态的剩余时间,给车辆司机以提醒。

在智能模式下,当没有小车来时,信号灯的状态为主通道常绿、次通道常红;当有小车来时,原来的常红、常绿初态被改变,此时主道的绿灯跳变成黄灯、次道的红灯跳变成绿灯。在有车来的情况下,主通道黄灯4s ,次通道通行10s 。

第6章 总结与展望

基于单片机的智能交通灯控制系统充分利用STC89C52单片机芯片的功能,提高了系统的可靠性和稳定性。系统设计简便、实用性强、操作简单、程序可靠,实现了两种情况下交通灯的正常指示和倒计时功能。并实现了普通模式和智能模式任意切换、主次通道通行时间和等待时间任意修改等功能。系统在硬件设计上充分考虑到了可扩展性,经过一定的添加或改造,很容易增加功能,如加入开关控制位选和控制单路,循环等功能。

对于该系统设计存在的不足之处是没有实现上位机与上位机之间的控制与传输,此外,虽然具有初步的视觉智能,但还比较低级,如能进行流量检测,运用到交通等的控制中,来计算交通控制点之间的距离,对于更合理的安排红、绿灯的持续时间,使城市的交通管理更加人性化。

参考文献

[1]徐爱钧《智能化测量控制仪表原理与设计》(第二版)[M].北京:北京航空航天大学出社,2004.

[2]吴金戌、沈庆阳、郭庭吉《8051单片机实践与应用》[M].北京:清华大学出版社,2002.

[3]谢自美《电子线路设计·实验·测试》(第三版)[M].武汉:华中科技大学出版社,2006.

[4] 谢维成、杨加国主编《单片机原理与应用及C51程序设计》[M].北京:清华大学出版社,2006.

[5]杨立、邓振杰、荆淑霞《微型计算机原理与接口技术》[M].中国铁道出版社,2006.

[6]黄智伟《全国大学生电子设计竞赛技能训练》[M].北京:北京航空航天大学出版社,2007.

[7]高峰,《单片微型计算机与接口技术》[M].北京:科学出版社,2003. [8]华成英、童诗白主编,《模拟电子技术基础》(第四版)[M].高等教育出版社,2006.

[9]黄海萍、陈用昌编《微机原理与接口技术实验指导》[M].北京:国防工业出版社,2004.

致谢

历时四周的课程设计已经结束了,虽然短暂,但是这段时间是充实的、美好的、有意义的。

经过自己不断的努力以及薛波的耐心指导和热情帮助,本设计已经基本完成。在这段时间里,薛老师严谨的治学态度和热忱的工作作风令我十分钦佩,他的唯一目的就是要求我们在这段时间里能够学到一些知识,而不是浑浑噩噩的浪费时间,他的指导使我受益非浅。同时我们电信学院实验室的开放也为我的设计提供了良好的实训环境。在此对刘老师和院领导表示深深的感谢!

通过这次电子综合实训,使我深刻地认识到学好专业知识的重要性,也理解了理论联系实际的含义,并且检验了大学四年的学习成果。虽然在这次设计中对于知识的运用和衔接还不够熟练。但是我将在以后的工作和学习中继续努力、不断完善。这四周的课程设计是对过去所学知识的系统提高和扩充的过程,为今后的发展打下了良好的基础, 而且为我们下学期的毕业设计提供了模板。

由于自身水平有限,设计中一定存在很多不足之处,敬请老师批评指正。

附录1 电路原理图

硬件电路原理图:

附录2 程序清单

#include #include

#define uchar unsigned char #define uint unsigned int uchar keyon;

//sbit control=P3^3; p2=0;

int sn_g_time,ew_g_time,sn_y_time,ew_y_time,sn_r_time,ew_r_time; int ew_g_time1,sn_y_time1,ew_y_time1,ew_r_time1,sn_r_time1; int sntime=0,ewtime=0,ytime=0; int sntime1=0,ewtime1=0,ytime1=0;

int sg,eg,sy,ey,sr,er,sg1,eg1,sy1,ey1,sr1,er1; char mode=1;

bit model=1; //模式标志

char flag1,flag2,flag3; //普通模式的标志 char inl1,inl2; //智能模式的标志 char car,n=0,m=0;

int RR1=0,RR2=0,RR3=0,RR4=0;//普通模式的寄存器 int TT1=0,TT2=0,TT3=0; //智能模式的寄存器

char code tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00}; uchar data buffer[4]={0}; uchar data buf[2]={0};

/**************************按键扫描***************************************/ void delay(uint z) {

int x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--); }

uchar key() { uchar keyon,temp; P1=0x0f; delay(1); temp=P1^0x0f; switch(temp) { case 1:keyon=0;break; case 2:keyon=1;break; case 4:keyon=2;break;

case 8:keyon=3;break; default:keyon=16; } P1=0xf0; delay(1); temp=P1>>4^0x0f; switch(temp) { case 1:keyon+=0;break; case 2:keyon+=4;break; case 4:keyon+=8;break; case 8:keyon+=12;break; } return keyon; }

void smg_display(int sn,int ew) //数码管显示 { buffer[0]=sn/10; buffer[1]=sn%10; buffer[2]=ew/10; buffer[3]=ew%10; P3=0x8f;P0=tab[buffer[0]];delay(3); P3=0x1f;P0=tab[buffer[1]];delay(2); P3=0x2f;P0=tab[buffer[2]];delay(2); P3=0x4f;P0=tab[buffer[3]];delay(2); }

void common() //普通模式 { if(flag1==1) { if(flag2==1) { if(flag3==1) { P2=0xf5;//sn_red=0;ew_yellow=0; smg_display(sr,ey); if(n==20) { sr--; ey--; n=0; } } else

{ P2=0xf3;//sn_red=0;ew_green=0; smg_display(sr,eg); if(n==20) { sr--; eg--; n=0; } } } else { P2=0xee;//sn_yellow=0;ew_red=0; smg_display(sy,er); if(n==20) { sy--; er--; n=0;} } } else { P2=0xde;//sn_green=0;ew_red=0; smg_display(sg,er); if(n==20) { sg--; er--; n=0;} } }

void intelligent( ) //智能模式 { P0=0x00; P2=0xde;//sn_green=0;ew_red=0; if(car==1) { if(inl1==1) { if(inl2==1) { P2=0xf5;//sn_red=0;ew_yellow=0; smg_display(sr1,ey1);

if(m==20) { sr1--; ey1--; m=0;} } else { P2=0xf3;//sn_red=0;ew_green=0; smg_display(sr1,eg1); if(m==20) { sr1--; eg1--; m=0;} } } else { P2=0xee;//sn_yellow=0;ew_red=0; smg_display(sy1,er1); if(m==20) { sy1--; er1--; m=0;} } } }

void zero_off(uchar *p) //去零函数 {

uchar i;

for(i=0;i

if(*p==0) {*p=10;p++;} else break; } }

void sn_display(int snew) { buf[0]=snew/10; buf[1]=snew%10; zero_off(buf);

P3=0x2f;P0=tab[buf[0]];delay(2); P3=0x4f;P0=tab[buf[1]];delay(2); }

void chage_sntime() { P3=0x00; while(1) { if(P1!=0xf0) { keyon=key(); while(P1!=0xf0); if(keyon10) { if(keyon==13) //再按13键,确定并退出 { sn_g_time=sntime; sntime=0; return; } } } sn_display(sntime); } }

void ew_display(int snew) { buf[0]=snew/10; buf[1]=snew%10; zero_off(buf); P3=0x2f;P0=tab[buf[0]];delay(2); P3=0x4f;P0=tab[buf[1]];delay(2); }

void chage_ewtime() {

P3=0x00;

while(1) { if(P1!=0xf0) { keyon=key(); while(P1!=0xf0); if(keyon10) { if(keyon==12) //再按12键,确定并退出 { if(model==1) { ew_g_time=ewtime; ewtime=0; return; } else if(model==0) { ew_g_time1=ewtime1; ewtime1=0; return; } } } } if(model==1) ew_display(ewtime); else if(model==0) ew_display(ewtime1); } }

void chage_y_time() {

P3=0x00; while(1) { if(P1!=0xf0) { keyon=key(); while(P1!=0xf0); if(keyon9) { if(keyon==11) //再按11键,确定并退出 { if(model==1) { sn_y_time=ew_y_time=ytime; ytime=0; return; } else if(model==0) { sn_y_time1=ew_y_time1=ytime1; ytime1=0; return;} } } } if(model==1) sn_display(ytime); else if(model==0) sn_display(ytime1); } }

/***************************主函数**********************************/ void main() { car=0; sg=sn_g_time=15; eg=ew_g_time=10;

eg1=ew_g_time1=10; sy=ey=sn_y_time=ew_y_time=4; sy1=ey1=er1=sn_y_time1=ew_y_time1=4; sr=sn_r_time=ew_g_time+ew_y_time; sr1=sn_r_time1=ew_g_time1+ew_y_time1; er=ew_r_time=sn_g_time+sn_y_time; TMOD=0x01; //中断初始化 IE=0x82; TH0=(65536-50000)/256; TL0=(65536-50000)%256; TR0=1; while(1) { P1=0xf0; if(P1!=0xf0) { keyon=key(); while(P1!=0xf0); if(keyon==15) //15键,模式选择 { mode++; model=(bit)(mode&0x01); } if(keyon==14) //14键,有车来 car=1; if(keyon==13) //13键,修改主通道绿灯时间 chage_sntime(); if(keyon==12) //12键,修改次通道绿灯时间 chage_ewtime(); if(keyon==11) //11键,修改黄灯时间 chage_y_time(); } if(model==1) //modle=1,普通模式 { common(); eg1=ew_g_time1; //智能模式赋初值 sy1=ey1=er1=sn_y_time1=ew_y_time1; sr1= sn_r_time1=ew_g_time1+ew_y_time1; } else if(model==0) { intelligent(); //modle=0,智能模式 sg=sn_g_time; //普通模式赋初值 eg=ew_g_time; sy=ey=sn_y_time=ew_y_time;

sr=sn_r_time=ew_g_time+ew_y_time; er=ew_r_time=sn_g_time+sn_y_time; } if(sg==0) sg=sn_g_time; if(eg==0) eg=ew_g_time; if(sy==0) sy=sn_y_time; if(ey==0) ey=ew_y_time; if(sr==0) sr=sn_r_time; if(er==0) er=ew_r_time; if(eg1==0) eg1=ew_g_time1; if(sy1==0) sy1=sn_y_time1; if(ey1==0) ey1=ew_y_time1; if(sr1==0) sr1=sn_r_time1; if(er1==0) er1=ew_y_time1; } }

/**************************T0中断服务子程序*******************************/ void time0_int() interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; if(model==1) { TT1=TT2=TT3=0; car=0; m=0; if(RR1==sn_g_time*20) {flag1=1; if(RR2==sn_y_time*20) {flag2=1; if(RR3==ew_g_time*20) { flag3=1; if(RR4==ew_y_time*20) { RR1=RR2=RR3=RR4=0; return;} else { RR4++;n++; return; } } else {

RR3++;n++; flag3=0; return;} } else { RR2++;n++; flag2=0; return;} } else {RR1++;n++; flag1=0; return;} }

else if(model==0) { RR1=RR2=RR3=RR4=0; n=0; if(car==1) {if(TT1==sn_y_time1*20) {inl1=1; if(TT2==ew_g_time1*20) {inl2=1; if(TT3==ew_y_time1*20) {TT1=TT2=TT3=0; car=0; return;} else { TT3++;m++; return; } } else { TT2++;m++; inl2=0; return;} } else { TT1++;m++; inl1=0; return; }

}

}

else return;

}

附录3 实物图

附录4 元器件清单


相关文章

  • 电子信息工程毕业设计题目大全
  • 1 压力容器液位测量 2 多功能遥控小车 3基于RS232的仓库多点温度.湿度.气 4压检测系统 5自动控制升降旗系统 6基于RS485的温度报警系统 7基于模糊算法的水温控制系统的设计 8多分机电话交换机 9简易火灾自动报警系统 10基于 ...查看


  • 最新电子信息工程毕业论文题目参考
  • 1. 家庭防盗报警系统 2. 单片机实现单步进电机及8位流水灯控制的设计 3. 篮球竞赛计时系统 4. 单片机89C51在直流调速控制系统中的应用 5. 八路数字抢答器 6. 基于51机的直流电机设计 7. 基于51单片机的步进电机控制系统 ...查看


  • 电子信息类毕业设计课题
  • 电子信息类毕业设计课题 [电子通讯] 出租车计价系统 [过程控制] 基于单片机实现单回路智能调节.. [电子通讯] 脉冲数字频率计 [机床仪表] 仪表机床数控系统的设计(论文.. 磁流体发电论文 [电子通讯] 基于VC++6.0的PC 机与 ...查看


  • 电气自动化毕业论文参考题目
  • 电气自动化毕业论文参考题目 1. PLC控制花样喷泉 2. PLC在数控车床控制系统中的应用 3. PLC控制五层电梯设计 4. 超高压水射流机器人切割系统电气控制设计 5. 基于PLC的恒压供水系统设计 6. PLC交通灯设计 7. 双恒 ...查看


  • 机电一体化论文题目一览表
  • 1 毕 业 论 文(设计)题 目 2 基于AD9851的跳频控制电路设计 3 基于伪随机序列噪声发生器设计 4 基于FPGA的延时倍频电路PLL设计 5 基于FPGA的无线搜寻系统设计 6 基于FPGA的电机测速显示设计 7 基于FPGA的 ...查看


  • 基于单片机的交通灯控制器设计
  • The traffic light controller design based on single chip microcomputer Abstract This design is designed for intersection ...查看


  • 杭电毕业设计开题报告--高峰期智能绿波带交通信号灯控制系统的设计 冯廷松
  • 杭州电子科技大学 毕业设计(论文)开题报告 题 目 系 专 业 姓 名 班 级 学 号 指导教师 下沙6号大街高峰期智能信号灯控制系统设计 电子通信系 电子信息工程 冯廷松 12091811 12918107 查丽斌 一.综述本课题国内外研 ...查看


  • 通信工程毕业设计题目精选
  • 我7岁1就始做做开发的推批销,就更加员会到挣体的不轻钱.易活生的艰了.人家做辛个小8时我就做1,6小时. 个为失败少理找由 多成为找功法 大多方数想要改革这人世界个 不晓得即时却小事做从起 信工程通毕业计题设精选目 . 1智压力能传感系统器 ...查看


  • 基于单片机的循迹小车的设计
  • 毕业论文 题目院系 专业学生姓名 学号指导教师 职称 目录 1绪论....................................................................................... ...查看


热门内容