交通灯时序控制毕业论文.doc_第1页
交通灯时序控制毕业论文.doc_第2页
交通灯时序控制毕业论文.doc_第3页
交通灯时序控制毕业论文.doc_第4页
交通灯时序控制毕业论文.doc_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要当今时代是一个自动化时代,交通灯控制等很多行业的设备都与计算机密切相关。因此,一个好的交通灯控制系统,将给道路拥挤、违章控制等方面给予技术革新。随着大规模集成电路及计算机技术的迅速发展,以及人工智能在控制技术方面的广泛运用,智能设备有了很大的发展,是现代技术发展的主流方向。本文介绍了一个基于单片机的交通灯系统的设计。该交通灯控制系统可以实现的功能有:对某单路口主要交通要道进行时序控制,各路口有固定的工作周期,并且能够在道路拥挤时能够改变对应方向的时间参数,确保交通的顺畅。关键词 单片机;交通灯;参数切换;外中断;应用Abstract: The time is a automation times nowadays, and traffic light waits for much the industry equipment to go hand with the computer. Therefore, a good traffic light system will give road aspect such as being crowded and control against rules a technical improvement. With the fact that the large-scale integrated circuit and the computer technology develop, intelligent equipment has had very big development. The main current is becoming that modern science and artificial intelligence broad in the field of control technology develops into appliance directly. The text is designed to introduce a intelligence traffic light system actually. The main function of this intelligent traffic light system: The crossing carries out supervisory control on a main traffic affairs of some downtown area; Every crossing has the fixed duty period, charges centre for being able to change its period and make sure the traffic is smooth and unobstructed.Key words: Microcontroller;Traffic Lights;External interruption;Appliance目 录1 绪 论11.1 本课题的研究意义及必要性11.2相关领域国内外应用的现状及不足11.3整个设计的应用与发展趋势22 系统设计分析与主要思路32.1 设计任务明细32.2 设计主要思路及原理32.3 系统初步分析33 系统硬件设计53.1 功能模块划分53.2 系统模块设计图104 系统软件设计134.1 初始化以及系统端口定义134.2 通道选择的子函数134.3 两个外部中断144.3 定时器中断145 系统调试与实现165.1 系统实图165.2 系统硬件的硬件描述165.3 软件的调试175.4 功能的实现18结 束 语19致 谢20参考文献21附录A 部分代码221 绪 论1.1 本课题的研究意义及必要性交通是当今世界上一大热门课题,也是世界上多发性灾害中发生频率较高的一种灾害,它给人们带来便捷的服务,也威胁着人们的生命安全,是世界各国人民所面临的一个共同的问题。交通对于社会的工业经济和人们的生活生产中有着十分重要的意义。城市道路交通自动控制系统的发展是以城市交通信号控制技术为前导,与汽车工业并行发展的。在其各个发展阶段,由于交通的各种矛盾的不断出现,人们总是尽可能地把各个历史阶段当时的最新科技成果应用到交通自动控制中来,从而促进了交通自动控制技术的不断发展。随着社会的日益进步,人民的生活质量也很大部分的提高,人们出行的安全问题也成了重要话题。因此,如何防止交通事故,保护人们的出行安全,减少伤亡成了至关重要的问题。而十字路口是交通事故最多发生的地点,十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。而交通控制系统是近代社会随着物流、出行等交通发展产生的一套独特的公共管理系统。要保证高效安全的交通秩序,除了制定一系列的交通规则,还必须通过一定的科学技术手段加以实现。而近年来随着单片机和传感技术的迅速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新,自动检测领域发生了巨大变化,交通自动检测控制方面的研究有了明显的进展,并且必将以其优异的性能价格比,逐步取代传统的交通控制措施。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。1.2相关领域国内外应用的现状及不足当前世界各国广泛使用的最具代表性却有实施的城市道路交通信号控制系统有英国的TRANSYT与SCOOTS交通控制系统和澳大利亚的SCATS系统。当今的中国的社会面临人口众多,道路交错复杂,车流量大,控制要求比较严格复杂的各个现状,尤其是面临西部大开发的特殊情况,城市化进程向西部进行。特殊的地质、特殊的环境对交通灯的发展提出了更高的要求。我国的交通灯发展从简单到复杂,实现的功能越来越多,目前,国内的交通灯一般设在十字路门,在醒目位置用红、绿、黄三种颜色的指示灯。加上一个倒计时的显示计时器来控制行车。随着我国经济的高速发展,人们生活水平的提高,人们对各种交通车辆的需求越来越大,城市的交通拥挤问题日趋严重,因此提高城市路网的通行能力、实现道路交通的科学化管理迫在眉睫。但就国内来说,最近几年发展迅猛,各地的发展状况良莠不齐,同样各厂家都在推出不同的换代产品,但是城市运输的现状和存在的问题中,借鉴国外城市交通管理的先进经验,强调建立城市交通管理体制的重要性,提出加强城市交通研究的交通规划,建立稳定的交通基础设施建设资金出道,实行公交优先政策,建立先进的交通优先政策,建立先进的交通信息系统等对策。而且国内交通管理方面的水平还欠发展,随着交通需求越来越旺盛,而我国城市中小交通管理和交通安全的现代化设施却做的不足,在车辆,道路和交通管理系统,城市交通信号控制系统,城市交通管制中应用人工智能技术,信息采集和信息提供技术等方面都与发达国家有很大差距。近几年,虽然有部分城市研究和引进一些国外先进的交通信号管理系统,但是由于交通管理设施不足等原因,我国交通事故率居高不下。城市车流行驶速度逐年下降,目前不少城市交通运量年年增长,但运输速度普遍下降,这都源于交通通信不佳。1.3整个设计的应用与发展趋势据了解,目前北京,天津等这些一线城市,发展相对成熟,产品更新较快。就最新的状况而言,国内最新的智能交通软件在向着多功能多元化的方向发展,一些软件提供厂商都会提供一整套解决方案。就国内情况而言:第一,未来的交通等系统将更加人性化,能更多的考虑到残疾人,盲人朋友的出行,例如增加电键式手动切换,升降式残障道路等。第二,更趋于智能化,这是很重要一点,将来的系统可能会增加各类传感器件,如红外,直接用于测量车速的,黑车牌直接识别的,以及查处直接传输报警信息的,等等第三,集成化 ,小型化,未来的交通控制系统肯定更深层的繁琐,复杂,这势必会加剧系统的集成化,小型化,更是实际应用的需要。例,对于突发事件导致的一个路口的指示工作瘫痪,可以立即应用小型,可移动交通小车,来达到交通指示效果。第四,无线连接传输,对于每一个交通系统,不管是大型十字路口,还是偏远的小型路口,都能做到与上位机的信息连接,保证信息的即时传输与接受。在国外交通信号机的发展历程中,自适应理论一直受到各研究机构的欢迎,比如上面所述的SCOOTS和SCATS系统。最近几年,国外仍偏向于引进自适应理论来对信号控制系统进行研制,特别是美国有十几个大学或研制机构正在研制自适应信号控制系统,具有代表性的有美国亚利桑那大学研制的RHODES。2 系统设计分析与主要思路2.1 设计任务明细本设计主要方案应用于大型十字路口的交通灯控制系统,东西南北在默认情况下的时间参数为30秒,系统一上电默认为南北方向的绿灯通行,系统LED的显示为倒计时显示方式(与现实应用一样),在倒数三位记零时,蜂鸣器上电响铃,然后在记零后红绿灯转换。本系统还另设两个方向的紧急通行切换,在紧急情况时,可以切换到另个方向的显示,时间参数将会随之增大,保证道路的畅通运行。2.2 设计主要思路及原理设计之初,首先了解所要做的内容,用哪种方法来做,最后要实现什么功能。而本设计是基于单片机原理来做的,一个交通灯的智能控制。所以我最开始先选择所需的硬件材料,然后设计并绘制硬件电路图,然后制作PCB并焊接好元器件,然后编写程序并将调试好的程序下载到单片机之中去,最后进行软硬件的综合调试,使所需的功能得以实现,并能连续运行。用单片机可以构成形式多样的控制系统、数据采集系统。例如十字路口的交通灯控制系统,工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。而根据单片机的程序特点,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性!其中的切换则是选择单片机的外中断,更加方便。2.3 系统初步分析(1)根据设计要求,本系统应该采用模块化的总体结构设计,依据实现的各种功能,把整个系统分成几个功能模块,使得系统简洁明了。同时使得系统程序可读性加强,方便程序的完善和修改。各模块之间联系紧密,共同构成完整的系统。(2)控制器设计首先要了解实际交通灯的变化规律,一个十字路口为东西南北走向,在东西、南北红黄绿灯的变化交替要采用延时技术,一般交通信号灯控制程序中使用软件延时,软件延时是靠执行一个循环程序以进行时间延迟。 软件定时的特点是时间精确,且不需外加硬件电路,但软件定时要占用CPU ,增加CPU 内存,因此软件定时的时间不宜太长。(3)系统程序中可以应用中断来实现各种功能。例如,当有紧急情况时,就可用中断发出一单脉冲向CPU 申请中断,单片机响应中断,运行中断服务程序,使东西南北四个方向全亮红灯,并延时时间,以便紧急车通过。经过认真的分析、确认,使交通灯控制器的功能能够实现、并不断完善。交通信号灯控制,基本上涉及单片机系统中扩展简单I/ O 接口的方法,数据输出程序的设计方法,模拟交通灯控制的方法;双色灯的使用,设计一个简单、实用的单片机交通灯控制器,系统能对交通更好的控制使交通能正常有效安全有序运行,是通行车辆自觉的按照交通法,遵守交通规则,这样一个交通控制器是可以实现的。即基于单片机框架下的硬件模块框架如图2.1所示:图2.1 硬件模块框架图3 系统硬件设计3.1 功能模块划分 (1)数码管显示模块对于一个完整的交通灯控制时间倒计时的显示起了重要作用,它显示了交通灯燃亮时间,由四组双为数码管显示四方向交通灯时间,其驱动电路如图3.1所示:图3.1 数码管驱动电路连接图(2)单片机控制模块系统全部的设计程序都装载在AT89S52单片机内部,它控制着整个系统的运作。各个模块部件连接到单片机的不同接口,AD转换器等信号输入部分,数码管、扬声器是输出部分。单片机通过内部程序的执行,实现各种功能,是控制器的中枢,如图3.2所示:图3.2 AT89S52各引脚图芯片主要功能介绍如下:1、拥有灵巧的8位CPU和在系统可编程Flash2、晶片内部具时钟振荡器(传统最高工作频率可至 12MHz)3、内部程序存储器(ROM)为 8KB4、内部数据存储器(RAM)为 256字节5、32 个可编程I/O 口线6、8 个中断向量源7、三个 16 位定时器/计数器8、三级加密程序存储器9、全双工UART串行通道芯片各引脚功能介绍:VCC: AT89S52电源正端输入,接+5V。VSS: 电源地端。XTAL1:单芯片系统时钟的反相放大器输入端。XTAL2:系统时钟的反相放大器输出端,一般在设计上只要在 XTAL1 和 XTAL2 上接上一只石英振荡晶体系统就可以动作了,此外可以在两引脚与地之间加入一 20PF 的小电容,可以使系统更稳定,避免噪声干扰而死机。RESET:AT89S52的重置引脚,高电平动作,当要对晶片重置时,只要对此引脚电平提升至高电平并保持两个机器周期以上的时间,AT89S51便能完成系统重置的各项动作,使得内部特殊功能寄存器之内容均被设成已知状态,并且至地址0000H处开始读入程序代码而执行程序。EA/Vpp:EA为英文External Access的缩写,表示存取外部程序代码之意,低电平动作,也就是说当此引脚接低电平后,系统会取用外部的程序代码(存于外部EPROM中)来执行程序。因此在8031及8032中,EA引脚必须接低电平,因为其内部无程序存储器空间。如果是使用 8751 内部程序空间时,此引脚要接成高电平。此外,在将程序代码烧录至8751内部EPROM时,可以利用此引脚来输入21V的烧录高压(Vpp)。ALE/PROG:ALE是英文Address Latch Enable的缩写,表示地址锁存器启用信号。AT89S52可以利用这支引脚来触发外部的8位锁存器(如74LS373),将端口0的地址总线(A0A7)锁进锁存器中,因为AT89S52是以多工的方式送出地址及数据。平时在程序执行时ALE引脚的输出频率约是系统工作频率的1/6,因此可以用来驱动其他周边晶片的时基输入。此外在烧录8751程序代码时,此引脚会被当成程序规划的特殊功能来使用。PSEN:此为Program Store Enable的缩写,其意为程序储存启用,当8051被设成为读取外部程序代码工作模式时(EA=0),会送出此信号以便取得程序代码,通常这支脚是接到EPROM的OE脚。AT89S52可以利用PSEN及RD引脚分别启用存在外部的RAM与EPROM,使得数据存储器与程序存储器可以合并在一起而共用64K的定址范围。PORT0(P0.0P0.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就以多工方式提供地址总线(A0A7)及数据总线(D0D7)。设计者必须外加一锁存器将端口0送出的地址栓锁住成为A0A7,再配合端口2所送出的A8A15合成一完整的16位地址总线,而定址到64K的外部存储器空间。PORT2(P2.0P2.7):端口2是具有内部提升电路的双向I/O端口,每一个引脚可以推动4个LS的TTL负载,若将端口2的输出设为高电平时,此端口便能当成输入端口来使用。P2除了当做一般I/O端口使用外,若是在AT89S52扩充外接程序存储器或数据存储器时,也提供地址总线的高字节A8A15,这个时候P2便不能当做I/O来使用了。PORT1(P1.0P1.7):端口1也是具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个LS TTL负载,同样地若将端口1的输出设为高电平,便是由此端口来输入数据。如果是使用8052或是8032的话,P1.0又当做定时器2的外部脉冲输入脚,而P1.1可以有T2EX功能,可以做外部中断输入的触发脚位。PORT3(P3.0P3.7):端口3也具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个TTL负载,同时还多工具有其他的额外特殊功能,包括串行通信、外部中断控制、计时计数控制及外部数据存储器内容的读取或写入控制等功能。(3)指示灯显示模块系统的正常运行是通过指示灯地显示来完成的,红灯停,绿灯行,其基本通行指示规则如图3.3所简示,顺序为abcd,:a b c d图3.3 系统交通指示图由单片机通过接口芯片来控制指示灯的燃亮情况和燃亮时间,以完成交通灯正常循环。而数码管亦通过单片机接口来控制,外置排阻起上拉作用,其P0口的线路连接如图3.4所示:图3.4 系统交通灯灯具内部电路连接图(4)声音报警模块系统由传感器检测,当有行车闯红灯时有蜂鸣器发出声音报警。单片机连接一个扬声器,它在一定频率的信号作用下发出声音。当单片机输出接口信号为1时发出声音,否则不发出声音,具体如图3.5所示:图3.5 系统蜂鸣器驱动电路3.2 系统模块设计图 系统在设计时,首先要设计出硬件板块PCB的走线,并钻好必要的孔,以方便后续的焊接。先准备好所要焊接的材料,然后准备松香和焊接的工具以及万用表进行短路测试,然后才能焊接,最后得到PCB反面的焊接结果图,如图3.6所示:图3.6 系统的模块电路PCB反面的走线对于本设计系统集成块的焊接,焊接顺序及细节如下:1、先将PCB焊盘用松香搪锡,一定用松香。2、集成块的管脚也搪锡,最先焊接的应该是单片机模块,先将单片机的管脚模片焊接,注意松香的应用,切不可短路。3、然后可以将红绿灯一个一个管脚焊接,然后是保护电阻部分、三极管,再是蜂鸣器,此时只用烙铁加热一下,以免烫伤其中线路。4、然后焊接数码管的管脚,注意不要损伤内部发光二极管,接下来焊接所对应的排阻部分,由于排阻之间过于狭窄,切不可短路。5、最后是复位按钮的焊接。焊接后注意万用表调试其是否短路。刚开始焊的时候很容易出问题,所以我先选择在一些废旧材料上进行练习。现将自己积累的一些经验讲述如下: 贴片元件和器件手工焊接提前应该做一些准备:1、贴片电阻等小件的焊接前,将焊盘搪少量的焊锡(尽量少,并均匀)。2、电烙铁温度以1秒左右能融化焊锡为最佳。3、然后用尖的镊子夹元件并摆好位置。4、烙铁头上有焊锡,不用特意保留。5、用烙铁头同时接触元件的焊点和电路板的焊盘,看到PCB的焊盘焊锡融化即可。再焊接另一头。如果觉得焊锡不足可以补。6、连接至系统电缆或其他电路板上的信号应在PCB的连接点处适当地滤波。7、在靠近器件外部振荡器引脚处放置外部晶体和其他振荡器元件(如果可行的话)。8、在器件的每个电源引脚处放置0.1F和1.0F的去耦电容,而且要尽可能地靠近芯片。这一点适用于板上所有的IC(集成电路)。注: 在焊接过程中,一定要注意实时监测自己的线路是否短路,所以事先一定要准备好万用表。在设计之初,要尽量把单片机模块放置在板材中间位置,便于尽可能的方便其管脚的应用与焊接,这样也可以避免管脚间的短路,具体如图3.7所示:图3.7 系统内部电路接线图4 系统软件设计4.1 初始化以及系统端口定义该系统主要是交通灯的循环闪烁程序,外加两个外中断程序部分。所以设计主要部分应先以主要的交通灯模块开始,附有一个程序复位就可以了。下面是在编写时定义时间变量、缓冲区、通道标示位以及上电默认方式:#include /头文件#define uchar unsigned char /宏定义#define uint unsigned intuchar code table=0xC0,0xF9,0xA4,0xB0, /共阳数码管段码表0 1 2 30x99,0x92,0x82,0xF8,0x80,0x90,0xFF;/4 5 6 7 8 9 灭uchar DAT; /显示时间变量uchar DISP2=0,0; /显示缓冲区uchar flag1=0; /通道选择标示位,上电默认南北uchar flag2=0;bit flag3=0;bit flag4=0;bit flag5=0;uchar num=0;uchar num1=30; /上电默认倒计时30s 在上述函数中,采用定义变量flag为通道变量,num为数码管显示的初闪烁数值。4.2 通道选择的子函数系统通道变量设计为flag,其中的变量符号Q代表北方向,H代表南方向,Z代表东方向,Y代表西方向。此子函数定义了函数之间通道变换规则,即时间参数与交通灯闪烁的配合,从而完成此系统的运行。void TDXZ()if(flag1=0&flag2=0) /南北通道打开ZCQH();if(flag1=0&flag2=1) /南北通道黄灯打开QHY();if(flag1=1&flag2=1) /东西通道打开ZCZY();if(flag1=1&flag2=0) /东西通道黄灯打开ZYY();4.3 两个外部中断此程序完成两个外中断的作用,主要配合两个紧急通道按钮来实现,紧急通道时间参数为50秒,一进入相应中断子程序,对应方向时间参数即进入50秒倒计,保证交通道口的正常交通。void TX0() interrupt 0flag4=0; flag3=flag3; if(flag3=1) flag1=0;flag2=0; num1=50; /外部中断0void TX1() interrupt 2flag3=0;flag4=flag4;if(flag4=1)flag1=1;flag2=1; num1=50;elseflag1=0;flag2=0; /外部中断14.3 定时器中断void T0_time() interrupt 1TH0=(65536-50000)/256;TL0=(65536-50000)%256;num+;if(num=20)num=0;if(num10) /满一秒加一次num1-;if(num1=3)flag2+;if(flag2=2)flag2=0;flag5=1; /蜂鸣器报警标示位if(flag5=1)BEEP=BEEP; if(num1=0)num1=30;flag1+; /通道转换一次if(flag1=2)flag1=0;flag3=0;flag4=0;flag5=0;BEEP=1; 5 系统调试与实现5.1 系统实图图5.1系统运行实图为系统提供的外部电源为右边接线的5V电源,图中央为单片机AT89S52的模块,四周为交通的主灯以及各灯的保护电阻,左边的数码显示管模块以及其排阻,上部为系统的蜂鸣报警器件,另附一复位按钮以及两个外中断按钮。整个系统外用电源是由四节干电池来提供的,包括一个复位按钮,两个紧急通道切换按钮,两个数码显示段,一个蜂鸣器,以及控制灯和单片机。系统运行时,连接到电源,四个方向的交通灯有规律的进行切换,时间参数为30秒,而紧急情况下的通道时间参数为50秒,而且可随时进行中断切换,复位按钮为任何时间的复位,按键后将恢复到上电的状态。5.2 系统硬件的硬件描述实现路口交通灯系统的控制方法很多,可以用标准逻辑器件、可编程序控制器PLC、等方案来实现。但是这些控制方法的功能修改及调试都需要硬件电路的支持,在一定程度上增加了功能修改及系统调试的困难。因此,在设计中采用单片机技术,应用目前广泛应用的C语言硬件电路描述语言,实现交通灯系统控制器的设计,利用开发集成开发环境进行综合、仿真,并下载到单片机器件中,完成系统的控制作用。在该系统中,交通灯、数码管、蜂鸣器属于输出部件,复位按键则属于输入部件。复位电路的作用是将单片机的寄存器复位,使程序指针回到最初位置!以便于系统运行时,程序是从最初位置开始执行,而不是中间某个位置!在交通灯系统中它可以处理意外情况,比如由于某种原因出现不正常,或者重新开始运行系统时,这时需要复位电路进行复位,否则你不知道系统什么时候才能从初始状态工作!5.3 软件的调试软件的主要部分就是四个方向交通灯的运行与切换,占整个程序设计的大半。在此部分设计完成时候,然后加入外部两个中断子程序。程序按照C语言的结构进行编写,最后在turbo2.0软件上运行测试,最后进行下载调试。但要在程序调试时注意一些问题,以免造成不便:1、不用的代码空间全部清为“0”,这可以在程序跑飞后再重新运行。在跳转指令前加两到三个NOP指令。这样也可以在程序跑飞后重新运行。2、在编写复杂的程序时不要将全部语句都写在main函数中,而要多利用函数,用一个函数来实现一个单独的功能。各函数之间除用参数传递数据外,尽量少出现耦合关系,这样便于分别检查和处理。3、如果系统提示的出错信息很多,应当从上到下逐一改正。有时显示出一大片出错信息往往使人感到问题严重,无从下手。其实可能只有一二个错误。例如,对使用的变量未定义,编译时就会对所有含该变量的语句发出出错信息。这时只要加上一个变量定义,就所有错误都消除了。4、通过上机发现错误称为动态检查。在编译时会给出语法错误的信息,调试时可以根据提示信息具体找出程序中出错之处并改正。应当注意的是有时提示出错的地方并不是真正出错的位置,如果在提示出错的行找不到错误的话应当到上一行再找。有时提示出错的类型并非绝对准确,由于出错的情况繁多且各种错误互有关联,因此要善于分析,找出真正的错误,而不要只从字面意义上找出错信息,钻牛角尖。5、有时,数据比较复杂,难以立即判断结果是否正确。可以事先考虑好一批“试验数据”,输入这些数据可以很容易判断结果正确与否。6、如果实在找不到错误,可以采用“分段检查”的方法。在程序不同的位置设几个printf函数语句,输出有关变量的值,逐段往下检查。直到找到在某一段中数据不对为止。这时就已经把错误局限在这一段中了。不断减小“查错区”,就能发现错误所在。5.4 功能的实现图5.2 系统实现实现状态图系统运行描述:一、系统一上电,系统默认南北方向为通行,默认倒计时为30秒,然后在最后三秒启动蜂鸣器;二、然后系统切换为东西方向通行,默认亦为30秒,也是在最后三秒启动蜂鸣器;三、两个方向的紧急通道按钮默认时间参数为50秒,保证交通的系统正常运行。内部程序运作:系统上电,单片机AT89S52管脚VCC得电,使单片机内部程序与各驱动模块运行,数码管和交通灯亦得电正常闪烁,且闪烁细节由单片机内部程序控制,起先为南北方向绿灯,东西方向红灯,初数码显示为30秒,在最后三秒时间时候,单片机控制蜂鸣器的端口得电,蜂鸣器开始鸣响,时间为三秒,然后切换到东西方向绿灯,南北方向红灯,数码变换到三十秒,亦在最后三秒的时候,单片机控制蜂鸣器的端口得电,蜂鸣器鸣响,时间为三秒。结 束 语经过将近半学期的学习和动手,关于智能交通灯时序控制系统的毕业设计基本完成!完成后,感慨颇多,而且设计的作品也有很多的缺点需要改进,但由于硬件连接的问题,已经不能改进,所以还是有点遗憾!所以根据本次设计的内容,下面做一下全面的总结和感想:(一)收获 毕业设计之初,首要工作就是收集资料,然后分析,确定实现的功能,然后做出基本硬件连接图,硬件连接完成后进行硬件的调试,确保硬件电路无错误,然后编写基本程序,由骨架然后扩张到整个程序。刚开始的时候电路板在实习的公司完成了一部分,由师傅带着学习焊接机巧,给我很大启发。其后的软件编程出现了很多问题,我在以前实验过程中的交通灯设计基础上进行整改,但出现了很多错误,在请教同学们的前提下,终于调试成功。(二)不足之处该智能控制系统还存在着很大的不足,主要有以下几个方面:首先,整体的设计比较简单,没有考虑到大系统所需要的各个方面,比如夜间行驶,以及数码管显示时间参数的更改,以及特殊地段的特殊需要。其次,该系统在通信联机设计上不合理,未能实现预期的联机下载功能,即没有串口可与上位机相连,做成了个死板。最后,整个板面的设计还欠考虑,导致正面需要裸线进行打洞连接,难以在实际生活中相应用。致 谢经过半年的努力,本次设计终于接近尾声。这次毕业设计,是对四年学业的一个总结,更是自己一个查缺补漏的机会,自己通过这次学习,把以前学过的知识又重新温习了一遍,使自己能够更条理的把握专业知识,更使自己通过自己劳动收获自己的成果,心灵上受到很大启发.我首先要感谢我的导师胡凤燕,作为一个动手能力比较差的学生,在做设计的时候有很多问题不太明白,而胡老师对我的构思以及论文的内容不厌其烦的进行多次指导和悉心指点,使我在完成论文的同时也深受启发和教育。其次,张彬、王文智,张延龙等同学也对我的硬件连接和调试进行了耐心的指点和帮助。而且他们还为我提供相关资料,帮助我学习,使我自己不仅在规定时间内完成了设计内容,而且学到了专业内更深层次的知识。再次,由衷的感谢答辩组的各位老师对学生的指导和教诲,通过老师们提供的这个平台,我学会了许多人生的哲理,学会通过自己的努力去做出属于自己的东西。谢谢老师们!参考文献1 杨素行. 模拟电子技术基础简明教程,高等教育出版社 1998 2 余锡存 曹国华.单片机原理及接口技术M.陕西:西安电子科技大学出版社,2000.73 雷丽文 等.微机原理与接口技术M.北京:电子工业出版社,1997.2 4 李朝青,单片机原理及接口技术M。北京:北京航空航天大学出版社,19985 李广弟,单片机基础M。北京:北京航空航天大学出版社,19926 王成勇,智能交通灯控制系统J,广东技术师范学院学报(04期),20067 何立民,单片机应用技术大全M。北京,北京航空航天大学出版社,19948 张毅刚,单片机原理及接口技术M。哈尔滨:哈尔滨工业大学出版社,19909 谭浩强,单片机课程设计M。北京,清华大学出版社,198910 袁志祥、秦锋 数据结构(c语言版)例题详解与课程设计指导第二版M中国科学技术大学出版社出版 199211 /question/270013127.html?an=0&si=2 2009.5.1612 /1225643682/blog/1253900084 2010.313/question/122532876.html?an=0&si=5 2009.6附录A 部分代码/*单片机端口定义函数*/sbit QR=P27;/北红灯sbit QY=P26 ; /北黄灯sbit QG=P25 ; /北绿灯sbit HR=P36 ; /南红灯sbit HY=P35; /南黄灯sbit HG=P37; /南绿灯sbit ZR=P20 ; /东红灯sbit ZY=P21 ; /东黄灯sbit ZG=P22 ; /东绿灯sbit YR=P12 ; /西红灯sbit YY=P11 ; /西黄灯sbit YG=P10 ; /西绿灯 /*sbit Q_S=P26;/北时间显示的十位控制sbit Q_G=P27;/北时间显示的个位控制sbit H_S=P16;/南时间显示的十位控制sbit H_G=P15;/南时间显示的个位控制sbit Z_S=P22;/东时间显示的十位控制sbit Z_G=P21;/东时间显示的个位控制sbit Y_S=P13;/西时间显示的十位控制sbit Y_G=P14;/西时间显示的个位控制 */sbit W1=P14;sbit W2=P13;sbit BEEP=P23;void delayms(uint z)uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);/*初始化子函数*/void init()/BEEP=1;QR=1;QY=1;QG=1;HR=1;HY=1;/HG=1;ZR=1;ZY=1;ZG=1;YR=1;YY=1;YG=1;/*Q_S=1;Q_G=1;H_S=1;H_G=1;Z_S=1;Z_G=1;Y_S=1;Y_G=1; */W1=1;W2=1;TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;ET0=1;TR0=0;EX0=1;IT0=1;EX1=1;IT1=1;EA=1;/* 南北通道子函数*/void ZCQH()TR0=1;/打开定时器QR=1;QY=1;QG=0;HR=1;HY=1;HG=0;ZR=0;ZY=1;ZG=1;YR=0;YY=1;YG=1;/* 东西通道子函数*/void ZCZY()TR0=1;/打开定时器QR=0;QY=1;QG=1;HR=0;HY=1;HG=1;ZR=1;ZY=1;ZG=0;YR=1;YY=1;YG=0;/* 南北通道黄灯亮子函数*/void QHY()QR=1;QY=0;QG=1;HR=1;HY=0;HG=1;ZR=0;ZY=1;ZG=1;YR=0;YY=1;YG=1;/* 东西通道黄灯亮子函数*/void ZYY()QR=0;QY=1;QG=1;HR=0;HY=1;HG=1;ZR=1;ZY=0;ZG=1;YR=1;YY=0;YG=1;/* 通道选择子函数*/void TDXZ()if(flag1=0&flag2=0) /南北通道打开ZCQH();if(flag1=0&flag2=1) /南北通道黄灯打开QHY();if(flag1=1&flag2=1) /东西通道打开ZCZY();if(flag1=1&flag2=0) /东西通道黄灯打开ZYY();/* 数码管显示子函数*/void display()uchar s,g;s=num1/10;g=num1%10;/*Q_S=0;Q_G=1;H_S=0;H_G=1;Z_S=0;Z_G=1;Y_S=0;Y_G=1;P0=tables;delayms(3);Q_S=1;Q_G=0;H_S=1;H_G=0;Z_S=1;Z_G=0;Y_S=1;Y_G=0;P0=tableg;delayms(3);Q_S=1;Q_G=1;H_S=1;H_G=1;Z_S=1;Z_G=1;Y_S=1;Y_G=1; */W2=1;W1=0;P0=tables;delayms(3);W1=1;W2=0;P0=tableg;delayms(3);/* 主函数*/void main()init();while(1)TDXZ();display();/* 外部中断0子函数*/void TX0() interrupt 0flag4=0; flag3=flag3; if(flag3=1) flag1=0;flag2=0;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论