《交通灯控制系统的设计与制作毕业论文.doc》由会员分享,可在线阅读,更多相关《交通灯控制系统的设计与制作毕业论文.doc(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2/25ANYANGANYANGINSTITUTEINSTITUTEOFOFTECHNOLOGYTECHNOLOGY毕毕业业论论文文交通灯控制系统的设计与制作院(部)名称:电子信息与电气工程学院专业班级:一班2013 年 5 月3/25目 录绪论 11 系统硬件设计 41.1 交通灯通行模式与行车方向指示 21.2 设计方案 31.3 各单元电路模块功能 31.3.1 时钟电路模块 31.3.2 复位电路模块 41.3.3 主控制系统模块 41.3.4 交通灯输出控制模块 51.3.5 时间显示电路模块 61.3.6 系统电源模块电路 72 系统软件设计 82.1 软件总体流程图 82.2 软
2、件主要子程序流程 92.2.1 复位状态子程序 92.2.2 显示状态子程序 103 系统调试分析与结果 113.1电路板实物的制作 113.1.1 印制电路板 PCB 图的绘制 113.1.2 实物的制做 113.2 系统硬件调试 123.3 系统软件调试 123.4 系统总体调试 124 结论 145 致 156 参考文献 157 附录 16附录 A:元器件清单 16附录 B:总体电路原理图、仿真图与实物图 17附录 C:程序 184/25摘要摘要摘摘要:要:交通灯控制系统是城市道路管理中极为重要的一个环节,其在加强道路交通管理,减少交通事故的发生,提高道路使用效率等方面具有不可替代的作用
3、。近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制技术日益更新。本文将介绍一种用单片机作为系统的主控单元,通过单片机嵌入软件程序来实现交通信号灯的多重控制方式,整个系统以 STC89C52RC 单片机为核心加以晶振电路、复位电路、电源电路构成系统的控制枢纽,系统状态显示系统采用 7 段 LED 数码管进行倒计时的现实,红、黄、绿三色 LED 灯作为信号指示。系统除基本的交通灯功能外,还具有倒计时、紧急情况处理等功能,较好的模拟实现了十字路口出现的状况。本系统性能稳定,功能完善,实用性强。关键词:关键词:STC89C52RC 单片机;交通灯控制;LED 数码显示。1/25绪绪
4、论论本文提出一种利用单片机自动控制交通灯与时间倒计时显示的方法,将整个系统缩小在一块小小的单片机上,大大提高了产品的经济性和轻便性。设计过程包括硬件电路设计和程序设计两大步骤。硬件电路其结构比较简单,主要包括核心器件单片机、12 只二极管组成的模拟交通灯、复位电路、振荡电路、显示数码管模块。单片机开发中除必要的硬件外,同样离不开软件,本文就用 Keil 编程,相比硬件设计程序较为复杂,必需同时考虑灯控制、时间显示、紧急开关等问题,并且具有一定的 C 语言基础和一定的思维能力与逻辑能力。智能交通灯控制系统设计就显示出了它的研究意义。它能根据道路交通拥护,交叉路口经常出现拥堵的情况,利用单片机控制
5、技术,实现道路的最大通行效率。通过单片机课程设计,熟练掌握 C 语言的编程方法,将理论联系到实践中去,提高动脑和动手的能力。同时通过交通信号灯控制系统的设计,掌握定时/计数器、中断的使用方法,和简单程序的编写,最终提高逻辑抽象能力。随着我国经济的发展,汽车工业也在迅速发展,如果我们做不好城市规划和城市交通控制,那么随之而来的城市交通将会面临严峻的形式。而现有的比较成熟的交通控制系统存在有上节中所讲的诸多问题,针对这些问题,本文把单片机控制引入到城市交通控制系统中,利用其不需要建立精确数学模型和它吸收了人工控制的经验,使得控制过程简化,而且能满足实时性和控制精度的要求。在城市交通控制中,定周期控
6、制在交通不大且稳定的情况下是简单有效的,与感应控制没什么区别。担当交通量大且拥挤车流变化快的时候,为减少车辆延误,这时就需要采用动态反馈控制系统,本设计采用单片机系统,动态检测,电子警察,当遇到紧急情况,需四面都是红灯的时候,可以进行无线遥控。2/251 系统硬件设计系统硬件设计1.11.1 交通灯通行模式与行车方向指示交通灯通行模式与行车方向指示按交通灯控制规则,每个道口有红、黄、绿三种指示灯,交道口模型如图 1.1所示:图 1.1交道口模型图2 组 LED 数码管按照设置的通行时间(各路口默认的通行时间均为 30s)进行倒计时,倒计时到 5S 时,绿灯变成黄灯,并各自进行红、黄、绿灯显示,
7、共有两种通行方式分别为:图 1.2通行方式一示意图图 1.3通行方式二示意图3/25通行方式一:倒计时时间为 30s(通行时间),红绿灯状态为:东西通行:绿,南北禁行:红;如图 1.2 所示。通行方式二:倒计时时间为 30s(通行时间),红绿灯状态为:南北通行:绿;东西禁行:红;如图 1.3 所示。通行默认时间为 30s,系统设置了任意更改功能,可以根据实际情况进行调整,以提高车辆通过率,缓减交通压力。在通行结束前 5 秒钟,黄灯亮直至结束。本设计选用 LED 发光二极管的红绿灯状态用来指示交通指示信息。绿色表示通行,红色则表示禁止通行,黄灯等待。1.21.2 设计方案设计方案交通控制系统主要
8、控制东西、南北,车道的交通,整个系统以 STC89C52RC单片机为核心芯片,通过控制三色 LED 的亮灭来控制各车道的通行,另外通过复位键来恢复到程序的初始状态。总体设计框图如下图所示:1.31.3 各单元电路模块功能各单元电路模块功能1.3.11.3.1 时钟电路模块时钟电路模块时钟电路由一个晶体振荡器 12MHZ 和两个 30pF 的瓷片电容组成。时钟电路用于产生单片机工作所需的时钟信号,而时序所研究的是指令执行中各信号之间的相互关系。单片机本身就是一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地工作。其电路如图 1.4 所示:AT89C51单 片
9、机复位电路晶振电路时钟电路七段数码管倒计时显示电路4/25图 1.4时钟电路模块1.3.21.3.2 复位电路模块复位电路模块复位电路是使单片机的 CPU 或系统中的其他部件处于某一确定的初始状态,并从这状态开始工作,除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需要按复位电路以重新启动。本设计采用的是按键复位电路。其电路如图 1.5 所示:图 1.5复位电路模块1.3.31.3.3 主控制系统模块主控制系统模块主控制器采用 STC89C52RC,STC89C52RC 单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单 片机,指令代码完全兼
10、容传统 8051 单片机,12 时钟/机器周期和 6 时钟/机器周 期可以任意选择。其特点如下:1.增强型 8051 单片机,6 时钟/机器周期和 12 时钟/机器周期可以任 意选择,指令代码完全兼容传统 8051.2.工作电压:5.5V3.3V(5V 单片机)/3.8V2.0V(3V 单片机)3.工作频率围:040MHz,相当于普通 8051 的 080MHz,实际工 作频率可达 48MHz4.用户应用程序空间为 8K 字节5.片上集成 512 字节 RAM6.通用 I/O 口(32 个)复位后为:,P1/P2/P3/P4 是准双向口/弱上拉,P0 口是漏极开路输出,作为总线扩展用时,不用加
11、上拉电阻,作为 I/O 口5/25用时,需加上拉电阻。7.ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无 需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程 序,数秒即可完成一片8.具有 EEPROM 功能9.具有看门狗功能10.共 3 个 16 位定时器/计数器。即定时器 T0、T1、T211.外部中断 4 路,下降沿中断或低电平触发电路,Power Down 模式可 由外部中断低电平触发中断方式唤醒12.通用异步串行口(UART),还可用定时器软件实现多个 UART13.工作温度围:-40+85(工业级)/075(商业级)14.DIP 封装12
12、34ABCD4321DCBATitleNumberRevisionSizeA4Date:6-Apr-2013 Sheet of File:G:交通灯原理图jtd.DdbDrawn By:EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10U18031ABCDEFGDP12S2SMG-
13、2R1R2R3R4R5R6R7R8VCCP3.0P3.1P3.0P3.1L1N-greenL2N-yellowL3N-redL4E-greenL5E-yellowL6E-redL7S-greenL8S-yellowL9S-redL10W-greenL11W-yellowL12W-redVCCVCCVCCVCCN-greenN-greenN-yellowN-yellowN-redN-redS-greenS-greenS-yellowS-yellowS-redS-redW-redW-redW-yellowW-yellowW-greenW-greenE-greenE-greenE-yellowE-y
14、ellowE-redE-redP3.2P3.3P3.3P3.4P3.5P3.6C230PC130PR1811.0592C3R33VCCRSTRSTS1RES2R32RES2R33RES2R34RES2R35RES2R36RES2R37RES2R38RES2R39RES2R40RES2R41RES2R42RES2图 1.6 主控置系统模块电路1.3.41.3.4 交通灯输出控制模块交通灯输出控制模块道口交通灯指示采用红、黄、绿发光二极管进行提示。其图如图 1.7 所示:6/25图 1.7LED 显示模块电路当 R=1000 欧时,按公式 A=(5-1.8)/R 计算,电路中的电流大小应为 A=3
15、.2mA。由于每个路口的通行双向指示处理一样,因此每个端口应具有 6.4mA 的吸收电流能力。1.3.51.3.5 时间显示电路模块时间显示电路模块考虑设计需要,我们在各个方向分别用二位数码管用来显示倒计时时间,构成交通提示信息,形象逼真。本系统使用数码管完成倒计时显示功能。以方向东西为为例,数码管显示的数值从绿灯的设置时间最大值往下减,每秒钟减 1,一直减到 0。然后又从红灯的设置时间最大值往下减,一直减到 0。接下来又显示绿灯时间,如此循环。系统共有 1 个二位的 LED 数码管,分别放置在模拟交通灯控制板上四组交通灯中间。四个方向上都应该显示同样的容,所以我们可以把它们同样对待,只用了一
16、组数码管来模拟。也就是说各个方向的数码管个位(把数码管第二位定义为个位,第一位定义为十位)用一根信号线控制,十位用另一根信号线控制。道口通行剩余时间采用红色 7 段数码管显示,采用共阴数码管,如用单片机P0 口加上拉电阻驱动,P3.0/P3.1 来控制数码管的位。其显示电路如图 1.8 所示:7/25图 1.8 数码管显示模块电路1.3.61.3.6 系统电源模块电路系统电源模块电路由于该系统中 51 单片机与三极管工作电压均为 5V 电压,所以要保证系统稳定可靠的工作,需要设计一个可以稳定提供 5V 电压的供电系统。本设计采用外置 5V 稳压开关电源作为系统的供电电源,系统电源输入接口要加滤
17、波电容以确保工作电压稳定。电源输出接口加上 LED 电源指示灯,用来判定电源是否正常工作。该系统电源电路设计如图 1.9 所示:图 1.9 系统电源电路8/252 2 系统软件设计系统软件设计根据实际交通灯的变化情况和规律。假设一个十字路口为东南西北走向。初始状态 1 东西绿灯通车,南北红灯亮。过 25s,转状态 2,东西绿灯灭黄灯亮,南北红灯灭黄灯亮,过 5s,再转状态 3,南北绿灯通车,东西红灯亮。过 25s,转状态 4,南北绿灯灭黄灯亮,东西红灯灭黄灯亮,过 5s,又循环至状态 1。对于交通信号灯来说东西南北共四组灯,由于同一道上的两组的信号灯的显示情况是一样的,因此,采用单片机部的 I
18、/O 口来控制 12 个信号灯。通过编写程序,实现对发光二极管的控制,来模拟交通信号灯的管理。2.12.1 软件总体流程图软件总体流程图软件总体设计与流程图见图 2-1,主要完成各部分的软件控制和协调。本系统主程序模块主要完成的工作是对系统的初始化,发送显示数据,同时对按键进行扫描,等待外部中断,以与根据所需要的功能进行相应的操作。其流程图如图2.1,2.2 所示:扫描外部按键状态判断当前状态复位状态时间显示初始化开始图 2.1软件总体流程图图 2.2 正常情况下交通灯控制流程东西绿灯,南北红灯延时 30s东西黄灯,南北黄灯延时 5s东西红灯,南北绿灯延时 30s东西黄灯,南北黄灯延时 5s开
19、始9/252.22.2 软件主要子程序流程软件主要子程序流程2.2.12.2.1 复位状态子程序复位状态子程序现今社会经济发展状况下,我们身边的交通状况显得越来越拥挤。在道路交通突然状况也越来越多,特别是在车流辆比较集中的十字路口。本设计在紧急状态下,车辆禁行、行人通行。紧急情况结束后按下复位按钮再转成自动状态,如图 2.3 所示:紧急状态开始按键是否按下返回转换成正常状态是否图 2.3 复位状态子程序10/252.2.22.2.2 显示状态子程序显示状态子程序初始化四个路口的灯全部不亮按设定的交通方案显示各路口 LED 灯的状态开始倒计时显示延时返回图 2.4 显示状态子程序本设计各路口灯比
20、较多,各通行状态前文已有描述在此不一一赘述。虽然整个系统 LED 灯的数量比较多,但各个方向的灯各司其职使交通指挥更加显而明了。在人为手动复位和初始化的情况下,各路口所有交通灯均点亮。此时若有 LED 灯出现故障,一目了然,可以与时检修。若有紧急中断信号出现,显示子程序优先处理中断程序,将所有路口的信号灯置为红色禁止通行。紧急状态解除各信号灯再进入正常状态显示。11/253 3 系统调试分析与结果系统调试分析与结果因本设计本身要求有稳定性高、免维护、抗干扰能力强等功能,系统调试除了验证数据处理的精度,确保判断的准确性外,同时必须确认各项功能的正常运行。3.13.1电路板实物的制作电路板实物的制
21、作3.1.13.1.1 印制电路板印制电路板 PCBPCB 图的绘制图的绘制由于本电路硬件设计中,用单片机的一个 IO 口控制各路交通灯的循环点亮。用同一芯片单片机的 P0 口来控制数码管的显示点亮。因此,在同一芯片中,所要接的线路比较多。在硬件的布局中,各位 LED 灯和数码管的布局比较固定化,集中分布在所控制的两个路口。因此,若采用双面 PCB 板的话,这个电路的布线比较容易实现。但是,现实水平中做双面板会出现一些焊点接触不良而导致电路调试过程不易实现。因此,决定使用单面板布线。单片面板的布线需要牺牲本设计电路板一部分实际电路的美观。印制电路板的设计是以电路原理图为根据,实现电路设计者所需
22、要的功能。印刷电路板的设计主要指版图设计,需要考虑外部连接的布局、部电子元件的优化布局、金属连线和通孔的优化布局、电磁保护、热耗散等各种因素。优秀的版图设计可以节约生产成本,达到良好的电路性能和散热性能。3.1.23.1.2 实物的制做实物的制做准备工作:采购万能板若干,实物电路所需的各种元器件;还有其他的基本电子器件和制板工具。总制板工艺程序1)先将所有元器件摆放到万能板上,确实各个原件的最有位置,原则是,既美观,又容易焊接。2)把摆好位置的元器件焊到板子上,最好用焊台来完成。3)根据原理图,把所有的连线连接起来,连接的导线,尽量用细一点的。制板心得:我们在制板过程中,1)首先是 PROTE
23、L 设计的时候出现的错误导致印制电路板制作错误。2)其次是由于设计的理论和实际有误差导致无法实现目标。3)焊接过程中出现了一些问题,比如焊跳线的时候,由于接线太多,而且是手工焊接,并且焊接设备不好,烙铁头高温下容易老化氧化和温度不可控制。因此导致焊盘脱落,原件烫伤等原因导致报废了好几块板子。此外,有些焊盘太小12/25并且有损坏迹象,所以焊接很不方便。但为了不出现虚焊,却花了很长时间去焊,有些焊点并不是很美观。4)焊接过程中,有时候焊锡会不小心将相邻的两根引线短路。所以,此次做板积累了一些经验,主要是,再次做板的时候一定要注意 PCB 的引线之间的距离不能设置太近。因为是手工制作,精度和密度都
24、必须有一个自由度和能力所与的围,并且考虑到手工制板的局限性和线路过细密导致的氧化和短路故障。拥有了这些宝贵的经验,相信今后制板,一定会完美保证电路的实现!3.23.2 系统硬件调试系统硬件调试在设计过程中,实物交通灯控制系统的 PCB 电路板焊接工作量非常大,电路安装完成后,首先进行检查,即确认电路无虚焊,无短路,无断路,集成元件安装是否正确,之后进行电路功能模块的分级调试,根据电路功能逐级进行:通行方式功能调试:包括对两种通行方式控制调试,指示灯亮度和驱动电路调试;倒计时功能调试:数码管亮度调试;复位功能调试。3.33.3 系统软件调试系统软件调试本系统的软件系统很大,选用一般的单片机通信
25、C 语言程序进行编写和调试。除了语法差错外,当确认程序没问题时,通过直接下载到单片机来调试。采取的是自下到上的调试方法,即单独调试好每一个模块,然后再连接成一个完整的系统,最后完成一个完整的系统调试。3.43.4 系统总体调试系统总体调试系统做好后,进行系统的完整调试。主要任务是检验实现的功能与其效果并校正误差。测试一开始,我们就发现了系统出现了两个问题:一是有一部分交通灯亮度不够,所发出来的光非常的微弱以致于几乎感觉不到它的亮度;二是数码管不工作,没有时间显示。这与设计的要求完全不符。为了找出这个问题和解决方法,查找了电路的输出各部分的输出电平。发现了一个现象,我们采用的数码管是共阴极数码管
26、。而控制数码段显示的 P3.0 和 P3.1 口输出的是高电平。经多方查阅资料,解决第二个问题可以有两个解决方法。其一,将硬件电路作修改,将数码管换成共阳极的数码管。这样数码管就可以正常进行时间显示了。其二,修改程序,让控制数码管段码的 P0 输出的是低电平。若采用修改硬件电路的方法的话,硬件电路就得作变动。已经布好的线也必须有相应的变动,操作起来比较麻烦。所以,我们采用了第二种方法。修改了程序电路中的段码代码。再次调试,按照设计要求的指标,系统数码管电路部分基本能按照预先设定的要求来进行倒计时的显示。亮度要求也基本符合预先设想。接下来还有一个问题有待解决,交通灯亮度不足,以致于部分交通灯只能
27、勉强看得出来它在亮而已。这明显不能满足设计要求。经多方检测,我们认为这是13/25由于 LED 灯驱动能力不足引起的亮度弱问题。若要修正这个问题,那就得为 LED灯增加驱动电路以提高电路的驱动能力。要实现这一步骤必须对硬件电路进行一定的改动。LED 灯的驱动电路可以用集成电路电路芯片来进行驱动。在初步方案中考虑要用集成电路来完成。但是由于客观方面的原因,没有制作实物的环境条件。因此,这部分改进只作了一个设想,并没有时间去付诸实施。但基本问题和解决问题的原理还是有一定的了解。14/254 4 结论结论在本次设计的过程中,我发现很多的问题,给我的感觉就是很难,很不顺手,看似很简单的电路,要动手把它
28、给设计出来,是很难的一件事,主要原因是我们没有经常动手设计过电路,还有资料的查找也是一大难题,这就要求我们在以后的学习中,应该注意到这一点,更重要的是我们要学会把从书本中学到的知识和实际的电路联系起来,这不论是对我们以后就业还是学习,都会起到很大的促进和帮助,我相信,通过这次的毕业设计,在以后的学习中我会更加努力,力争把这门课学好,学精。同时,通过本次毕业设计,巩固了我们学习过的专业知识,也使我们把理论与实践从真正意义。同时,通过本次毕业设计,巩固了我们学习过的专业知识,也使我们把理论与实践从真正意义上相结合了起来;考验了我们借助互联网络搜集、查阅相关文献资料和组织材料的综合能力;从中可以自我
29、测验,认识到自己哪方面有欠缺、不足,以便于在日后的学习中得以改进、提高;通过使用电路 CAD 软件 Multisim,也让我们了解到计算机辅助设计(CAD)的智能化,有利于提高工作效率。题目是非常重要的,要选择一个好的题目,就要满足适合我们这组制作,并且也要考虑到自身能力,还有就是容易找到相关的参考资料等条件。只有符合以上所说的条件才能做出一个好的设计,所以我们就选择了数控直流稳压电源的设计课程。我们查找了大量这方面的相关参考资料,如单片机原理机应用,电子技术基础等,还查阅了各种所需芯片的管脚资料。在这些参考资料的基础上构想了几个设计方案,并且确定了最后的设计方案。当确定了最终的设计方向以后,
30、我们就开始着手完善它的理论方案。根据设计方案的容我们画出了具体的原理图,进行逻辑分析和理论计算,然后去电子市场根据设计要求购买了大量所需的原器件,准备好了设计所需的一切材料。有了这次难忘的经历,我觉得自己充实了许多,学到了很多东西,更重要的是我们学会了如何协同合作,学会了遇到问题应该如何解决。这将在我们以后的学习和工作中起着重要的作用。总之,此次设计的过程中,我收获了很多。此次设计的完成的经验对我将来的人生之路有着非常重要的意义。15/255 5 致致在此次设计和制作过程中,通过自己的努力和老师同学的帮助,我完成了毕业设计。这次毕业设计不仅增进了我的专业素养和理论知识和实践经历,更加增进了我和
31、同学的友谊,让我们都备受珍惜和倍感鼓舞。但是,由于对书本的理论知识了解水平有限,在原理图的制作设计过程中,我深深的感受并深切体会到了我们理论知识的不足,很多东西虽然已学过,但印象已不是那么深刻都是边设计边查阅书籍学习。在屡次出失败中,我们也深深知道我们理论操作的极度欠缺。但是,皇天不负有心人,在老师有力而精当的指导下和同学的帮助下,终于能顺利而圆满地完成了设计。各位老师的真诚关怀和热诚而无私的指导!我想,这是我们在校学习岁月最值得怀念和铭记的岁月!让青春的激情和对科学的追去和对知识的渴望的梦想在这里燃烧和绽放,我想我们的记忆将永远铭记这一段岁月!6 6 参考文献参考文献1秀国主编.单片机 C
32、语言程序设计教程与实训.:大学,2011.62林春方主编.数字电子技术.:高等教育,2011.63 何立民.单片机应用技术大全.:航空航天大学,2009.6 年4 毅刚.单片机原理与接口技术.:工业大学,1990 年5 谭浩强.单片机课程设计.:清华大学,1989 年6.cepart.单片机学习网7边海龙,单片机开发与典型工程项目,电子工业,2008 年8郭天祥单片机网络视频,2007 年9.21ic.21IC 单片机学习网16/257 7 附附录录附录附录 A:A:元器件清单元器件清单元器件名称参数数量(个)IC 插座DIP401单片机STC89C52RC1发光二极管LED12电阻1K21瓷
33、片电容22pF2开关按键开关1电解电容10uF1七段数码管共阴极1晶振11.05921自锁按键6*6117/25附录附录 B:B:总体电路原理图、仿真图与实物图总体电路原理图、仿真图与实物图1234ABCD4321DCBATitleNumberRevisionSizeA4Date:6-Apr-2013 Sheet of File:G:交通灯原理图jtd.DdbDrawn By:EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P053
34、4P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30TXD11RXD10U18031ABCDEFGDP12S2SMG-2R1R2R3R4R5R6R7R8VCCP3.0P3.1P3.0P3.1L1N-greenL2N-yellowL3N-redL4E-greenL5E-yellowL6E-redL7S-greenL8S-yellowL9S-redL10W-greenL11W-yellowL12W-redVCCVCCVCCVCCN-greenN-greenN-yellowN-yellowN-redN-redS-greenS
35、-greenS-yellowS-yellowS-redS-redW-redW-redW-yellowW-yellowW-greenW-greenE-greenE-greenE-yellowE-yellowE-redE-redP3.2P3.3P3.3P3.4P3.5P3.6C230PC130PR1811.0592C3R33VCCRSTRSTS1RES2R32RES2R33RES2R34RES2R35RES2R36RES2R37RES2R38RES2R39RES2R40RES2R41RES2R42RES218/25附录附录 C:C:程序程序#include#includesbit smg1=P30
36、;sbit smg2=P31;sbit N_green=P20;sbit N_red=P21;sbit N_yellow=P22;sbit S_green=P27;sbit S_red=P26;sbit S_yellow=P25;sbit W_green=P10;sbit W_red=P11;sbit W_yellow=P12;sbit E_green=P17;sbit E_red=P16;sbit E_yellow=P15;19/25int djs=30,js=0,bt=30;/djs 和 bt 是初始倒计时时间,可修改/int table=0 xc0,0 xf9,0 xa4,0 xb0,0
37、 x99,0 x92,0 x82,0 xf8,0 x80,0 x90;int table=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x40;void jtd();void djsxs();void delayms(int x)char i;while(x-)for(i=150;i0;i-);setxs()int b1,b2;b1=djs/10;b2=djs%10;P0=tableb1;smg1=0;delayms(3);smg1=1;P0=tableb2;smg2=0;delayms(3);smg2=1;void
38、 delayms2(int p)char i;while(p-)setxs();for(i=150;i0;i-)setxs();20/25Timer0_init()js=0;TMOD=0 x01;/T0 为定时器方式 1TH0=0 x4c;TL0=0 x00;TR0=1;/IT1=1;ET0=1;/EX1=1;EA=1;void timer0()interrupt 1 using 1TF0=0;TH0=0 x4c;TL0=0 x00;js+;if(js=20)js=0;djs-;/led1=led1;void djsxs()int b1,b2;b1=djs/10;b2=djs%10;P0=ta
39、bleb1;smg1=0;delayms(3);smg1=1;P0=tableb2;smg2=0;delayms(3);smg2=1;void jtd()int tp=1;while(1)21/25tp=1;djsxs();if(djs5)/次数 djs5 djs5 表示倒计时等于 5 时开始亮黄灯/以下四次都要修改W_red=0;E_red=0;N_green=0;S_green=0;if(djs5)W_red=1;E_red=1;W_green=0;E_green=0;N_yellow=1;S_yellow=1;N_red=0;S_red=0;if(djs=5)W_green=1;E_green=1;W_yellow=0;E_yellow=0;22/25if(djs=0)djs=bt;N_red=1;S_red=1;W_yellow=1;E_yellow=1;tp=0;main()Timer0_init();W_red=1;E_red=1;W_green=1;E_green=1;W_yellow=1;E_yellow=1;N_green=1;S_green=1;N_yellow=1;S_yellow=1;N_red=0;S_red=0;jtd();