还剩26页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
毕业设计(论文)中文摘要摘要:近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月异更新在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊那么靠什么来实现这井然秩序呢?靠的是交通信号灯的自动指挥系统交通信号灯控制方式很多本系统采用MSC-51系列单片机AT89S52来设计交通灯控制器,该系统主要功能是正常指挥的;当一道有车而另一道没有车时,交通灯控制系统能立即让有车道放行;若有紧急车辆要求通过时,该系统能禁止普通车辆,而让紧急车辆通过等交通灯的点亮采用共阳极发光来二极管控制,直接采用+5V直流电源驱动,系统实用性强、操作简单、扩展性强关键词单片机交通灯控制器设计仿真固化毕业设计(论文)外文摘要Title BasedonthedesignofthecontroleroftrafficlightsofsingleflatmachinewithrealizationAbstractInrecentyearswithscienceandtechnologydevelopatfullspeedthetrendgoesdeepintomonolithicmachineapplicationincourseofunceasinglydrivetraditiontocontroldetectingnever-endingchangesandimprovementsrenewalatthesametime.Inrealtimedetectingandautocontrolmonolithicmachineapplicationsystemthemonolithicmachinesometimesistobeputintouseasacorecomingthecomponentmonolithicmachineaspectknowledgeisinsufficientonlyrespondtoaccordingtoconcretehardwarestructureandspecificallyforthesoftwareapplyingthemarriagepartnercharacteristicsconcretelyimprovesandperfectscombiningwith.Thecrossroadsvehicleshuttlesbackandforththepedestrianisbustlingthecardealerslanepersonaredohumanitymethodical.WhatdependontorealizethismethodicalordercomingthenChainofcommandbytheautomationbeingatrafficsignallamp.Trafficsignallampcontrolmodemany.OriginallysystemadoptMSC-51todesignthetrafficlightcontrollercomingseriesmonolithicmachineAT89S52owingsystemthemainfunctionis:Commandregularly;Thinkthatonehasvehiclebutanotheronesaysthattrafficlightnavarcandodgeimmediatelytohavealanetoletpasswhennothavingvehicle;Whentheemergentvehicledemandstopassifhavingbesystemsturntobeabletoforbidtheaveragevehiclelettheemergentvehiclepassbutwaiting.Thetrafficlightlightensusesaltogethertheanodeglowdiodecontroldirectlyusesthe+5Vdirect-currentpowersupplytoactuatethesystemusabilitystrongtheoperationsimpletheextensionisstrong.Keywords:OnlyflatmachineTrafficlightsControlerDesignSimulationsolidification目录1引言………………………………………………………………………………62单片机概述………………………………………………………………………63芯片的选择与简介………………………………………………………………
73.1MSC-5芯片简介…………………………………………………………………
73.
1.1中央处理器…………………………………………………………………
73.
1.2存贮器………………………………………………………………………
73.
1.3定时/计数器…………………………………………………………………
83.
1.4并行输入输出(I/O)口……………………………………………………
93.
1.5中断系统……………………………………………………………………
93.
1.6时钟系统……………………………………………………………………
93.2AT89S52的引脚说明……………………………………………………………94控制器硬件的设计………………………………………………………………
134.1交通管理方案论证……………………………………………………………
134.2系统硬件设计…………………………………………………………………
144.
2.1交通灯系统框图……………………………………………………………
144.
2.2交通灯控制线路图…………………………………………………………
154.
2.3系统工作原理………………………………………………………………165控制器的软件设计………………………………………………………………
165.1每秒钟的设定…………………………………………………………………
165.2软件延时………………………………………………………………………
165.3信号灯的显示…………………………………………………………………
175.4程序设计………………………………………………………………………
195.
4.1流程图如图所示……………………………………………………………
195.
4.2程序源代码…………………………………………………………………216单片机开发系统…………………………………………………………………
236.1程序仿真………………………………………………………………………
246.2程序的固化……………………………………………………………………27结论…………………………………………………………………………………27致谢…………………………………………………………………………………28参考文献……………………………………………………………………………281引言在今天,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段但这一技术在19世纪就已出现了1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行这是世界上最早的交通信号灯1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯它由红绿两以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消1914年,电气启动的红绿灯出现在美国这种红绿灯由红绿黄三色圆形的投光器组成,安装在纽约市5号大街的一座高塔上红灯亮表示“停止”,绿灯亮表示“通行”1918年,又出现了带控制的红绿灯和红外线红绿灯带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果1968年,联合国《道路交通和道路标志信号协定》对各种信号灯的含义作了规定绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口2单片机概述随着科学技术的进步,超大规模集成电路技术迅速发展,集成技术的一个最新成就就是将中央处理器(CPU)、程序存储器(ROM)、数据存储器(RAM)、定时器/计数器、并行串行输入/输出接口、中断部件等单元集成在一个芯片上,形成所谓的单片机微型计算机,简称单片机,特别适用于控制领域,故又称为微控制器单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统单片机经过
1、
2、
3、4代的发展,目前单片机正朝着高性能和多品种方向发展,它们的CPU功能在增强,内部资源在增多,引角的多功能化,以及低电压底功耗3芯片的选择与简介
3.1MSC-51芯片简介AT89S52是MCS-51系列单片机的典型产品,我们以这一代表性的机型进行系统的讲解AT89S52单片机包含中央处理器、程序存储器ROM、数据存储器RAM、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明
3.
1.1中央处理器中央处理器CPU是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作它由运算器和控制器组成运算器中包括算术/逻辑部件ALU、布尔处理器、累加器A、寄存器B、暂存器TMP1和TMP
2、程序状态字PSW以及十进制调整电路等运算部件的功能是实现数据的算术逻辑运算位变量处理和数据传送操作控制器是单片机的神经中枢,它包括定时控制逻辑、指令存储器IR、指令译码器ID、程序计数器PC、堆栈指针SP和数据指针寄存器DPTR等控制部件它以晶振频率为基准发出CPU的时序,对指令进行译码然后发出各种控制信号,完成一系列定时控制的微操作,用来控制单片机各部分的运行
3.
1.2存贮器AT89S52单片机在物理上有4个存贮空间片内程序存贮器和片外程序存贮器、片内数据存贮器和片外数据存贮器程序存贮器(ROM)程序存贮器通常用于存放程序和表格常数AT89S52单片机有8kB的片内FlashROM,地址为0000H~1FFFH它的P2口和P0口可提供16位地址线,因此可对外部程序存贮器寻址空间为64KB地址范围为0000H~FFFFH数据存贮器(RAM)片内RAMAT89S52内部有256字节的数据存贮器,00H~7FH为低128字节地址,80H~FFH为高128字节地址同时80H~FFH也被特殊功能寄存器(SFR)占用AT89S52内部RAM低128字节的地址可以划分为3个区域工作寄存器区,位寻址区和用户RAM区片外RAM片外RAM用16位地址指针DPTR寻址,最大地址空间是64KB,地址为0000H~FFFFH用MOVX指令访问当外扩的数据存贮器小于256B时,可用R0R1作间接寻址寄存器的地址指针特殊功能寄存器特殊功能寄存器的功能是固定的,用户不得更改AT89S52中除程序计数器PC和四组通用寄存器外,其它所有的寄存器均称特殊功能寄存器(SFR)AT89S52的特殊功能寄存器离散的分布在片内80H~0FFH地址范围图
13.
1.3定时/计数器ROM AT89S52有三个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向
3.
1.4并行输入输出I/O口AT89S52共有4组8位I/O口P
0、P
1、P2或P3,用于对外部数据的传输
3.
1.5中断系统AT89S52具备较完善的中断功能,有两个外中断、三个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择
3.
1.6时钟电路AT89S52内置最高频率达33MHz的时钟电路,用于产生整个单片机运行的脉冲时序,也可外置振荡电容下图是AT89S52单片机的内部结构示意图2图
23.2AT89S52的引脚说明AT89S52采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用现在我们对这些引脚的功能加以说明如图3图3引脚的具体描述如下VCC:电源电压提供掉电、空闲、正常+5V电压Vss GND:地P
0.0~P
0.7第39~32脚,P0口除了可以做普通的双向I/O口使用外,也可以在访问外部存贮器时用做低8位地址线和数据总线P
1.0~P
1.7:第1~8脚,P1口是一组8位双向I/O口P
1.2~P
1.7提供内部上拉电阻P
1.0和P
1.1内部上拉电阻主要是考虑它们分别是内部精密比较器的同向输入端AIN0和反向输入端AIN1如果需要应在外部接上拉电阻P1口输出缓冲器可吸收20mA电流并可直接驱动LED当P1口引脚写入“1”时可做输入端,当引脚P
1.2~P
1.7用做输入并被外部拉低时,它们将因内部的上拉电阻而输出电流(In)P1口还在FLASH闪速编程及程序校验时接收代码数据P
2.0~P
2.7:第21~28脚,P2口是带内部上拉的双向I/O口,向P2口写入1时,P2口被内部上拉为高电平,可以作输入口当作为输入脚时,被外部拉低的P2口会因为上拉而输出电流在访问外部程序存贮器和外部数据存贮器时,可以作为地址总线的高位字节P
3.0~P
3.7第10~17脚P3口的P
3.0~P
3.5,P
3.7是带有内部上拉电阻的7个双向I/O口P
3.6没有引出,它作为一个通用I/O口但不可以访问,但口作为固定输入片比较器的输出信号,P3口缓冲器可吸收20mA的电流当P3口写入“1”时,它们被内部上拉电阻提高并可作为输入端口做输入端时,被外部拉低的P3口将用上拉电阻输出电流(In)P3口的第二功能如表1所示口线第二功能信号名称P
3.0RXD串行数据接收P
3.1TXD串行数据发送P
3.2/INT0外部中断0P
3.3/INT1外部中断1P
3.4T0定时器/计数器0P
3.5T1定时器/计数器1P
3.6/WR外部数据存贮器写信号P
3.7/WD外部数据存贮器读信号表1RST复位输入RST引脚一旦变成两个机器周期以上高电平,所有的I/O口都将复位到“1”(高电平)状态,当振荡器工作时,持续两个周期为12个振荡时钟周期XTAL1振荡器反向放大器的内部时钟发生器的输入端XTAL1振荡器反向放大器的输出端振荡器特征XTAL
1.XTAL2为片内振荡器的反向放大器的输入和输出端,如下图所示可采用石英晶体或陶瓷震荡器组成时钟震荡器,如需从外部输入时钟驱动AT89C2051,时钟信号从XYAL1输入,XTAL2应悬空由于输入到内部电路是经过一个2分频触发器,所以输入的外部时钟信号无需特殊要求,但它必须符合电平的最大和最小值及时序规范图4时钟电路Pin9:RESET/Vpd复位信号复用脚,当AT89S52通电,时钟电路开始工作,在RESET引脚上出现2个机器周期的高电平,系统即初始复位初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指针写入07H,其它专用寄存器被清“0”RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序然而,初始复位不改变RAM(包括工作寄存器R0-R7)的状态,AT89S52的初始态常见的复位电路有上电复位和上电按钮复位电路,如下图5图5Pin30:ALE/当访问外部程序器时,ALE地址锁存的输出用于锁存地址的低位字节而访问内部程序存储器时,ALE端将有一个1/6时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出更有一个特点,当访问外部程序存储器,ALE会跳过一个脉冲如果单片机是EPROM,在编程其间,将用于输入编程脉冲Pin29:当访问外部程序存储器时,此脚输出负脉冲选通信号,PC的16位地址数据将出现在P0和P2口上,外部程序存储器则把指令数据放到P0口上,由CPU读入并执行Pin31:EA/Vpp程序存储器的内外部选通线,8051和8751单片机,内置有4kB的程序存储器,当EA为高电平并且程序地址小于4kB时,读取内部程序存储器指令数据,而超过4kB地址则读取外部指令数据如EA为低电平,则不管地址大小,一律读取外部程序存储器指令显然,对内部无程序存储器的8031EA端必须接地在编程时,EA/Vpp脚还需加上21V的编程电压4控制器硬件系统设计
4.1交通管理的方案论证A、B两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯,指挥车辆和行人安全通行红灯亮禁止通行,绿灯亮允许通行黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯燃亮时间为A、B两干道的公共停车时间规定A道放行时间为2分钟,B道放行时间
1.5分钟,黄灯亮2秒钟;当一道有车而另一道无车时,交通灯控制系统立即让有车道放行;若有紧急车辆要求通过时,此系统应能禁止普通车辆,而让紧急车辆通过指示灯燃亮的方案如表2紧急状况紧急解除12029021202…主道A道红灯亮恢复绿灯亮黄灯亮红灯亮红灯亮绿灯亮黄灯亮…支道B道红灯亮恢复红灯亮红灯亮绿灯亮黄灯亮红灯亮红灯亮…表2此表2说明
(1)当为黄灯时,以提示车辆下一个灯色即将到来,时间为2秒
(2)当A到为红灯,A道车辆禁止通行;B道为绿灯,B道车辆通过时间为90秒
(3)当A道绿灯,A道车辆通行;B道为红灯,B道车辆禁止通过时间为120秒
(4)这样如上表的时间和红、绿、黄出现的顺序依次出现这样车辆就能安全畅通的通行5当道路遇到紧急状况时如救护车通过交通事故等可按紧急按钮使红灯亮是交通暂时隔断当紧急状况结束可按紧急解除按钮使道路恢复原来状态保证道路畅通
4.2系统硬件设计该控制系统需要的硬件设备AT89S52单片机一片,红色、绿色、黄色LED发光二极管各4个,5个+5V直流电源,控制开关2个,100欧姆电阻14个,1000欧姆电阻一个,若干导线4.2.1系统总框图如下图6系统总框图4.2.2交通灯控制线路图图7交通灯控制线路图4.2.3系统工作原理
(1)该系统使用AT89S52单片机控制,
(2)正常状态下,通过扫描R4内的数值,软件延时,来进行计时,来控制A,B两道的红绿黄灯的点燃时间,由P
1.0~P
1.5送至相对应的灯
(3)在进行计时的同时进行P
1.6P
1.7的端口扫描,P
1.6连接B道的传感器,P
1.7连接A道的传感器,分别来检测两个路口车辆的状态,低电平为有车辆通过,然后根据当前道路指示灯的状态进行调整实现一道有车而另一道无车时,能让有车道放行的功能
(4)在程序执行的过程中,系统时刻扫描外部中断/INT0的输入信号,当有紧急车辆要求通过时,通过开关K8控制外部中断,使系统程序堆栈,跳转到中断程序,使所有路口都亮红灯,所有普通车辆禁止通行,而让紧急车辆通过最后再使程序出栈,按原来顺序执行
(5)该系统使用共阳极LED发光二极管,正常工作电压为直流+5V5.控制器的软件设计
5.1每秒钟的设定延时方法可以有两种一中是利用MCS-51内部定时器才生溢出中断来确定1秒的时间,另一种是采用软延时的方法本次设计中我们使用了软件延时来计时
5.2软件延时AT89S52的工作频率为2-33MHZ,我们选用的AT89S52单片机的工作频率为12MHZ所谓时序是指各种信号的时间序列它表明了指令执行中各信号之间的相互关系.单片机本身就是一个复杂的同步时序电路为了保证同步方式的实现全部电路应在统一的时钟信号控制下严格的按照时序进行工作.时序的基本定时单位共有4个它们从小到大分别是:1振荡周期:是指为单片机提供定时信号的振荡源的周期.片内的各种微操作以次周期为时序基准.2时钟周期:又称为状态周期因为时钟发生器就是上述的2分频触发器所以它是振荡周期的2倍时钟周期又被分为两个节拍.在每个时钟的前半周期P1信号有效这是通常完成算术逻辑操作;再每个时钟的后半周期P2信号有效内部寄存器与寄存器间的传输一般在此状态发生.3机器周期:一个机器周期由6个状态组成即6个时钟周期12个振荡周期.4指令周期:是执行一条指令所站用的全部时间一个指令周期通常含1~4个机器周期.程序延时时间可以根据机器周期以及执行程序所占用的总的机器周期数进行计算即:延时时间=一个机器周期的时间*执行程序所用的总的机器周期数已知晶振为12MHZ则一个机器周期为1us已知内循环设为1ms则可算出内循环的次数为250=FAH具体的延时程序分析DELAY:MOVR0#500;延时
0.5秒子程序DELAY1:MOVR1#FAHDELAY2:NOP;1周期NOP;1周期DJNZR1DELAY2;2周期DJNZR0DELAY1;2周期RET同样延时
0.25秒的程序如下:DELAY:MOVR0#250;延时
0.5秒子程序DELAY1:MOVR1#FAHDELAY2:NOP;1周期NOP;1周期DJNZR1DELAY2;2周期DJNZR0DELAY1;2周期RET
5.3信号灯的显示AT89S51单片机有32根I/O口线分别属于4个8位并行I/O口P0P1P2和P
3.每个口都可以用做输入输出所以我们选用P1端口外接12个共阳极LED发光二极管并要接上上拉电阻以保证其正常工作.表3LED资源分配表灯LED端口东西红东LED12P
1.0西LED5东西黄东LED10P
1.1西LED4东西绿东LED11P
1.2西LED6南北红南LED8P
1.3北LED3南北黄南LED7P
1.4北LED1南北绿南LED9P
1.5北LED2表4状态控制码状态控制码(二进制)控制码(十六进制)东西红灯,南北红灯11110110BF6H东西绿灯,南北红灯11011110BDEH东西黄灯,南北红灯11101110BEEH东西红灯,南北绿灯11110011BF3H东西红灯,南北黄灯11110101BF5H东西绿灯,南北红灯11011110BDEH
5.4程序设计
5.
4.1流程图如图所示YYNYNYNNNNYYNNYY图8交通灯控制程序流程图YNNNYYNYYN图9让紧急车辆通过的中断服务程序流程
5.
4.2程序源代码ORG0003HLJMPINTSV0ORG0100HINTVS0:JNBF0ADFX;若A道放行,则转ADFXMOVP1#0EEH;否则,B道闪黄灯,A道仍然亮红灯MOVR4#04HILOOP1:LCALLDELAYCPLP
1.4DJNZR4ILOOP1SJMPINEXT;黄灯闪完4次后转INEXTADFX:MOVP1#0F5H;A道闪黄灯,B道仍亮红灯MOVR4#04HILOOP2:LCALLDELAYCPLP
1.1DJNZR4ILOOP2INEXT:MOVP1#0F6H;A道和B道都亮红灯JBIE0$;若紧急未过(K8未回原位),则等待JNBF0YADFX;若原A道放行,则转YADFXMOVP1#0DEH;否则,B道亮绿灯,A道仍亮红灯SJMPIDONEYADFX:MOVP1#0F3H;A道亮绿灯,B道亮红灯IDONE:RETIORG1000HSTART:SETBEA;允许INTO中断SETBEX0CLRF0;A道放行标志F0=0MOVR4#F0H;设置A道放行120SMOVP1#0F3H;A道亮绿灯,B道亮红灯LOOP1:ACALLDELAYDECR4MOVAR4JZNEXT1;若A道放行120S已到,则转NEXT1MOVAP1JNBACC.7LOOP1JBACC.6LOOP1NEXT1:MOVP1#0F5H;A道亮黄灯,B道亮红灯MOVR4#04H;设置A道闪黄灯2SDLOP1:ACALLDELAYCPLP
1.1DJNZR4DLOP1SETBF0;闪黄灯4次(2S)后,F0=1MOVR4#B4H;设置B道放行90SMOVP1#0DEH;B道亮绿灯,A道亮红灯LOOP2:ACALLDELAYDECR4MOVAR4JZNEXT2;若B道放行90S已到,则转NEXT2MOVAP1JNBACC.6LOOP2JBACC.7LOOP2NEXT2:MOVP1#0EEH;B道闪黄灯,A道仍亮红灯MOVR4#04H;设置B道闪黄灯2SDLOP2:ACALLDELAYCPLP
1.4DJNZR4DLOP2SJMPSTART;B道闪黄灯4次后转STARTDELAY:MOVR0#500;延时0,25秒程序DELAY1:MOVR1#FAHDELAY2:NOPNOPDJNZR1DELAY2DJNZR0DELAY1RETEND6单片机开发系统单片机开发系统实际上也是一种计算机系统,是专门用来开发单片机应用系统的一种工具,它通常由一台系统机、一个通用再线仿真器和一个通用编程器构成如图图10在主机上运行开发软件(编辑软件、调试软件)就可以输入、删除、编辑和运行用户程序,也可以把用户目标代码通过串口传送到通用再线仿真器编程器可以对EPROM进行编程和效验,也可以在主机对编程器进行操作仿真器又称模拟器,主要用来帮助设计者验证设计的正确性在硬件系统设计的各个层次都要用到仿真器在数字系统设计中,硬件系统由数字逻辑器件以及它们之间的互连来表示仿真器的用途是确定系统的输入/输出关系,所采用的方法是把每一个数字逻辑器件映射为一个或几个进程,把整个系统映射为由进程互连构成的进程网络,这种由进程互连组成的网络就是设计的仿真模型目前国产通用单片机开发器种类很多如AEDK系列DVCC系列等.我们使用的是南京伟福实业有限公司生产的WAVE仿真器.WAVE单片机开发系统介绍WAVE仿真器开发及教学实验系统是单片机开发和试验教学领域中的新一代产品.伟福仿真器种类多功能强和国内外同类高档仿真器功能相比先进的特点如下:主机+POD仿真头组合---通过更换POD可以对各种CPU进行仿真.双平台----DOS版本WINDOWS版本.支持点屏显示用鼠标左键点一下程序中的某一变量即可显示该变量的数值.双工作模式----软件模拟仿真和硬件仿真.双集成环境----编辑编译下载调试全部集中在一个环境下.
6.1程序仿真由于源程序仿真时间较长所以在进行仿真时进行改动把原先A道的放行时间由2分钟改为5秒B道放行时间由
1.5分钟改为4秒黄灯还是2秒其余不变.修改后的程序如下:ORG0003HLJMPINTSV0ORG0100HINTVS0:JNBF0ADFX;若A道放行,则转ADFXMOVP1#0EEH;否则,B道闪黄灯,A道仍然亮红灯MOVR4#08HILOOP1:LCALLDELAYCPLP
1.4DJNZR4ILOOP1SJMPINEXT;黄灯闪完4次后转INEXTADFX:MOVP1#0F5H;A道闪黄灯,B道仍亮红灯MOVR4#08HILOOP2:LCALLDELAYCPLP
1.1DJNZR4ILOOP2INEXT:MOVP1#0F6H;A道和B道都亮红灯JBIE0$;若紧急未过(K8未回原位),则等待JNBF0YADFX;若原A道放行,则转YADFXMOVP1#0DEH;否则,B道亮绿灯,A道仍亮红灯SJMPIDONEYADFX:MOVP1#0F3H;A道亮绿灯,B道亮红灯IDONE:RETIORG1000HSTART:SETBEA;允许INTO中断SETBEX0CLRF0;A道放行标志F0=0MOVR4#18H;设置A道放行5SMOVP1#0F3H;A道亮绿灯,B道亮红灯LOOP1:ACALLDELAYDECR4MOVAR4JZNEXT1;若A道放行5S已到,则转NEXT1MOVAP1JNBACC.7LOOP1JBACC.6LOOP1NEXT1:MOVP1#0F5H;A道亮黄灯,B道亮红灯MOVR4#08H;设置A道闪黄灯2SDLOP1:ACALLDELAYCPLP
1.1DJNZR4DLOP1SETBF0;闪黄灯4次(2S)后,F0=1MOVR4#18H;设置B道放行5SMOVP1#0DEH;B道亮绿灯,A道亮红灯LOOP2:ACALLDELAYDECR4MOVAR4JZNEXT2;若B道放行4S已到,则转NEXT2MOVAP1JNBACC.6LOOP2JBACC.7LOOP2NEXT2:MOVP1#0EEH;B道闪黄灯,A道仍亮红灯MOVR4#08H;设置B道闪黄灯2SDLOP2:ACALLDELAYCPLP
1.4DJNZR4DLOP2SJMPSTART;B道闪黄灯4次后转STARTDELAY:MOVR0#250;延时0,25秒程序DELAY1:MOVR1#FAHDELAY2:NOPNOPDJNZR1DELAY2DJNZR0DELAY1RETEND将仿真器的串行接口连接线接到计算机的串行口,加上正5伏电源通过连接线给仿真器供电,并在计算机上运行仿真软件,将以上程序输入,并进行仿真,同时调试观察源文件及其他窗口,检查运行时有无错误发生及时更改出现的错误并再次进行仿真,直至仿真成功
6.2程序固化在程序由仿真器调试正确后,可以经过仿真程序生成目标文件,再由编程器写进单片机芯片,将仿真器撤去,由单片机芯片代替,这样单片机应用系统就可以不受仿真器的影响而独立工作了结论本系统采用MSC-51系列单片机AT89S52来设计的交通灯控制器,该系统主要功能是正常指挥的;当一道有车而另一道没有车时,交通灯控制系统能立即让有车道放行;若有紧急车辆要求通过时,该系统能禁止普通车辆,而让紧急车辆通过等交通灯信号通过平常P1口输出;交通灯的点亮采用共阳极发光LED,直接采用+5V电源驱动,系统设计简便、实用性强、操作简单、程序设计简便系统不足之处不能工作中修改红绿灯的工作时间不能控制车的左、右转、以及统计车流改变红绿灯时间等本毕业设计的硬件部分由张忠华负责,软件设计由周振华负责,分工明确,相互配合,完成了毕业设计的排版和编辑通过这次毕业设计,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧(特别是汇编语言)的掌握方面都能向前迈了一大步,为日后成为合格的应用型人才打下良好的基础通过本次毕业设计我也获得许多心得体会:
1.在设计程序之前务必要对所用单片机的内部结构有一个系统的了解知道该单片机片内有哪些资源.
2.设计程序采用什么编程语言并不是非常重要关键要有一个清晰的思路和一个完整的软件流程图.
3.在设计程序时不能妄想一次就将整个程序设计好反复修改不断改进是程序设计的必经之路.
4.要养成注释程序的好习惯一个程序的完美与否不仅仅是实现功能而应该让人一看就能明白你的思路这样也为资料的保存和交流提供了方便.
5.在设计程序过程中遇到问题是很正常的但我们应该将每次遇到的问题记录下来并分析清楚以免下次再碰到同样的问题.参考文献1)陶国正 《单片机与接口应用技术》 苏州大学出版社2)李广弟,朱月秀《单片机基础》航天航空大学出版社3)张洪润《单片机应用技术基础》 清华大学出版社4)于风明《单片机原理与接口技术》 中国工业出版社5)刘瑞新《单片机原理应用教程》机械工业出版社6)陈宝江《MCS实用系统实用指南》 机械工业出版社7)汪德彪 《MCS51单片机原理及接口技术》 电子工业出版社8)胡汉才《单片机原理及其接口技术》清华大学出版9)付家才《单片机控制工程实践技术》化学工业出版社10)潘新民《微型计算机控制技术》人民邮电出版社11)余锡存曹国华《单片机原理及接口技术》西安电子科技大学出版社12)雷丽文《微机原理与接口技术》电子工业出版社13)蒋万君《在论循环时序电路的简便设计》机电一体化按正常顺序执行AT89S52正常情况根据传感器信息跳转传感器触发全部红灯,紧急车辆通过紧急信号开始允许/INT0中断置A道放行标志0→F0置A道放行标志0→F0A道放行时间值送R4A道放行时间值送R4A道亮绿灯B道亮红灯A道亮绿灯B道亮红灯延时
0.25S延时
0.25SR4-1=0?R4-1=0?B道有车要过?A道有车要过?A道有车要过?B道有车要过?A道闪黄灯B道仍亮红灯A道闪黄灯B道仍亮红灯到2S吗?到2S吗?开始A道放行F0=0A道闪黄灯B道仍亮红灯B道闪黄灯A道仍亮红灯到2S到2SA道亮红灯B道亮红灯紧急车已过原A道放行?B道亮绿灯A道仍亮红灯A道亮绿灯B道仍亮红灯返回打印机终端用户目标系统通用再线仿真器主机通用编程器硬盘机。