交通信号灯控制系统设计报告
单片机课程报告设计--交通信号灯模拟控制系统设计
单片机课程报告设计题目:交通信号灯模拟控制系统设计专业:电子信息科学与技术班级:学号:姓名:指导老师:年月日※※※※※※前言※※※※※※本课程设计的目的和意义本课程设计是在学完单片机原理及课程之后综合利用所学单片机知识完成一个单片机应用系统设计并在实验室实现。
该课程设计的主要任务是通过解决一、两个实际问题,巩固和加深“单片机原理与应用”课程中所学的理论知识和实验能力,基本掌握单片机应用电路的一般设计方法,提高电子电路的设计和实验能力,加深对单片机软硬知识的理解,获得初步的应用经验,为以后从事生产和科研工作打下一定的基础。
*******目录*******一、设计要求二、设计内容三、交通信号灯模拟控制系统设计程序流程图四、交通信号灯模拟控制系统原理图五、交通信号灯模拟控制系统主程序六、运行步骤七、检测与调试八、课程设计体会九、参考文献十、说明一、设计要求:交通信号灯模拟控制系统设计利用单片机的定时器定时,令十字路口的红绿灯交替点亮和熄灭,并且用LED数码管显示时间。
用8051做输出口,控制十二个发光二极管燃灭,模拟交通灯管理。
二、设计内容:因为本课程设计是交通灯的控制设计,所以要了解实际交通灯的变化情况和规律。
假设一个十字路口为东西南北走向。
初始状态0为东西红灯,南北红灯。
然后转状态1东西红灯,南北绿灯通车,。
过一段时间转状态2南北绿灯灭,黄灯闪烁几次,东西仍然红灯。
再转状态3,东西绿灯通车,南北红灯。
过一段时间转状态4,东西绿灯灭,闪几次黄灯,南北仍然红灯。
最后循环至状态1。
注意:.双色LED是由一个红色LED管芯和一个绿色LED管芯封装在一起,公用负端。
当红色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平时,绿灯亮;两端都加高电平时,黄灯亮。
三、交通信号灯模拟控制系统设计程序流程图四、交通信号灯模拟控制系统主程序ORG 0000HSJMP A3ORG 0030HA3: MOV SP,#60H ;设栈指针初值MOV A, #24HMOV P1, ASETB P3.2CLR P3.3CLR P3.4SETB P3.5 ;全部红灯亮MOV R4,#00H ;显示0秒MOV R7,#00H ;显示0秒MOV R2,#03HLCALL XI ;调用子程序A2 : MOV A,#0CHMOV P1,ASETB P3.2SETB P3.3CLR P3.4CLR P3.5 ;东西红灯,南北绿灯MOV R4,#14H ; 显示20秒LOOP2 : MOV R2,#03HLCALL XIDJNZ R4,LOOP2 ;判断20秒显示时间到否MOV R2,#03HLCALL XILOOP8: MOV R2,#03H ;南北黄灯闪3次LCALL XIMOV R4,#05H ;设南北黄灯亮长显示5秒SETB P3.2CLR P3.3A1: MOV A,#14HMOV P1 ,ASETB P3.4CLR P3.5 ;东西红灯,南北黄灯MOV R2,#01H ;定时LCALL DELAY ;调用延时子程序MOV A ,#04HMOV P1 ,ACLR P3.4CLR P3.5 ;东西红灯,南北不亮即意思要南北黄灯闪烁MOV R2 ,#01H ;定时LCALL DELAYDJNZ R4,LOOP8 ;判断南北黄灯闪烁,显示5秒到否?MOV A, #61HMOV P1,ACLR P3.2CLR P3.3CLR P3.4SETB P3.5 ;东西绿灯,南北红灯MOV R4,#14H ;显示20秒LOOP3:MOV R2,#03HLCALL XIDJNZ R4,LOOP3 ;判断20秒显示时间到否MOV R7,#05H ;设东西黄灯亮长显示5秒SETB P3.5A0: MOV A,#0A2HMOV P1,ACLR P3.2CLR P3.3CLR P3.4 ;东西黄灯,南北红灯MOV R2,#01H ;定时LCALL DELAYMOV A,#20H ;MOV P1,ACLR P3.2CLR P3.3CLR P3.4 ;南北红灯,东西不亮即意思要东西黄灯闪烁MOV R2,#01H ;定时LCALL DELAYDJNZ R7,A0 ;判断东西黄灯闪烁,显示5秒到否?LJMP A2 ;循环回状态1,即东西红灯,南北黄灯DELAY: PUSH 2PUSH 1PUSH 0 ;进栈DELAY1: MOV 1,#00HDELAY2:MOV 0,#0B2HDJNZ 0,$ ;判断是否运行完0B2HDJNZ 1,DELAY2DJNZ 2,DELAY1POP 0POP 1POP 2 ;出栈DJNZ R2 ,DELAY ;判断R2是否运行完RET ;返回主程序XI: MOV A,R4MOV B,#10DIV ABMOV R6,AMOV DPTR,#TABMOV A,BMOVC A,@A+DPTRMOV SBUF,AMOV R7,#0FHH55S: DJNZ R7,H55SMOV A,R6MOVC A,@A+DPTRMOV SBUF,AMOV R7,#0FHH55S1: DJNZ R7,H55S1LCALL DELAYRETTAB:DB 0fch,60h,0dah,0f2h,66h,0b6h,0beh,0e0hDB 0feh,0f6h,0eeh,3eh,9ch,7ah,9eh,8ehEND五、交通信号灯模拟控制系统原理图设计的连线图提示:(1) 完整的DVCC实验箱面板(2)硬件电路连接说明六、运行步骤:①8051 P1.0—P1.7、P3.2—P3.5依次接发光二极管L1—L12。
交通灯控制电路的设计(实验报告)
交通信号灯控制电路的设计一、设计任务与要求1、任务用红、黄、绿三色发光二极管作为信号灯,设计一个甲乙两条交叉道路上的车辆交替运行,且通行时间都为25s的十字路口交通信号灯,并且由绿灯变为红灯时,黄灯先亮5s,黄灯亮时每秒钟闪亮一次。
2、要求画出电路的组成框图,用中、小规模集成电路进行设计与实现用EAD软件对设计的部分逻辑电路进行仿真,并打印出仿真波形图。
对设计的电路进行组装与调试,最后给出完整的电路图,并写出设计性实验报告。
二、设计原理和系统框图(一)设计原理1、分析系统的逻辑功能,画出其框图交通信号灯控制系统的原理框图如图2所示。
它主要由控制器、定时器、译码器和秒脉冲信号发生器等部分组成。
秒脉冲信号发生器是该系统中定时器和该系统中定时器和控制器的标准时钟信号源,译码器输出两组信号灯的控制信号,经驱动电路后驱动信号灯工作,控制器是系统的主要部分,由它控制定时器和译码器的工作。
图1 交通灯控制电路设计框图图中:Tl:表示甲车道或乙车道绿灯亮的时间间隔为25s,即车辆正常通行的时间间隔。
定时时间到,Tl=1,否则,Tl=0.Ty:表示黄灯亮的时间间隔为5s。
定时时间到,Ty=1,否则,Ty=0。
St:表示定时器到了规定的时间后,由控制器发出状态转换信号。
它一方面控制定时器开始下一个工作状态的定时,另一方面控制着交通信号灯状态转换。
2、画出交通信号灯控制器ASM图(1)甲车道绿灯亮,乙车道红灯亮。
表示甲车道上的车辆允许通行,乙车道禁止通行。
绿灯亮足规定的时间隔TL时控制器发出状态信号ST转到下一工作状态。
(2)乙车道黄灯亮乙车道红灯亮。
表示甲车道上未过停车线的车辆停止通行已过停车线的车辆继续通行乙车道禁止通行。
黄灯亮足规定时间间隔TY时控制器发出状态转换信号ST转到下一工作状态。
(3)甲车道红灯亮乙车道绿灯亮。
表示甲车道禁止通行乙车道上的车辆允许通行绿灯亮足规定的时间间隔TL时 控制器发出状态转换信号ST转到下一工作状态。
交通灯课程设计实训报告
一、引言随着城市化进程的加快,交通拥堵问题日益严重,交通信号灯作为城市交通管理的重要手段,对于提高道路通行效率、保障交通安全具有重要作用。
为了让学生更好地了解交通信号灯的工作原理和设计方法,我们开展了交通灯课程设计实训。
本文将对实训过程进行总结,并对设计成果进行分析。
二、实训目的1. 熟悉交通信号灯的工作原理和设计方法;2. 学会使用单片机进行交通信号灯控制;3. 提高学生的实践能力和创新能力;4. 培养学生的团队协作精神。
三、实训内容1. 交通信号灯基本原理交通信号灯主要包括红灯、黄灯和绿灯三种颜色,分别代表禁止通行、注意和允许通行。
交通信号灯的基本工作原理是:通过单片机控制信号灯的亮灭,实现交通信号的变换。
2. 单片机交通信号灯控制系统设计本实训采用AT89C52单片机作为核心控制单元,设计了一个十字路口交通信号灯控制系统。
系统主要包括以下部分:(1)硬件电路设计:包括单片机、信号灯模块、按键模块、数码管显示模块等。
(2)软件设计:主要包括初始化程序、主程序和中断服务程序。
3. 交通信号灯控制策略(1)基本控制策略:南北方向绿灯亮时,东西方向红灯亮;南北方向黄灯亮时,东西方向红灯亮;南北方向红灯亮时,东西方向绿灯亮;南北方向红灯亮时,东西方向黄灯亮。
(2)时间控制策略:绿灯亮20秒,黄灯亮4秒,红灯亮24秒。
(3)手动/自动控制策略:通过按键切换手动/自动模式,实现交通信号灯的手动控制。
四、实训过程1. 硬件电路搭建:按照设计要求,将单片机、信号灯模块、按键模块、数码管显示模块等硬件电路连接起来。
2. 软件编程:使用C语言编写单片机程序,实现交通信号灯的控制。
3. 系统调试:对系统进行调试,确保交通信号灯工作正常。
4. 优化设计:根据实际情况,对系统进行优化设计,提高系统性能。
五、实训成果1. 成功设计并实现了十字路口交通信号灯控制系统。
2. 系统具有手动/自动控制功能,可满足实际交通需求。
交通信号灯控制器实验报告
交通信号灯控制器实验报告交通信号灯控制器⼀、设计任务及要求 (2)⼆、总体⽅案设计以及系统原理框图 (2)2.1、设计思路 (2)2.2、各模块相应的功能 (2)2.3、系统原理图 (3)三、单元电路设计 (3)3.1、车辆检测电路 (3)3.2、主控电路 (4)3.3、灯控电路 (5)3.4、计时控制电路 (6)3.5、计时显⽰电路 (6)3.6、反馈控制电路 (7)3.7、置数电路 (7)3.8、时基电路 (7)四、⼯作原理 (8)五、电路的软件仿真及结果分析 (8)5.1、时基电路(555接成的多谐振荡器)的电路图以及波形的显⽰ (8)5.2、结果分析 (10)六、电路的组装调试 (10)6.1、使⽤的主要仪器和仪表 (10)6.2、调试电路的⽅法和技巧 (10)6.3、调试中出现的问题、原因和排除⽅法 (11)七、收获、存在的问题和进⼀步的改进意见 (11)7.1、存在的问题和进⼀步的改进意见 (11)7.2、收获以及⼼得体会 (12)附录⼀:电路所⽤元器件 (14)附录⼆:电路全图 (15)附录三:实际电路图 (16)⼀、设计任务及要求在⼀个主⼲道和⽀⼲道汇交叉的⼗字路⼝,为了确保车辆⾏车安全,迅速通⾏,设计⼀个交通信号灯控制电路,要求如下:1、⽤两组红、绿、黄发光⼆极管作信号灯,分别指⽰主道和⽀道的通⾏状态。
2、通⾏状态⾃动交替转换,主道每次通⾏30秒,⽀道每次通⾏20秒,通⾏交替间隔时为5秒。
3、通⾏状态转换依照“主道优先”的原则,即:当主道通⾏30秒后,若⽀道⽆车则继续通⾏;当⽀道通⾏20秒后,只有当⽀道有车且主道⽆车时才允许继续通⾏。
(⽤按键模拟路⼝是否有车)4、设计计时显⽰电路,计时⽅式尽量采⽤倒计时。
⼆、总体⽅案设计以及系统原理框图2.1、设计思路本次设计采⽤模块划分的⽅法,每个模块完成⼀项功能,最后将各个模块连接起来,设计完成后,⽤Multisim进⾏仿真,仿真成功后,再去实验室焊接调试。
交通信号灯控制系统设计实验报告
交通信号灯控制系统设计实验报告设计目的:本设计旨在创建一个交通信号灯控制系统,该系统可以掌控红、绿、黄三种交通信号灯的工作,使其形成一种规律的交替、循环、节奏,使车辆和行人得以安全通行。
设计原理:在实际的交通灯系统中,通过交通灯控制器控制交通灯的工作。
一般采用计时器或微电脑控制器来完成,其中微电脑控制器可以方便地集成多种控制模式,并且灵活易于升级。
在本设计中,我们采用了基于Atmega16微控制器的交通信号灯控制系统。
该系统通过定时器中断、串口通信等技术来实现。
由于控制的是三个信号灯的交替,流程如下:绿灯亮:红灯和黄灯熄灭绿灯由亮到灭的时间为10秒黄灯亮:红灯和绿灯熄灭黄灯由亮到灭的时间为3秒红灯亮:绿灯和黄灯熄灭红灯由亮到灭的时间为7秒重复以上过程硬件设计:整个系统硬件设计包含ATmega16控制器、射频芯片、电源模块和4个灯组件。
ATmega16控制器采用DIP封装,作为主要的控制模块。
由于需要串口通信和遥控器控制,因此添加了RF24L01射频芯片。
该射频芯片可以很方便地实现无线通信和小型无线网络。
4个灯组件采用红、绿、黄三色LED灯与对应300Ω电阻并连。
电源模块采用5V稳压电源芯片和电容滤波,确保整个系统稳定可靠。
软件设计:通过ATmega16控制器来实现交通信号灯控制系统的功能。
控制器开始执行时进行初始化,然后进入主循环。
在主循环中,首先进行红灯亮的操作,接着在计时时间到达后执行黄灯亮的过程,然后执行绿灯亮的过程,再到计时时间到的时候执行红灯亮的过程。
每个灯持续时间的计时采用了定时器的方式实现,在亮灯过程中,每秒钟进行一次计数,到达相应的计数值后,切换到下一步灯的操作。
在RF24L01射频芯片的支持下,可以使用无线遥控器来对交通信号灯的控制进行远程控制。
在系统初始化完成后,通过串口通信对RF24L01进行初始化,然后进入控制循环。
在这个控制循环中,接收到遥控器的指令后,进行相应的控制操作,如开、关灯等。
plc交通信号灯实验报告
plc交通信号灯实验报告PLC交通信号灯实验报告一、引言PLC(可编程逻辑控制器)是一种广泛应用于工业自动化领域的控制设备。
在交通领域,PLC也扮演着重要的角色,特别是在交通信号灯的控制方面。
本实验旨在通过使用PLC控制交通信号灯,探索其在交通管理中的应用。
二、实验目的1. 了解PLC的基本原理和工作方式;2. 掌握PLC编程的基本方法;3. 设计并实现PLC交通信号灯控制系统;4. 分析并评估PLC在交通信号灯控制中的优势和局限性。
三、实验设备和方法1. 实验设备:- PLC控制器- 交通信号灯模拟器- 电源- 电缆和连接器2. 实验步骤:- 连接PLC控制器和交通信号灯模拟器;- 配置PLC控制器的输入和输出端口;- 编写PLC程序,实现交通信号灯的控制逻辑;- 上传程序到PLC控制器;- 运行实验,观察交通信号灯的变化。
四、实验结果与分析通过实验,我们成功地实现了PLC交通信号灯控制系统。
根据交通信号灯的控制逻辑,我们将其分为红灯、绿灯和黄灯三个状态。
在实验中,我们设置了不同的时间间隔,以模拟实际交通信号灯的运行情况。
通过观察实验结果,我们发现PLC交通信号灯控制系统具有以下优点:1. 稳定性:PLC控制器能够稳定地执行程序,确保交通信号灯按照预定逻辑运行,减少了人为操作的误差;2. 灵活性:PLC编程可以根据实际需求进行调整和修改,方便对交通信号灯进行灵活的控制;3. 可靠性:PLC控制器具有较高的可靠性和耐用性,能够在恶劣的环境条件下正常运行。
然而,PLC交通信号灯控制系统也存在一些局限性:1. 成本较高:PLC控制器和相关设备的价格相对较高,对于一些资源有限的地区可能不太实际;2. 维护困难:PLC控制器需要专业人员进行维护和修复,对于技术水平较低的地区可能存在一定的困难;3. 受限于编程能力:PLC编程需要一定的技术知识和经验,对于一些缺乏相关背景的人员来说,可能需要额外的培训。
五、结论通过本次实验,我们深入了解了PLC交通信号灯控制系统的原理和应用。
交通信号灯设计报告
单片机应用技术报告题目:交通灯应用系统班级:10电子信息小组:第九组目录1.摘要2.51单片机的功能与简介3.交通灯方案4.主程序流程图5.原理图及说明6.调试过程及流程图7.总结摘要:分析了现代城市交通控制与管理问题的现状,结合城乡交通的实际情况阐述了交通灯控制系统的工作原理,给出了一种简单实用的城市交通灯控制系统的硬件电路设计方案。
1、51单片机的功能与简介51单片机是对目前所有兼容Intel 8031指令系统的单片机的统称。
该系列单片机的始祖是Intel的8031单片机,后来随着Flash ROM 技术的发展,8031单片机取得了长足的进展,成为目前应用最广泛的8位单片机之一,其代表型号是ATMEL 公司的AT89系列,它广泛应用于工业测控系统之中。
目前很多公司都有51系列的兼容机型推出,在目前乃至今后很长的一段时间内将占有大量市场。
51单片机是基础入门的一个单片机,还是应用最广泛的一种,对初学者来说是比较适合的学习单片机的。
2、交通信号灯方案:(1)、南北直行绿灯亮,东西直行红灯亮,延时。
(2)、南北直行绿灯闪烁几次转黄灯,南北左转(固定绿灯)亮,南北直行红灯亮,东西直行仍然红灯亮,延时。
(3)、南北左转灯闪几次转黄灯,东西直行绿灯亮,南北直行仍然红灯,延时。
(4)、东西直行绿灯闪烁几次转黄灯,东西左转灯亮,东西直行红灯亮,南北直行仍然红灯,延时。
(5)、循环至1,继续。
(这里左转时绿灯亮,不转时灭)(6)、倒计时部分。
(南北、东西方向时间独立)3、引脚分配及元件清单5、主程序流程图:(1)定时0中断流程图:WW BIT 00H;1s标志位MM EQU 40H;秒值计数器,用于累加秒值AA EQU 41H ;中断次数,用于统计定时中断的次数BB EQU 5EH ;定义5eh,5fh为显示缓冲区XIAOYING EQU 10;消隐吗在字形表的第十位ORG 0000H; 程序从0000h开始JMP MAIN;ORG 000BH;定时器t0中断人口LJMP TIME0ORG 0003H;外部中断入口LJMP INT_0ORG 030H;主程序从这里开始MAIN: MOV SP,#70HMOV MM,#0;秒计数器MOV MM,#30;MOV BB,#3;立即数送显示缓冲区十位MOV BB+1,#0;立即数送个位缓冲区ACALL DISP;调显示子程序ACALL TIME0_INIT;;调定时器t0初始化子程序CLR WW; 清零秒标志位;/*****--------- 南北车辆直行15S --------L1: mov p1,#07eh ;绿灯共亮10SACALL LOOP3 //调用显示程序MOV R7,MMCJNE R7,#21,L1; 到21S时跳转到绿灯闪烁L2: mov p1,#0feh ; 灭绿灯闪3次ACALL LOOP3JBC WW,L2L3: mov p1,#7eh; 亮ACALL LOOP3JBC WW,L3 WW秒标志位不为1,继续循环MOV R7,MMCJNE R7,#15,L2 ; 南北直行绿灯共亮15S*------------------ 南北左拐10S ----------------------------- */SETB P1.7 ;灭南北绿灯mov p1,#0BEh ;亮南北黄灯,同时亮南北直行红灯ACALL LOOP3JBC WW,L2L16: ACALL LOOP3JBC WW,L16SETB P1.6 ; 灭南北黄灯共亮3SACALL LOOP3JBC WW,L2L4: mov p1,#0ceh ;亮南北左拐灯ACALL LOOP3MOV R7,MMCJNE R7,#6,L4 ;L5: mov p1,#0deh; 南北左拐灯闪3次ACALL LOOP3JBC WW,L2mov p1,#0ceh ;ACALL LOOP3JBC WW,L3MOV R7,MMCJNE R7,#2,L5;SETB P1.4 灭左拐灯L6: CLR P1.6 亮黄灯ACALL LOOP3JBC WW,L6L15 : ACALL LOOP3JBC WW,L15;/*==================东西方向直行15S ===================*********/ L7: mov p1,#0dbh ; // 东西绿灯亮ACALL LOOP3MOV R7,MMCJNE R7,#21,L7;L8: mov p1,#0dfh ;绿灯闪3次ACALL LOOP3JBC WW,L8L9: mov p1,#0dbh;ACALL LOOP3JBC WW,L9MOV R7,MMCJNE R7,#15,L8 ;/*=========== 东西左拐10S ========== */ SETB P1.2 ;灭东西绿灯mov p1,#0DDh ;亮黄灯ACALL LOOP3JBC WW,L8ACALL LOOP3JBC WW,L8L17: SETB P1.1 ;灭黄灯ACALL LOOP3JBC WW,L8L10: mov p1,#0d6h;亮左转灯ACALL LOOP3MOV R7,MMCJNE R7,#6,L10 ;L11: mov p1,#0deh;灭东西左拐灯ACALL LOOP3JBC WW,L11mov p1,#0d6h ;ACALL LOOP3JBC WW,L11MOV R7,MMCJNE R7,#2,L11;SETB P1.3L12: CLR P1.1;亮黄灯ACALL LOOP3JBC WW,L12ACALL LOOP3L18: JBC WW,L18LJMP L1; ------- 中断0服务程序---------INT_0:PUSH ACCPUSH PSWMOV P1,#0FFHMOV P2,#0FFHMOV MM,#11L13: ACALL LOOP3mov p1,#0deh ;东西红灯亮;南北红灯亮MOV A,MMCJNE A,#1,L13MOV P1,#0FFHMOV P2,#0FFHPOP ACC ;恢复现场POP PSWRETI/***============显示子程序=============*/ LOOP3:NOPLOOP: JBC WW,NEXT;WW为1,说明1s到ACALL DISP;不为1调用显示子程序AJMP LOOP;一秒未到继续循环NEXT: lCALL CC ;调用转换子程序RETCC: MOV A,MM;获得秒值,并送到aMOV B,#10DIV ABJZ NEXT1;如果a中的值为0,高位消隐AJMP NEXT2;否则直接送去显示NEXT1:MOV A,#XIAOYING;消隐码送aNEXT2:MOV BB,A;十位送显示BBMOV BB+1,B;个位送BB+1ACALL DISP ;调用显示子程式RET;----- 显示子程序-------DISP: PUSH ACCPUSH PSWMOV A,BB;去十位带显示位MOV DPTR,#TAB;MOVC A,@A+DPTRMOV P0,ACLR P2.1ACALL DELAYSETB P2.1MOV A,BB+1MOV DPTR,#TAB;MOVC A,@A+DPTRMOV P0,ACLR P2.0ACALL DELAYSETB P2.0POP PSWPOP ACCRET; -----------10ms延时子程序----------- DELAY:MOV R5,#50LOOP2:MOV R4,#100LOOP1: DJNZ R4,LOOP1DJNZ R5,LOOP2RET;定时初始化程序TIME0_INIT:MOV TMOD,#01HMOV TH0,#3CHMOV TL0,#0B0HCLR IT0;SETB EASETB EX0;开外部中断0SETB PT0 ; 定时器中断优先SETB ET0SETB TR0;启动定时器RET;----------定时50ms中断程序--------TIME0:PUSH ACCPUSH PSWMOV TH0,#3CHMOV TL0,#0B0HINC AAMOV A,AACJNE A,#20,TIME_EXIT;20*50=1MOV AA,#0;SETB WW;DEC MM;MOV A,MM;CJNE A,#0,TIME_EXIT;若秒值不到30,则跳转到TIME_EXITMOV MM,#30;若秒数到30,则秒值计数复位为0TIME_EXIT:POP PSWPOP ACCRETITAB:DB 0C0H,0F9H,0A4H,0B0H,99H;DB 92H,82H,0F8H,80H,90H,0FFHEND4、原理图说明:交通灯的计数的数码管用采用了动态扫描方式来计时,由于单片机的输出负载驱动数码管能力不足,所以用了74LS240作为数码管的驱动芯片,使得数码管能正常工作。
实验报告
电子技术课程设计交通信号灯设计报告一、设计课题名称交通信号灯控制器二、设计任务及要求1.用两组红、绿、黄发光二极管作信号灯,分别指示主道和支道的通行状态;2.通行状态自动交替转换,主道每次通行30秒,支道每次通行20秒,通行交替间隔时间为5秒;3.通行状态转换依照“主道优先”的原则,即:当主道通行30秒后,若支道无车则继续通行;当支道通行20秒后,只有当支道有车且主道无车时才允许继续通行。
(用按键模拟路口是否有车)4.设计计时显示电路,计时方式尽量采用倒计时。
三、总体方案设计,画出系统原理框图1.分析:本设计中,共需要6部分单元电路:(1)车辆检测电路:此次我采用两个开关模拟车辆情况,主要用于控制主路和支路是否有车,其组合共包含四种情况;在设计过程中,也可用555感应电路做为开关控制主路、支路是否有车。
(2)时基电路:产生稳定的周期为1秒即频率为1Hz的时钟脉冲,为计时电路提供计时所需的时钟脉冲。
(3)计时控制电路:通过方波时钟信号、主控电路置数信号倒数计数。
(4)主控电路:根据车辆检测电路的状态来控制计时电路,主要功能为控制计时控制电路的交替30秒,20秒,5秒的循环计时工作,并能做到当某条道路优先通行时,电路计时最终显示停止在00状态。
(5)计时显示电路:将计时电路的输出显示为2位十进制数码,表示倒计通行时间,并通过数码管显示。
(6)交通灯控制电路:通过主控电路控制两车道亮灯情况,以此调节路面情况,实现交通顺畅。
2.原理框图:主干道支干道红黄绿红黄绿计时显示电路译码驱动电路车辆检测电路主控电路时基电路计时控制电路图1 交通灯控制电路原理框图四、单元电路设计,参数计算和元器件选择1.车辆检测电路由两个单刀双置开关组成,设主路开关为1X ,并且1X =1,代表主路有车;1X =0,代表主路没车。
支路开关为2X ,并且2X =1,代表支路有车;2X =0,代表支路没车。
2.时基电路 (1)基本原理主要使用555芯片连接成为多谐振荡器,产生1Hz 的方波信号。
交通灯控制系统课程设计报告(参考)
衢州学院微机原理及应用课程设计报告交通灯控制系统姓名:学号:专业班级:指导老师:所在学院:年月日摘要关键词:单片机,交通灯本设计是在熟练掌握单片机及其仿真系统使用方法基础上,综合应用单片机原理、微机原理、电子技术等课程方面的知识,设计一个采用AT89S52单片机控制的交通灯控制电路。
该设计给出了一种简单低成本交通灯控制系统的硬件和软件设计方案、及其各个路口交通灯的状态循环显示,并通过程序流程图详细进行讲解与分析。
十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。
那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。
交通信号灯控制方式很多。
本系统采用MSC-51系列单片机ATS89S52设计交通灯控制器,红绿灯循环点亮,倒计时剩5秒时黄灯闪烁警示,红绿灯信号通过P2口输出,显示时间直接通过单片机P0口和选择端送至双位数码管,通过扫描程序实现东西和南北方向数据的显示,同时能用控制按键设置红、绿灯点亮时间,当遇到特殊情况时,可设置仅南北方向通行或东西方向上通行,或者两个方向上都为红灯,在此情况下,报警器会发出报警,提醒过往行人。
本系统实用性强、操作简单。
本设计是模仿交通灯控制系统设计的一个交通灯控制电路。
系统硬件的设计部分采用AT89S52单片机为核心器件,加以复位电路,时序电路构成最小系统,并通过驱动电路、数码管及晶体管构成显示部分。
通过中断扩展实现交通灯系统特殊情况的转换。
系统软件的设计部分分为一个主程序和两个中断子程序,一个用于有紧急车辆通过时,系统要能禁止普通车辆通行,实行中断可使A(东西道)、B(南北道)两道均亮红灯;另一个用于一道有车而另一道无车时,通过控制交通灯系统能立即让有车道放行,假如A道有车B道无车,按一下K0可以控制交通灯系统能立即让东西道放行,再按恢复;假如南北道有车东西道无车,按一下K1可以控制交通灯系统能立即南北道放行,再按恢复。
目录1.概述 (3)1.1本次课程设计的意义 (3)1.2本次课程设计的任务及要求 (3)2 系统总体方案及硬件设计 (4)2.1总体设计方案 (4)2.2系统硬件电路设计 (4)3.软件设计 (8)3.1系统分析 (8)3.2参数计算 (8)3.3程序设计 (9)4.课程设计的体会 (14)参考文献 (15)附1:源程序代码 (15)附2:系统原理图 (23)1.概述1.1本次课程设计的意义在现代社会,单片机已经广泛深入应用到工业控制、智能仪表、机械、航空、家电、金融等各个领域。
交通信号灯控制系统设计实验报告
十字路口交通信号灯控制系统设计专业:应用电子技术班级:09应电五班*名:**0906020129*名:***0906020115指导教师:***2011.6.11目录摘要…………………………………………………….……….3.一、绪论 (4)二、PLC 的概述 (5)2.1、概述 (5)2.2、PLC的特点 (5)2.3、PLC的功能 (5)三、交通灯控制系统设计 (6)3.1、控制要求 (6)3.2、交通灯示意图 (6)3.3、交通灯时序图 (7)3.4、交通灯流程图 (7)3.5、I/0口分配 (8)3.6、定时器在1个循环中的明细表 (8)3.7、程序梯形图 (10)四、设计总结 (12)参考文献 (12)摘要PLC可编程控制器是以微处理器为基础,综合了计算机技术、自动控制技术和通讯技术发展而来的一种新型工业控制装置。
它具有结构简单、编程方便、可靠性高等优点,已广泛用于工业过程和位置的自动控制中。
据统计,可编程控制器是工业自动化装置中应用最多的一种设备。
专家认为,可编程控制器将成为今后工业控制的主要手段之一,PLC、机器人、CAD/CAM将成为工业生产的三大支柱。
由于PLC具有对使用环境适应性强的特性,同时具内部定时器资源十分丰富,可对目前普通的使用的“渐进式”信号灯进行精确的控制,特别对多岔路口的控制可方便的实现。
因此现在越来越多的将PLC应用于交通灯系统中。
同时,PLC本身还具有通讯联网的功能,将同一条道路上的信号灯组成一局域网进行统一调度管理,可缩短车辆通行等候时间,实现科学化管理。
一、绪论当今,红绿灯安装在各个道口上,已经成为疏导交通车俩最常见和最有效的手段。
但这一技术在19世纪就已经出现。
1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。
这是世界上最早的交通信号灯。
1868年英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前得广场上,安装了世界上最早的煤气红绿灯。
十字路口交通信号灯控制系统设计开题报告
一、本课题来源及研究的目的和意义
1、课题来源
石河子大学信息科学与技术学院
2、本课题研究的目的和意义 研究背景:
交通是当今世界上一大热门课题,也是世界上多发性灾害中发生频率较高的一种灾害, 它给人们带来便捷的服务,也威胁着人们的生命安全,是世界各国人民所面临的一个共同的 问题。随着社会的日益进步,人民的生活质量也有很大的提高,人们出行的安全问题也成了 重要话题。因此,如何防止交通事故,保护人们的出行安全,减少伤亡成了至关重要的问题。 而十字路口是交通事故最多发生的地点,十字路口车辆穿梭,行人熙攘,车行车道,人行人 道,有条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。因 此本课题设计基于 stc-89c52 的十字路口交通灯控制器,以使城市交通安全畅通。
目前国内设计交通灯的方案有很多,有应用 CPLD 设计实现交通信号灯控制器方法;有 应用 PLC 实现对交通灯控制系统的设计;有应用单片机实现对交通信号灯设计的方法。交通 灯一般设在十字路门,在醒目位置用红、绿、黄三种颜色的指示灯。加上一个倒计时的显示 计时器来控制行车。对于一般情况下的安全行车,车辆分流尚能发挥作用,但根据实际行车 过程中出现的情况,还存在以下缺点:1.两车道的车辆轮流放行时间相同,在十字路口, 经常一个车道为主干道,车辆较多,放行时间应该长些;另一车道为副干道,车辆较少,放 行时间应该短些。2.两条干道的红绿时间不能随时间的改变而修改。
系统技术实现分析与设计;
(4)9-12 周
系统功能模块设计;
(5)13-14 周 系统调试、修改;
(6)15-16 周 系统运行调试、撰写论文及文档,准备答辩。
总计 16 周(自 2012 年 12 月 29 日起)
七、主要参考文献
PLC控制交通信号灯实验报告
PLC控制交通信号灯实验报告实验报告:PLC控制交通信号灯一、实验目的本实验旨在通过PLC控制,实现对交通信号灯的控制和调度。
通过编程和调试,使交通信号灯能够按照规定的时间间隔进行红绿灯的切换,以实现交通的有序通行。
二、实验器材1.S7-1200PLC控制器2.数字输入模块3.数字输出模块4.交通信号灯模型三、实验原理交通信号灯控制系统是通过PLC控制,通过红、绿、黄三种灯光的切换来控制车辆和行人的通行。
系统中使用三个输出模块控制三种灯光的亮灭,一个输入模块用于接收行人请求的信号。
根据一定的时序控制,通过PLC编程,实现灯光的切换和调度。
四、实验步骤1.搭建PLC控制器和信号灯的硬件连接。
2.将信号灯的红灯接到Q0.0(输出模块的输出口0);将信号灯的绿灯接到Q0.1;将信号灯的黄灯接到Q0.2;将行人请求按钮接到I0.0(输入模块的输入口0)。
3.打开PLC编程软件,进行逻辑图的编程。
4.编写程序,设置红灯亮10秒、黄灯亮3秒、绿灯亮10秒、再次黄灯亮3秒,循环往复。
6.观察交通信号灯的切换情况,检查是否按照预期的时间间隔进行灯光切换。
五、实验结果经过编程和调试,实验中的交通信号灯实现了按照预定的时序进行红绿灯的切换。
每个灯的亮灭时间符合要求,红灯亮10秒,黄灯亮3秒,绿灯亮10秒,再次黄灯亮3秒,循环往复。
六、实验总结通过这个实验,我们深入理解了PLC控制器的原理和编程的方法。
实验实现了交通信号灯的控制与调度,使交通能够有序通行。
实验中,我们主要学会了PLC控制的编程方法,使用输入输出模块连接外部设备,以及对程序进行调试的技巧。
在实验过程中,我们也遇到了一些问题和困难。
比如,编程逻辑的构思和写出正确的程序。
需要进行多次调试,才能保证灯的切换和亮灭时间的准确性。
此外,我们还意识到交通信号灯的控制非常重要,对于道路交通的安全性和畅通性起到了关键作用。
通过PLC控制交通信号灯,可以实现更准确,更可靠的灯光切换,提高了交通系统的效率和安全性。
交通灯设计实验报告
《电子技术实践及仿真》孙丽霞主编
《数字电子计数基础》周良权主编
0
1
0
0
0
0
1
3
1
1
1
0
0
0
1
0
0
0
0
1
4
1
1
1
1
0
0
1
0
0
0
0
1
5
1
1
1
1
1
0
0
1
0
0
0
1
6
1
1
1
1
1
1
0
0
1
1
0
0
7
0
1
1
1
1
1
0
0
1
1
0
0
8
0
0
1
1
1
1
0
0
1
1
0
0
9
0
0
0
1
1
1
0
0
1
1
0
0
10
0
0
0
0
1
1
0
0
1
1
0
0
根据状态表,不难列出东西方向和南北方向绿,黄,红灯的逻辑表达式:
东西方向绿灯:EWG=Q4Q5
图3
B.控制器电路
本实验选用8位寄存器74LS164组成扭环行十二进制计数器。扭环型十二进制计数器的模块电路图4示:
表5扭环形十二进制计数器的状态表
t
计数器输出
南北方向
东西方向
Q0
交通灯控制实验报告
一、实验目的1. 理解交通灯控制系统的工作原理和基本组成。
2. 掌握PLC(可编程逻辑控制器)编程和调试方法。
3. 学习交通灯控制系统的硬件连接和电路设计。
4. 提高实际应用中解决复杂问题的能力。
二、实验原理交通灯控制系统是城市交通管理的重要组成部分,其基本原理是通过对交通信号灯进行控制,实现交通流量的有序疏导。
本实验采用PLC作为控制核心,通过编写程序实现对交通灯的定时控制。
三、实验器材1. PLC主机2. 交通灯控制模块3. 电源模块4. 交通灯模型5. 连接线四、实验步骤1. 硬件连接:- 将PLC主机与交通灯控制模块、电源模块和交通灯模型连接。
- 将PLC主机与计算机连接,以便进行程序编写和调试。
2. 程序编写:- 根据交通灯控制要求,编写PLC程序。
- 程序主要包括以下部分:- 启动信号处理:检测启动开关状态,控制交通灯开始工作。
- 定时控制:根据设定的时间,控制交通灯的红、黄、绿灯亮灭。
- 紧急处理:检测紧急处理开关状态,实现交通灯的紧急控制。
3. 程序调试:- 在计算机上运行PLC程序,观察程序运行效果。
- 根据实际情况,对程序进行调试和优化。
4. 实验验证:- 在实际硬件环境中运行程序,观察交通灯控制效果。
- 验证程序是否满足实验要求。
五、实验结果与分析1. 实验结果:- 在实验过程中,成功实现了交通灯的控制,实现了红、黄、绿灯的定时切换。
- 在紧急情况下,能够实现交通灯的紧急控制。
2. 结果分析:- 通过实验,掌握了PLC编程和调试方法,提高了实际应用中解决复杂问题的能力。
- 实验结果表明,所设计的交通灯控制系统具有良好的稳定性和可靠性。
六、实验总结本次实验成功实现了交通灯控制系统的设计与实现,达到了预期目标。
通过实验,我们掌握了以下知识点:1. 交通灯控制系统的工作原理和基本组成。
2. PLC编程和调试方法。
3. 交通灯控制系统的硬件连接和电路设计。
本次实验提高了我们的实际应用能力,为以后从事相关领域工作奠定了基础。
基于单片机的交通灯设计报告
基于单片机的交通灯设计报告交通灯是指示交通流动规则的电子设备,它在道路交叉口上起到了至关重要的作用。
为了更好地控制交通流量,减少交通事故的发生,本文介绍了一个基于单片机的交通灯设计。
首先,整个系统采用STM32单片机作为控制器,具有较强的处理能力和稳定性。
该单片机集成了丰富的外设资源,包括GPIO口、定时器和串口等,能够实现交通灯的各种功能。
系统中的交通灯分为红、黄、绿三种信号灯,分别代表停车、准备出发和通行的指示。
这三种信号灯按照交通信号灯的规定顺序进行切换,使司机和行人能够清晰地知晓当前的交通状态。
为了实现交通灯的控制,系统采用了定时器中断来实现定时切换信号灯。
通过设置定时器,可以控制每种信号灯亮的时间,从而模拟真实道路上的交通流动。
在每个定时器中断中,通过改变GPIO口的电平来控制信号灯的亮灭。
在交通灯系统中,还加入了对交通流量的检测,并根据流量大小来调整信号灯的显示时间。
通过设置红、黄、绿灯的显示时间来平衡各个方向上的交通流量,保证交通流畅和安全。
此外,系统还具备手动控制的功能,可以通过串口或者按键来手动切换信号灯。
这样在特殊情况下,如施工、事故等,交通灯可以手动控制,提高路面的通行效率。
在设计交通灯系统时,还要考虑到系统的稳定性和可靠性。
通过设置合适的硬件电路和软件程序,防止因噪声、干扰和其他因素引起的系统故障和误操作。
总之,基于单片机的交通灯设计可以实现有效的交通流控制,提高交通安全和通行效率。
在实际应用中,还可以加入更多的功能和优化算法来适应不同的交通场景。
这种设计不仅仅可以用于道路交通,还可以应用于地铁、机场、停车场等各种交通场所。
plc交通信号灯实验报告
plc交通信号灯实验报告PLC交通信号灯实验报告摘要:本实验旨在利用PLC(可编程逻辑控制器)技术设计和实现交通信号灯控制系统。
通过实验,我们测试了PLC控制交通信号灯的可行性,并对系统进行了性能评估。
实验结果表明,PLC技术能够有效地控制交通信号灯,提高交通效率,确保交通安全。
1. 引言交通信号灯是城市交通管理的重要组成部分,它能够有效地引导车辆和行人,保障交通的顺畅和安全。
传统的交通信号灯控制系统通常采用计时器或者电控系统,但这些系统存在着一定的局限性,如难以灵活调整、维护成本高等。
而PLC技术作为一种先进的控制技术,具有灵活性高、可靠性强、易于维护等优点,因此被广泛应用于工业控制系统中。
本实验旨在利用PLC技术设计和实现交通信号灯控制系统,验证其在交通管理中的可行性和效果。
2. 实验目的(1)了解PLC技术的基本原理和应用;(2)设计并实现交通信号灯控制系统;(3)测试PLC控制交通信号灯的性能,并对系统进行评估。
3. 实验内容(1)PLC控制交通信号灯的设计和搭建;(2)对交通信号灯进行不同情况下的控制实验,如车辆流量大、行人过街等;(3)对系统进行性能评估,如响应速度、稳定性等。
4. 实验步骤(1)搭建实验平台,包括PLC控制器、交通信号灯等设备;(2)编写PLC程序,实现对交通信号灯的控制;(3)进行交通信号灯控制实验,记录实验数据;(4)对实验数据进行分析和评估。
5. 实验结果与分析经过实验,我们成功地利用PLC技术设计和实现了交通信号灯控制系统。
在不同情况下,系统能够有效地控制交通信号灯,提高交通效率,确保交通安全。
实验数据显示,PLC控制交通信号灯的响应速度快,稳定性好,具有较高的可靠性和灵活性。
因此,PLC技术在交通信号灯控制中具有广阔的应用前景。
6. 结论本实验验证了PLC技术在交通信号灯控制中的可行性和效果,为城市交通管理提供了新的解决方案。
PLC控制交通信号灯能够有效地提高交通效率,确保交通安全,具有较高的可靠性和灵活性。
PLC课程设计报告 红绿灯
《可编程控制器技术》课程设计题目:交通信号灯控制设计学院:信息工程与自动化系:通信专业:通信工程年级:姓名:学号:分数:一、需求分析1.1需求分析交通灯通常指由红、黄、绿三种颜色灯组成用来指挥交通的信号灯。
绿灯亮时,准许车辆通行,黄灯亮时,已越过停止线的车辆可以继续通行;红灯亮时,禁止车辆通行。
在如今的社会里,交通灯必不可少,没有交通灯就没有交通秩序,因此此次课程设计设计一个传统的交通灯。
1.2 实现目标红灯亮时,禁止车辆通行,绿灯亮时,准许车辆通行,黄灯亮时,已越过停止线的车辆可以继续通行,没有越过停止线的的需要停车,禁止通行。
红灯亮30秒,绿灯28秒,黄灯2秒。
二、系统设计2.1 流程图及分析2秒后后分析:启动电源后,东西红灯亮(r1),南北绿灯亮(g2);28秒后,东西红灯亮(r1),南北黄灯亮(y2);2秒后,南北红灯亮(r2),东西绿灯亮(g1);28秒后,南北黄灯亮(r2),东西黄灯亮(y1);循环。
2.2 时序图及分析东西向红灯黄灯绿灯南北向 红灯黄灯绿灯0 6 12 18 24 2830 36 42 4854 58 60分析:高电平为灯亮,低电平为灯灭。
前30秒内:东西方向红灯为高电平,南北方向绿灯为高电平,28秒后,南北方向黄灯由低电平转为高电平保持2秒,绿灯由高电平转为低电平;后30秒, 南北方向红灯为高电平,东西方向绿灯为高电平,28秒后, 东西方向黄灯由低电平转为高电平保持2秒,绿灯由高电平转为低电平。
此过程为一个周期。
2.3 接线图及分析分析:在接线时,程控端的公共端接5V 电源的负极,红绿灯的公共端接电源的正极,而红绿灯灯的另一端接程控器的输出端。
2.4 梯形图及分析分析:启动电源后,东西红灯亮(r1),南北绿灯亮(g2);28秒后,东西红灯继续亮(r1),南北绿灯灭(g2),南北黄灯亮(y2);2秒后,东西红灯灭(r1) ,南北红灯亮(r2),东西绿灯亮(g1);28秒后,南北红灯继续亮(r2),东西绿灯灭(g2),东西黄灯亮(y1);东西、南北方向一直保持循环状态。
交通信号灯的plc控制实验报告
交通信号灯的plc控制实验报告交通信号灯的PLC控制实验报告摘要:本实验旨在通过PLC控制交通信号灯的变换,以实现交通流量的优化和交通事故的减少。
通过对PLC编程的学习和实践,我们成功地设计了一个基于PLC的交通信号灯控制系统,并进行了相应的实验验证。
1. 引言交通信号灯是城市道路交通管理的重要组成部分,它通过不同颜色的信号灯指示车辆和行人的通行情况。
传统的交通信号灯控制方式往往由定时器控制,无法根据实际交通情况进行灵活调整,容易造成交通拥堵和事故。
而PLC作为一种可编程控制器,具有灵活性强、可靠性高的特点,可以实现对交通信号灯的智能控制。
2. 实验目的本实验的主要目的是设计一个基于PLC的交通信号灯控制系统,实现对交通流量的优化和交通事故的减少。
通过实验验证PLC在交通信号灯控制方面的应用效果,并对实验结果进行分析和总结。
3. 实验装置和方法本实验所使用的装置包括PLC控制器、交通信号灯模型和传感器。
首先,我们根据实际交通场景设计了交通信号灯的控制逻辑,并使用PLC编程软件进行程序设计。
然后,将PLC控制器与交通信号灯模型和传感器连接,进行实验验证。
4. 实验结果和分析在实验过程中,我们通过改变交通信号灯的控制逻辑,模拟不同交通流量情况下的信号灯变换。
通过观察和记录交通流量、通行时间等数据,我们发现PLC控制下的交通信号灯能够更加准确地根据实际情况进行调整,提高交通效率。
同时,我们还进行了多组实验对比,验证了PLC控制相较于传统定时器控制的优势。
5. 实验总结通过本次实验,我们深入了解了PLC在交通信号灯控制方面的应用。
PLC控制可以根据实际交通情况进行智能调整,提高交通效率,减少交通事故的发生。
然而,我们也发现在实际应用中,PLC控制系统的可靠性和稳定性仍然存在一定的挑战,需要进一步的研究和改进。
6. 展望未来,我们将继续研究和改进基于PLC的交通信号灯控制系统。
我们希望能够进一步提高系统的可靠性和稳定性,实现更加智能化和精准化的交通信号灯控制。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微机应用系统课程设计报告(交通信号灯控制系统)课程小组成员:1.姓名:xxxx 班级:xxxxxxxxxx,学号:xxxxxxxxxx评语:成绩:2.姓名:xxxx 班级:xxxxxxxxxx,学号:xxxxxxxxxx评语:成绩:3.姓名:xxxx 班级:xxxxxxxxxx,学号:xxxxxxxxxx 评语:成绩:一、课题内容及要求:1. 实验内容:✧设计一个交通信号灯控制系统,要求:✧初始状态为两个方向的红灯全亮,时间6秒。
✧主干道绿灯亮,支干道红灯亮,主干道通车,时间为20秒。
✧主干道黄灯闪烁,支干道红灯亮,时间为6秒。
✧主干道红灯亮,支干道绿灯亮,支干道通车,时间为15秒。
✧主干道红灯亮,支干道黄灯闪烁,时间为6秒。
✧循环显示。
✧通过按键输入时间,使主干道和支干道通车时间一样。
✧画出硬件连接电路图,说明各个控制信号的作用。
✧画出程序流程图,编写程序,硬件连接调试,直至正确。
✧编写课程设计报告。
2. 实验要求编程实现功能,并撰写课程设计报告一份。
二、硬件设计1、硬件原理框图:2、设计电路:设计电路主要由四部分组成,一是P1口与十二个发光二极管连接电路,二是P0口、部分P2口和部分P3口与8255连接电路,三是8255的PA口、PB口与四个两位数码管的连接电路,四是8255的PC口与矩阵键盘的连接电路。
3、交通灯电路:设计中采用发光二极管作为交通灯来使用,单片机的I/O接口直接和交通灯(发光二极管)连接。
在十字路口的四组红、黄、绿三色交通灯中,东西方向道路上的两组同色灯连接在一起,南北方向道路上的两组同色的灯也彼此连接在,受单片机P1.0~P1.5控制。
单片机的I/O接口与交通灯电路的具体连接方式为:P1.0~P1.2分别接东西方向的红、黄、绿共6个放光二极管,P1.3~P1.5分别接南北方向的红、黄、绿共6个发光二极管。
12个发光二极管采用了共阴极的连接方式,因此I/O口输出高电平时,与之相连的发光二极管会亮,I/O口输出低电平时,相应的发光二极管会灭。
交通灯电路如下图所示4、倒计时显示电路:该显示装置选用双位数码管来显示交通灯转换的剩余时间,根据控制要求,每个路口需要1个数码管,这样四个路口就要求4个数码管。
我们可以选用共阴型数码管。
四个路口倒计时显示被置在同一时刻显示不同的数字。
电路如下图5、按键模块:按键模块主要利用经过8255扩展之后的PC口来控制的。
当有按键被按下时,PC口会产生低电平,按下不同键会调用相应的子程序,根据不同的按键进行相应的处理6、仿真电路及效果图:(1)仿真电路:(2)仿真效果:三、软件设计1、主程序流程图:2、系统程序设计 系统工作原理: (1)主程序:本设计系统以单片机为控制核心,连接成最小系统。
按键设置模块产生信号输入,信号灯状态模块显示通行状态,LED 倒计时模块模块接受信号并输出。
单片机上电后,系统进入正常工作状态,执行交通灯状态显示控制,同时将时间数据倒计时输入到LED数码管上实时显示。
在此过程中系统一直查询是否有时间调节服务。
(2)按键程序:按键采用查询方式进行处理,当某个键按下时,单片机确认外设已“准备好”,然后进行相应处理,(3)显示程序:显示主要包括数码管的时间显示和交通灯的交通状态显示,本设计包含六种正常交通状态。
3、程序源代码:#include <reg51.h>#include <absacc.h>#define uchar unsigned char#define uint unsigned int#define PAC XBYTE[0x7fff]#define PA XBYTE[0x7cff]#define PB XBYTE[0x7dff]#define PC XBYTE[0x7eff]#define state0 6#define state1 20#define state2 6#define state3 0#define state4 6#define KEYP PC //定义按键连接到PC口//定义数码管字形0~15、a~fuchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x5f,0x7c,0x58,0x5e,0x7b,0x71};char disp=0x3f; //声明七段显示初值为小数点uchar scan[4]={0xef,0xdf,0xbf,0x7f}; //显示器几件判断扫描码sbit red_a=P1^0;sbit yellow_a=P1^1;sbit green_a=P1^2;sbit red_b=P1^3;sbit yellow_b=P1^4;sbit green_b=P1^5;uchar flash_count=0,operation_type=0;//延时void delay_ms(uchar x){uchar h;while(x--){ for(h=0;h<120;h++);} //延时1ms}//灯状态子程序?void traffic_light_0(uchar x){uchar i,n;red_a=0;yellow_a=1;green_a=1; //东西通行red_b=0;yellow_b=1;green_b=1; //南北通行for(i=x;i>0;i--){for(n=1000;n>0;n--){PB=0x0a;PA=table[i/10]; //十位delay_ms(2);PB=0x05;PA=table[i%10];//个位delay_ms(2);}}}void traffic_light_1(uchar x){uchar i,n;red_a=1;yellow_a=1;green_a=0; //东西通行red_b=0;yellow_b=1;green_b=1; //南北通行for(i=x;i>0;i--){for(n=500;n>0;n--){PB=0x0e;PA=table[i/10];delay_ms(1);PB=0x0d;PA=table[i%10];//主东西delay_ms(1);PB=0x0b;PA=table[(i+6)/10];delay_ms(1);PB=0xf7;PA=table[(i+6)%10]; //支南北delay_ms(1);}}}void traffic_light_2(uchar x){uchar i,n;for(i=x;i>0;i--){yellow_a=~yellow_a;green_a=1;for(n=1000;n>0;n--){PB=0x0a;PA=table[i/10];delay_ms(2);PB=0x05;PA=table[i%10];delay_ms(2);}flash_count++;if(flash_count==6)break;//闪烁3次}flash_count=0;}void traffic_light_3(uchar x){uchar i,n;red_a=0;yellow_a=1;green_a=1; //东西通行red_b=1;yellow_b=1;green_b=0; //南北通行if(x==0){for(i=15;i>0;i--){for(n=250;n>0;n--){PB=0x0e;PA=table[(i+6)/10];delay_ms(1);PB=0x0d;PA=table[(i+6)%10];//主东西delay_ms(1);PB=0x0b;PA=table[i/10];delay_ms(1);PB=0xf7;PA=table[i%10]; //支南北delay_ms(1);}}}else{for(i=x;i>0;i--){for(n=248;n>0;n--){PB=0x0e;PA=table[(i+6)/10];delay_ms(1);PB=0x0d;PA=table[(i+6)%10];//主东西delay_ms(1);PB=0x0b;PA=table[i/10];delay_ms(1);PB=0xf7;PA=table[i%10]; //支南北delay_ms(1);}}}}void traffic_light_4(uchar x){uchar i,n;for(i=x;i>0;i--){yellow_b=~yellow_b;green_b=1;for(n=1000;n>0;n--){PB=0x0a;PA=table[i/10];delay_ms(2);PB=0x05;PA=table[i%10];delay_ms(2);}flash_count++;if(flash_count==6)break;//闪烁3次}flash_count=0;}// /* 键扫描函数*///扫描4x4键盘几4个七段显示器函数//PC口接入键盘PC口高4位做输出低4位做输入uchar scanner() //扫描函数开始{uchar col,row; //声明变量(col列,row行)uchar rowkey,kcode; //声明变量(rowkey行键值,kcode按键码)delay_ms(2); //消除键盘抖动for(col=0;col<4;col++) //for循环,扫描第col列{KEYP=scan[col]; //高4位输出扫描信号,低4位输入行值PA=disp; //输出数字rowkey=~KEYP&0x0f; //读入KEYP低4位,再清除高4位求出行键值if(rowkey!=0) //若有按键按下{if(rowkey==0x01)row=0; //若第0行被按下else if(rowkey==0x02)row=1; //若第1行被按下else if(rowkey==0x04)row=2; //若第2行被按下else if(rowkey==0x08)row=3; //若第3行被按下kcode=4*col+row; //算出按键号码disp=table[kcode]; //将键值编码后写入最右侧while(rowkey!=0)rowkey=~KEYP&0x0f; //在读入行键值}delay_ms(4);}return kcode;}//通过按键使交通灯?状态切换void traffic_light(){uchar key,key0,key1;uchar i,m[2];key=scanner();if(key==14)while(1){switch(operation_type){case 0://东西红灯(主干道),南北红灯(支干道)))traffic_light_0(state0);operation_type=1;break;case 1://东西绿灯,南北红灯traffic_light_1(state1);operation_type=2;break;case 2://东西黄闪,绿灯灭traffic_light_2(state2);operation_type=3;break;case 3://东西红灯,南北绿灯traffic_light_3(state3);operation_type=4;break;case 4://南北黄闪,traffic_light_4(state4);operation_type=1;break;}else if(key==15){//delay_ms(1000);while(scanner()==15);for(i=0;i<1;i++){key0=scanner();while(!key0)key0=scanner();delay_ms(1000);m[i]=key0;while(scanner()==key0);}key1=m[0]*10+m[1];while(1){switch(operation_type){case 0://东西红灯(主干道),南北红灯(支干道))traffic_light_0(state0);operation_type=1;break;case 1://东西绿灯,南北红灯traffic_light_1(state1);operation_type=2;break;case 2://东西黄闪,绿灯灭traffic_light_2(state2);operation_type=3;break;case 3://东西红灯,南北绿灯traffic_light_3(key1);operation_type=4;break;case 4://南北黄闪,traffic_light_4(state4);operation_type=1;break;}}}//主程序void main(){PAC=0x81;while(1)traffic_light();}4、调试与运行:(1)按照硬件连接图,东西方向,P1.0接红灯,P1.1接黄灯,P1.2接绿灯;南北方向,P1.3接红灯,P1.4接黄灯,P1.5接绿灯。