1、毕业设计说明书基于单片机的交通灯控制系统设计专业电气工程及其自动化学生姓名郭 恒 燕班级BD电气042学号指导教师张 兰 红完毕日期2023年6月10日基于单片机的交通灯控制系统设计摘 要:对基于单片机的交通灯控制系统进行了设计。系统功能为:以MCS-51系列单片机作为控制核心,设计并制作交通灯控制系统,东西南北四个方向具有左拐、右拐、直行及行人4种通行指示灯,用计时器显示路口通行转换剩余时间,在特种车辆如119、120通过路口时,系统可自动转为特种车辆放行,其他车辆严禁通行状态。在对系统功能分析的基础上,提出了三种设计方案,经比较,选择性能较优的LED动态循环显示方案进行了设计。设计涉及硬件
2、和软件两大部分。硬件部分涉及单片机最小系统、时间显示、交通灯显示三部分。选用Atmel公司的AT89S52单片机作为控制核心,东西南北四个方向设立了LED时间显示和交通灯显示,时间显示采用三位LED显示器,交通灯显示则采用红绿双色高亮发光二极管来模拟。软件采用了模块化的设计方法,重要分为主程序、定期器中断服务子程序、倒计时显示子程序、交通灯模拟显示子程序四部分。在实验板上制作了基于单片机的交通灯控制系统样机,对硬件和软件部分分别进行了调试,再进行了软硬件联调,得到的交通灯控制系统样机实物,可圆满地完毕毕业设计任务书所规定的功能。关键词: 交通灯;单片机;AT89S52Design of tra
3、ffic light control system based on SCM Abstract: Traffic light control system based on SCM (Single Chip Microcomputer) is designed in this paper. System requires that MCS-51 series SCM is used as CPU. Traffic light control system should be designed and made .There are four groups light which indicat
4、e to turn left, turn right, and go straight ahead and pedestrian access in east, west, north and south four directions. Timer shows traffic conversion remainder time. When special vehicles, such as 119,120 go through, the system can automatically allow special vehicles running and other vehicles is
5、prohibited.Based on analysis of the system functions, three schemes are put forward .By comparison, LED dynamic cycle display scheme has better functions and it is selected to be designed. The design includes hardware part and software part. Hardware has three parts .They are SCM system, LED time di
6、splay, traffic lights. AT89S52 SCM is selected as control CPU. LED display and traffic lights are set in east, west, north and south four directions. Three LED monitors are used to show time. Highlight and red-green two color traffic lights are used as traffic lights. Software is designed by module.
7、 It is divided into main program, timer interrupting service subroutine, LED display subroutine, traffic display subroutine.The model of traffic lights control system is made in experiment board. Hardware and software is debugged respectively, then hardware and software are combined and debugged .Th
8、e model of traffic lights control system can meet the requirement of design task book perfectly.Key words: Traffic light; SCM; AT89S52 目 录1 概 述11.1 课题研究背景与意义11.2 课题设计内容12 系统设计12.1设计方案论证12.系统硬件设计32.2.1控制模块32.2.2通行灯显示模块52.2.3时间显示模块52.2.4电源电路模块52.2.5硬件电路中器件选择62.3 系统软件的设计112.3.1主程序112.3.2定期中断服务程序112.3.3
9、特种车中断服务程序132.3.4算法分析143 系统调试143.1硬件调试153.1.1静态检查153.1.2通电检查153.2软件调试及软硬件联调153.2.1仿真器选择153.2.2仿真过程163.2.3通行灯输出调试173.2.4时间显示模块调试183.2.5特种车中断程序调试183.2.6脱机调试183.2.7实验结果194 结 束 语20参考文献21致 谢22附 录23附录1 基于单片机的交通灯控制系统电路原理图23附录2 基于单片机的交通灯控制系统PCB图23附录3 基于单片机的交通灯控制系统程序清单23基于单片机的交通灯控制系统设计1 概 述 1.1 课题研究背景与意义随着经济的
10、增长和人口的增长,人们生活方式不断变化,人们对交通的需求不断增长。城市中交通拥挤、堵塞现象日趋严重,由此导致巨大的经济与时间损失。资料显示,对日本东京268个重要交叉路口的调查估计表白:每年在交叉路口的时间延误,折成经济报失为20亿美元;而在我国北京市,当早晚交通高峰时,交叉路口处的排队长度竟达1000多米,有的阻车车队从一个交叉路口延伸到另一个交叉路口,这时一辆车为通过一交叉路口,往往需要半个小时以上,时间损失相称可观。我国是一个历史悠久、人口众多的国家,城市数量随着社会的发展不断增多。随着城市化进程的大大加快,诱发的交通需求急剧增长,供需矛盾不断激化,严重的交通问题也随之而来。人、车、路三
11、者关系的协调,已成为交通管理部门需要解决的重要问题之一。城市交通控制系统是用于城市交通数据监测、交通信号灯控制与交通疏导的计算机综合管理系统,它是现代城市交通监控指挥系统中最重要的组成部分。十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊,这一切要归功于城市交通控制系统中的交通灯控制系统。交通灯控制系统对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果,使城市交通得以有效管理。交通灯可以采用PLC、单片机等控制方法。运用单片机实现对交通信号灯的实时控制,只要采用一块单片机,加上简朴的接口与驱动放大电路,即可实现,具有成本低,可靠性高的特点。1.2 课题设计内容本课题对基于单片机
12、的交通灯控制系统进行设计。以MCS-51系列单片机为控制核心,设计并制作交通灯控制系统,用于十字路口的车辆及行人的交通管理。东西南北四个路口具有左拐、右拐、直行及行人4种通行指示灯,并分别用计时器显示路口通行转换剩余时间,在特种车辆如119、120通过路口时,系统可自动转为特种车辆放行,其他车辆严禁通行状态。设计交通灯控制系统硬件电路与软件控制程序,对硬件电路与软件程序分别进行调试,并进行软硬件联调,规定获得调试成功的实物。2 系统设计2.1 设计方案论证 根据设计内容规定,提出了如下三种方案:方案一:采用AT89S52单片机作为控制核心,采用四组高亮红绿双色二极管作为东西南北四个路口的通行指
13、示灯;采用四组3位LED数码管作为四个路口的通行倒计时显示器,LED显示采用动态扫描方式,以节省端口数。按以上系统构架设计,单片机端口资源刚好满足规定。方案一设计框图如图-1所示。图2-1 方案一:采用LED动态扫描的交通灯控制系统方案二:采用AT89C2051单片机作为控制器,通行倒计时显示采用1616点阵LED发光管,左拐、右拐、直行及行人4种通行指示也采用1616点阵双色LED发光管。方案二设计框图如图2-2所示,LED点阵的列驱动采用74LS595,用串行端口扩展实现,行驱动采用1/16译码器74LS154动态扫描,译码器74LS154生成16条行选通信号线,再通过驱动器驱动相应的行线
14、。每条行线上需要较大的驱动电流,应选用大功率三极管作为驱动管。图2-2 方案二:采用1616点阵LED发光管设计的交通灯控制系统方案三:采用AT89C2051单片机作为控制器,通行倒计时及左拐、右拐、直行、行人通行指示采用单块LCD液晶点阵显示器。三种方案的特点比较如下:方案一具有电路简朴,设计方便,显示亮度高,耗电较少,可靠性高等特点;方案二的图案显示逼真,单片机占用端口资源少,缺陷是需要大量的硬件,电路复杂,耗电量大,不太适合于模型制作;方案三设计占用单片机的端口最少,硬件也少,耗电也最少;虽然显示图案也很精美,但由于亮度太暗,晚上还得开背光灯,不够实用。可见方案一优于其他两种方案,因此本
15、设计选用方案一:采用LED动态扫描的方案进行设计。2. 系统硬件设计采用LED动态扫描的交通灯控制系统电路原理图如图2-3所示。(为排版起见,该图放在下一页)。系统由控制模块、通行灯显示模块、时间显示模块、电源模块四部分组成。2.2.1 控制模块 控制模块电路如图2-4所示。主控制器采用AT89S52。AT89S52是ATMEL公司生产的一款性能稳定的8位单片机,具有1个8KB的Flash程序存储器,1个512字节的RAM,3个16的定期/计数器,4个8位的双向可位寻址I/O端口, 1个串行口,6个中断源,两个中断优先级。图2-4 控制模块原理图AT89S52的P1口用于控制南北通行灯,P2口
16、用于控制东西通行灯,P0口用于3位LED显示器的段码控制,P3.0P3.2口用于3位LED显示器的位码控制,手动/自动转换采用P3.7扳键。/VPP接5V电源端。晶振及复位按典型电路设计,元器件参数如图2-4中所示。晶振频率为12MHz。2.2.2 通行灯显示模块通行灯显示模块如图2-5所示。通行灯指示采用高亮度共阴红绿双色发光二极管,左拐、直行、右拐及行人各一个。双色发光二极管的共阴极通过电阻接地,阳极接P1口或P2口(南北为P1口,东西为P2口),经74HC244控制。当发光电流为6mA时,限流电阻按公式R=(5-1.8)/0.006计算,应为510。由于通行时南北双向指示牌相同,东西双向
17、指示牌相同,因此每个端口应具有12mA的吸取电流能力,在单片机的输出口接驱动电路74HC244,以保护单片机的输出端口。图2-5 通行灯输出显示模块2.2.3 时间显示模块通行剩余时间显示模块如图2-6所示(以北路口为例)。路口通行剩余时间采用高亮红色7段共阳LED发光数码管显示,采用共阳数码管,如用单片机吸取电流驱动,列扫描驱动使用三级管,按每段6mA电流算,全显示字型“8”时,每个数码管需6mA8=48mA。由于时间显示每个路口相同,4组需192mA,因此设计中采用功率三极管S9012驱动。由于单片机每个段码输出口需吸取48mA电流,因此在电路设计中也使用了驱动集成块74HC244。2.2
18、.4 电源电路电源电路如图2-7所示。整个系统采用的电源电压只需+5V电压,将交流电经变压器变换为15V交流电,再用整流桥得到13.5V左右的直流电,采用不可调的3端稳压器件LM7805将电源稳定在5V直流输出。图2-6 时间显示模块电路图2-7 电源电路2.2.5 硬件电路中器件选择A. AT89S52单片机 AT89系列单片机是ATMEL公司的8位FLASH单片机。这个系列单片机最吸引人的特点就是在片内具有FLASH存储器,不需要再外扩存储器,与80C51插座兼容,由于这些优点,使它有着十分广泛的用途,特别是在便携式和需要特殊信息保存的仪器和系统中显得更为有用。89系列单片机典型型号有AT
19、89C51,AT89LV51,AT89C52,AT89LV52,AT89C2051, AT89S52,AT89C1051, AT89S51和AT89S8252。本设计选用AT89S52。它内部具有1个8KB的Flash的程序存储器,1个512字节的RAM,4个8位的双向可位寻址I/O端口,3个16的定期/计数器、1个串行口、6个二级中断源和两个中断优先级。引脚如图2-8所示。图2-8 AT89S52引脚按功能,引脚大体分为4部分:a)I/O口线P0口:8位、漏级开路的双向I/O口。当使用片外存储器及外扩I/O口时,P0口作为低字节地址/数据复用线。在编程时,P0口用于接受指令代码字节;在程序校
20、验时,P0口可输出指令字节(这时需要加外部上拉电阻)。P1口:8位、准双向I/O口,具有内部上拉电阻。P1口是为用户准备的I/O双向口。在编程和校验时,可用做输入低8位地址。用做输入时,应先将输出锁存器置1。P1口可驱动4个TTL负载。P2口:8位、准双向I/O口,具有内部上拉电阻。P2口也可做普通I/O口使用。用做输入时,应先将输出锁存器置1。P2口可驱动4个TTL负载。P3口:8位、准双向I/O口,具有内部上拉电阻。P3口可作为普通I/O口,用做输入时,将输出锁存器置1。在编程/校验时,P3口接受某些控制信号。b)控制信号线RST:复位输入信号,高电平有效。在振荡器稳定工作时,在RST脚施
21、加两个机器周期(即24个晶振周期)以上的高电平,将器件复位。/VPP:外部程序存储器访问允许信号。当引脚接地时,仅使用64KB的片外程序存储器,CPU从外部0000HFFFFH的地址空间取指令;当引脚接VCC时,CPU从片内0000H地址开始取指令,当PC值超过1FFFH时,自动转到外存储器2023HFFFFH地址空间执行程序。:片外程序存储器读选通信号,低电平有效。ALE/:低字节地址锁存信号。c)电源线: VCC为电源电压输入引脚,GND为地线。d)外部晶振引线:XTAL1:片内振荡器反相放大器和时钟发生线路的输入端。使用片内振荡器时,连接外部石英晶体和微调电容。XTAL2:片内振荡器反相
22、放大器的输出端。当使用片内振荡器时,外接石英晶体和微调电容。B.74HC244简朴输出接口扩展通常使用的典型芯片为74HC244, 由该芯片可构成三态数据缓冲器。74HC244芯片的引脚排列与内部结构分别如图2-9(a)(b)。(a)引脚排列 (b)内部结构图2-974HC24474HC244芯片内部共有两组四位三态缓冲器, 使用时可分别以1和2作为它们的选通工作信号。1脚为低电平时只有4个缓冲器工作,输入2,4,6,8相应输出18,16,14,12;1为高电平时这4个缓冲器为高阻。19引脚为低电平此外四个缓冲器工作,同样,输入11,13,15,17,相应输出9,7,5,3;19为高电平时这四
23、个缓冲器为高阻。C. LM 7805LM7805的外形如图2-10所示。LM7805三端集成稳压电源内部由基准电压回路、恒流源、过流保护、过压保护和短路保护回路等8部分组成,具有低功耗,高效率,纹波系数小,输出电压稳定等优点。图2-10 LM7805的外形图D.七段LED数码管7段数码管是一种常用的显示器件,其外观与内部电路连接见图2-11。它使用7个笔画显示09共10个数字,加上一个小数点共8个显示段,每一个笔画都是由发光二级管组成的。LED数码管根据LED的接法不同分为共阴和共阳两类,图2-11 (b)是共阳极数码管的内部电路,将八只LED的阳极连在一起,其中ag为7个笔画的驱动端;dp为
24、小数点驱动端;COM为公共引脚。 (a)外观 (b)内部电路连接图2-11 LED数码管09共10个字符的字形码如表2-1所示。E.双色发光二极管双色发光二极管是在一个封装结构内设立两只不同单色的发光二极管。共阴红绿双色发光电气符号图与内部电路连接如图2-12所示。有3根引出线,圆形和长方形两种封装。其中第一只发光二极管的负(或正极)与第二只发光二极管的负(或正极)极互相连接后再向外引出。表2-1 LED数码管显示字符的字形码字形P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0字形编码dpgfedcba共阳共阴011000000C0H3FH111111001F9H06H2101
25、00100A4H5BH310110000B0H4FH41001100199H66H51001001092H6DH61000001082H7DH711111000F8H07H81000000080H7FH91001000090H6FH(a)外形(b)共阴双色发光二极管内部电路连接图2-12 双色发光二极管发光双色二极管的判别与检测方法:将万用表打在电阻档,用万用表黑表笔接在双色发光二极管中间的负极上,红表笔接在双色发光二极管的正极上,每次都亮,该双色发光二极管是共阴极的,并且是好的。F.三极管90129012为一PNP型的三极管,外形与引脚图如图2-13所示。其中1脚为发射极,2脚为基极,3脚为
26、集电极。G.整流桥整流桥的外形如图2-14所示。整流桥的是作用将交流电转换成直流电,本次设计电源电路中选用1A,220V的整流桥。图2-13 9012外形图及引脚图 图2-14整流桥的外形如图2.3 系统软件的设计交通灯控制系统软件分为主程序、定期中断程序与特种车实时响应程序三部分。2.3.1 主程序主程序重要负责总体程序管理功能,涉及初始化部分与人机交互设定部分。由于采用动态扫描方式显示时间,因此主程序大部分时间要调用扫描显示程序。主程序流程图如图2-15所示。图2-15主程序流程图初始化部分重要完毕内存规划,定期器的工作模式、中断方式等的设定。由于子程序调用较多,因此初始化时堆栈指针设于8
27、0H处。定期器T0、T1设为16位定期器模式,定期时间为50mS,T0为秒计时用,T1为通行结束闪烁用。2.3.2 定期中断服务程序定期中断服务程序重要用于车辆与行人的通行指示,按照通行规则,红绿灯控制转换逻辑表如表2-2所示。通行规则如下:A.车辆南北直行、各路右拐,南北向行人通行。南北向通行时间为1min(60S),各路右拐比直行滞后10S开放。B.车辆南北向左拐、各路右拐,行人禁行。通行时间为1min(60S)。C.车辆东西直行、各路右拐,东西向行人通行。东西向通行时间为1min(60S),各路右拐比直行滞后10S开放。D.车辆东西向左拐、各路右拐,行人禁行。通行时间为1min(60S)
28、。表2-2 路口通行方式控制码数据表 南 北 方 向端口控制功能120-110S110-70S70-60S60-10S10-0SP1.7左拐红1(亮)1(亮)1(亮)0(暗)0(暗)P1.6左拐绿0(暗)0(暗)0(暗)1(亮)1/0(提醒)P1.5直行红0(暗)0(暗)0(暗)1(亮)1(亮)P1.4直行绿1(亮)1(亮)1/0(提醒)0(暗)0(暗)P1.3右拐红1(亮)0(暗)0(暗)0(暗)0(暗)P1.2右拐绿0(暗)1(亮)1(亮)1(亮)1/0(提醒)P1.1行人红0(暗)0(暗)0(暗)1(亮)1(亮)P1.0行人绿1(亮)1(亮)1/0(提醒)0(暗)0(暗)路口控制字99H
29、95H95H/84H66H66H/22H 东 西 方向 P2.7左拐红1(亮)1(亮)1(亮)1(亮)1(亮)P2.6左拐绿0(暗)0(暗)0(暗)0(暗)0(暗)P2.5直行红1(亮)1(亮)1(亮)1(亮)1(亮)P2.4直行绿0(暗)0(暗)0(暗)0(暗)0(暗)P2.3右拐红1(亮)0(暗)0(暗)0(暗)0(暗)P2.2右拐绿0(暗)1(亮)1(亮)1(亮)1/0(提醒)P2.1行人红1(亮)1(亮)1(亮)1(亮)1(亮)P2.0行人绿0(暗)0(暗)0(暗)0(暗)0(暗)路口控制字AAHA6HA6HA6HA6H/ A2H交通灯的4种通行规则,是以给控制红绿灯端口送控制码的方式
30、实现的。它的原理是,将按不同规则通行时的各路口的红绿灯亮灭情况转换为单片机端口控制码。红绿灯指示功能通过T0定期中断服务程序实现。定期器T0定期溢出中断周期设为50ms,中断累计20次(即1S)时对120S倒计时单元减一操作。设计中将4种通行规则提成几种不同的亮灯方式,通过查询秒倒计时单元的数据,实现在不同的时间段给控制端口送不同的控制数据码。控制码分为5个时间段:120110S、11070S、7060S、6010S、100S。交通管理定期功能程序流程图如图2-16所示。图2-16 交通管理定期功能程序2.3.3 特种车中断服务程序将按钮S3按下,给INT1引脚输入低电平信号来模拟特种车通过信
31、号,此时外部中断1被触发,中断解决流程如图2-17所示。图2-17特种车中断服务程序流程图总的程序清单见附录三2.3.4 算法分析A.定期器/计数器本设计涉及到120110S、11070S、7060S、6010S、100S五段计时,一方面须将它们转为16进制代码。 120=716+8=78H 110=616+14=6EH 70=416+6=46H 60=316+12=3CH 10=016+10=0AHB.定期时间初值与TMOD的设立T0、T1为16位定期器,由于定期时间大于8192S,应选用工作方式一。由于晶振频率为12MHz,TCY=1S,故有 T=(65536-X)TCY=(65536-X
32、)1s =50ms计算初值 X=15536=3CB0H即TH0=3CH ,TL0=0B0H。TMOD的格式如图2-18所示。D7D6D5D4D3D2D1D0GATEC/M1M0GATEC/M1M0图2-18 TMOD的格式TMOD各位的内容拟定如下:由于定期器/计数器0设为定期器,选用工作方式一,所以C/(TMOD.2)=0,M1(TMOD.1)=0,M0 (TMOD.0)=1,GATE(TMOD.3)=0;定期器/计数器1没有使用,相应的D7D4为随意状态“X”。若取“X”为0,则(TMOD)=00000001B=01HC.中断系统IE的取值IE的格式如图2-19所示。D7D6D5D4D3D
33、2D1D0EA-ET2ESET1EX1ET0EX0图2-19IE的格式IE每一位都由软件置1或清零。本设计中CPU允许中断即EA=1,定期器/计数器0中断允许位ET0及外部中断0中断允许位EX0可申请中断,即ET0=1,EX0=1,其余不允许中断,均设为0,所以IE=10000011H=83H3 系统调试根据前述第2大节中硬件和软件设计,制作了基于单片机的交通灯控制系统样机实物。对样机的硬件和软件分别进行了调试,最后进行了软件、硬件联调。调试成功的实物照片如图3-1所示。图3-1 调试成功的单片机控制交通灯系统实物照片调试过程中碰到了不少问题,并已将其逐个解决。最终得到了调试成功的交通灯系统,
34、可以完毕本设计1.2节中设计内容的规定。3.1 硬件调试3.1.1 静态检查根据硬件电路图核对了元器件的型号、极性,安装是否对的,检查硬件电路连线是否与电路原理图一致,检查电路元器件是否都已经连接好,用万用表一一测试。3.1.2 通电检查一方面调试电源部分。整个电路只需要+5V的电压,接上电源,将220V交流电通入,测试变压器的输出端,整流桥输出,LM7805的输出电压是否和理论计算值一致,再用示波器检测单片机的复位和晶振电路是否有复位信号和振荡信号。3.2软件调试及软硬件联调对软件先用仿真器进行了调试。用仿真器运营正常后,再用烧写器将程序烧到AT89S52单片机中,进行了脱机调试。3.2.1
35、仿真器选择单片机仿真器有很多型号,本次设计采用南京电子有限公司生产的伟福系列仿真器H51/S。仿真头类型采用POD-H8X5X。3.2.2仿真过程A建立程序选择菜单文献| 新建文献出现一个文献名为NONAME1 的源程序窗口,如图3-2所示,输入程序段(此处以P18页时间显示程序段为例)。图3-2建立程序窗口将文献存为扩展名为.ASM的文献进行保存。B建立项目建立项目分如下三步:a) 加入模块文献。(将上述A中建立的ASM文献加入)b) 加入包含文献。(若无包含文献,此步加以取消)c) 保存项目。C仿真器的设立选择菜单设立| 仿真器设立功能或按“仿真器设立”快捷图标打开“仿真器设立”对话框,如
36、图3-3所示。在“仿真器”栏中,选择仿真器类型和配置的仿真头以及所要仿真的单片机。在“语言”栏中,“编译器选择”选择为“伟福汇编器”。编译项目。选择菜单项目| 编译功能或按编译快捷图标,编译项目。在编译过程中,假如有错可以在信息窗口中显示出来,双击错误信息,可以在源程序中定位所在行。纠正错误后,再次编译直到没有错误。在编译之前,软件会自动将项目和程序存盘。在编译没有错误后,就可调试程序了。图3-3 “仿真器设立”对话框3.2.3通行灯输出调试对于通行灯输出程序的调试,一方面看左拐灯、直行灯、右拐灯、行人灯是否能正常工作。编制了以下测试灯亮灭的程序: ORG 0000H START: MOV A
37、,#0AAH;让东西南北四个路口的四个红灯全亮 MOV P1,A MOV P2,A ACALL DELAY ;延时一段时间 MOV A,#55H ;让东西南北四个路口的绿灯全亮 MOV P1,A MOV P2,A ACALL DELAY ;延时一段时间 SJMP START; 到START处循环以上操作 DELAY: MOV R7,#01H ;延时子程序 MOV R6,#81H DL1: NOP NOP NOP DJNZ R6,DL1 DJNZ R7,DL1 RET将上述程序输入电脑,经仿真器传输到系统运营后,发现有一红灯不亮,而其他指示灯都按指令运营出现对的的结果。用万用表仔细检测,发现该灯
38、的阳极被误接地了,没有接到单片机的并行口上。经修改,每个指示灯均能对的的显示了,至此,说明通行灯的接线完全对的。判断出通行灯接线对的后,对于整个电路的通行控制,根据逻辑状态表2-2编制了相应的程序(程序段见附录2中的T0中断服务程序)多次、反复调试,直到逻辑关系对的。调试时南北方向、东西方向指示灯同时进行。3.2.4时间显示模块调试对于时间模块,一方面看显示的数字是否正常,显示的亮度是否合适。对于图2-3所示的电路,尽管LED数码管为共阳极,但是各位的位选为P3.0, P3.1 ,P3.2经PNP型晶体管9012后提供,P3.i(i=0,1,2)必须提供低电平才干点亮相应的显示器,须输出CLR
39、 P3.i指令(i=0,1,2)。先编制了LED静态显示的程序,测试P3.i引脚上的LED是否可以正常显示,相应程序如下:ORG 0000H START: MOV A,#01H MOV DPTR,#TAB ;取段码表地址 MOVC A,A+DPTR ;查显示数据相应段码 MOV P0,A CLR P3.0 ; 启动P3.0口 SETB P3.1 ; 关闭P3.1口 SETB P3.2 ; 关闭P3.2口 SJMP START TAB: DB 0C0H,0F9H,0A4H,0B0H,99H, END运营后P3.0引脚上接的显示器显示为1,同理可分别测试P3.1 ,P3.2引脚上的LED显示器是否
40、可以正常显示。经检测各位LED可以正常显示,但是发光的亮度偏暗,有些模糊,这说明电路连接没有问题,但选用的电阻过大了,以至于电流很小,显示器不太亮,在保证9012正常工作的情况下,将电阻从47K调整为10K,显示亮度合适,这部分调试成功。将附录2中的显示子程序进行了调试,四个路口的三个数码管均可以动态显示。至此,显示模块调试成功。整个程序设计中采用了两种倒计时显示方式,120S倒计时合用于车流量较大的大城市,60S倒计时可用于中小型城市,两种倒计时由P3.7上的开关进行转换。3.2.5特种车中断程序调试将附录3中的119、120特种车程序进行调试,所有绿灯自动关闭,红灯全亮。3.2.6脱机调试
41、 用仿真器与硬件电路连接调试成功后,又将附录3的程序烧写到AT89S52中去,接上电源,发现LED不能正常显示,而通行灯输出一切正常。经检查AT89S52的P0口需要加外部上拉电阻,在仿真器上不存在此问题,由于仿真器的P0口有外部上拉电阻。接510的上拉电阻,接通电源交通灯与倒计时显示器可以正常运营,至此调试工作所有完毕。3.2.7实验结果对实验板通电后,显示器从120S开始倒计时,每秒钟自动减一,四个路口的红绿灯按通行规则对的显示。显示图片如图3-1所示。将S1开关打在合上的位置,显示器从60S开始倒计时,每秒钟自动减1,四个路口的红绿灯按通行规则对的显示。按下S3按钮,所有绿灯所有关闭,红
42、灯全亮,呈现特种车辆放行状态。实验结果表白,本次设计并制作的交通灯可以很好地满足设计任务书的规定。4 结 束 语拿到课题后,开始着手设计。查阅了大量相关资料,结合毕业设计任务书中的指标规定,进行了方案论证,拟定了设计方案:将系统分为控制模块、通行灯显示模块、时间显示模块、电源模块四部分。设计方案与元器件参数拟定后,就开始采购元器件,然后进行硬件制作。在制作硬件的过程中,每制作一步,都要检查这一步的对的性,可靠性。最后硬件制作完毕后,先进行了静态调试,根据硬件电路图核对了元器件的型号,极性,安装是否对的,检查硬件电路连线是否与电路图一致。然后是通电调试,先调试电源部分。将220V交流电通入,测试变压器的输出端整流桥输出,LM7805的输出电压是否和理论计算值一致。再调试单片机的复位和晶振电路。硬件电路制作完毕后,采用仿真器进行了软件调试,这个过程相称复杂艰难,出现了很多问题,例如输出灯不按规律显示,倒计时数码管显示不对的等。每一个问题都相称棘手,碰到这些问题后,一方面检测硬件电路,对硬件电路排查完毕并拟定无误后,对软件进行修改及再调试。问题一一被解决后最后得出所需软件部分。这个过程让我学到很多东西:一方面必须具有的是耐心和细心,问题出现后,必须分析问题,找出也许出现此种问题的因素,然后进