《交通灯的可编程控制》教学设计

时间:2019-05-12 19:57:51下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《《交通灯的可编程控制》教学设计》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《《交通灯的可编程控制》教学设计》。

第一篇:《交通灯的可编程控制》教学设计

《交通灯的可编程控制》教学设计

摘 要: 采用任务驱动,由观察实际交通灯的变化引出本次任务,进行任务分析、决策、实施,最后进行总结评价,帮助学生更好地掌握由可编程控制器控制交通灯变化。

关键词: 任务 PLC 十字路口交通灯

可编程控制器是目前应用极为广泛的工业控制专业,是集机、电于一体实践性很强的专业课,是机电专业中专学生的主干课程,也是维修电工国家职业资格的核心课程。

一、教材分析

本节课项目选自《可编程序控制器应用技术》(机械工业出版社 程显吉主编)第二章《S7-200系列PLC的基本指令及寻址方式》中第二节《定时器指令》,本教材是中等职业教育“十一五”规划教材。

二、学情分析

本节课的授课对象是中职机电技术应用专业二年级学生,大多数学生的数理逻辑思维能力差,且注意力难于保持较长时间。学生对纯理论的学习缺乏兴趣,对实践操作兴趣较浓厚,但执行规范的能力及遵守纪律的意识较差。

三、教学目标

(一)知识与技能

1.掌握用PLC控制十字路口交通灯的时序图绘制、I/O分配及实物接线图绘制。

2.掌握西门子PLC基本指令、定时器指令及比较指令的使用。

3.掌握十字路口交通灯的PLC程序设计。

4.掌握简单故障现象的检修。

(二)过程与方法

通过任务分析、任务决策、任务实施、总结与评价,实现“做中学,学中做”。

(三)情感与态度

1.实事求是的学习态度和探究能力。

2.小组合作的团队精神和竞赛意识。

3.树立安全文明生产的观念,形成良好的职业道德。

四、教学重点与难点

(一)教学重点

1.掌握用PLC控制十字路口交通灯的I/O分配及PLC的外部接线图。

2.掌握THSMS-A型实验台上交通灯控制的接线。

3.掌握十字路口交通灯的控制过程,并熟练使用编程软件进行程序编写、下载、调试。

(二)教学难点

1.十字路口交通灯的程序设计。

2.解决在实际操作过程中出现的故障。

五、教学方法

“做中教”,采用情境教学、任务驱动、启发式教学等方法,通过操作演示、启发引导、个别指导、点评反馈等手段展开教学。

“做中学”,采用探究式、讨论式、合作式、实践式等学习方法,通过自主学习和小组合作学习等途径进行学习。

六、教学过程

(一)课前准备

1.布置学生观察某一十字路口交通灯的变化情况,并拍摄一段视频上交。

2.学生查阅书籍,回忆老师讲过的指令思考如果用PLC控制技术实现该路口的交通灯控制,那么怎么办?

(二)课堂活动

1.活动一:项目引入。

老师播放视频,创设情境,抓住学生注意力,激发学生的学习兴趣。

2.活动二:任务分析。

(1)项目描述:PLC实现交通信号灯的控制,规律:先是东西方向绿灯亮25秒,然后闪亮3秒,绿灯闪过之后是东西方向黄灯亮2秒,接下来是南北方向绿灯亮15秒、闪亮3秒及南北方向黄灯亮2秒。在东西方向绿灯亮、闪亮及东西方向黄灯亮的同时,南北方向亮的是红灯;在南北方向绿灯亮、闪亮及南北方向黄灯亮的同时,东西方向亮的是红灯。信号灯按此规律不断重复。(2)老师播放视频,了解最终正确显示结果。(3)引导学生画出十字路口交通灯时序图。

3.活动三:任务决策。

(1)确定I/O分配。(2)绘制PLC外部接线图。(3)绘制实际接线图的连接。(4)确定编程思路及主要使用的指令。

4.活动四:任务实施

(1)播放视频强调安全操作注意点:除调试外,不能带电操作,尤其是接线一定要断电。播放视频老师演示接线。(2)搭建硬件电路,安全接线,并检测接线可靠性。(3)用软件编写梯形图,下载并进行调试。

赛一赛,看哪一组配合得好,做得既快又好,评选出前三名并发小奖品以示鼓励。

(4)故障排除。

5.任务五:提高与总结

(1)对任务实施过程中学生出现的故障进行分析,对照常见故障检修表,和学生一起讨论故障检修的方法,化解难点。赛一赛:设置故障,小组派一名成员进行比赛故障检修,看哪一组快。(2)给出样例程序并进行总结。(3)填写学习过程评价表。

6.任务六:布置作业

七、教学反思

(一)可取之处

1.项目选取“十字路口交通灯的PLC控制”贴近学生生活实际,较好地激发了学生的学习兴趣和学习动机;难度适中,由项目的评估和验收情况来看,95%的同学能够完成任务,锻炼技能的同时,极大提高学习成就感,为今后的继续学习打下坚实基础。

2.教学设计上以十字路口交通灯的控制的整个工作过程为导向,将具体教学目标落实到各个工作任务中,同时,学生工作页中的知识链接、操作指导和教师制作的教学视频,为本项目的教学重点难点提供了所需补充,达到了化难为易的目的。

3.组织形式,通过小组合作学习,较好地实现了优势互补,特别是在故障检修环节,如一个小组内故障不尽相同,这时小组内同学相互检查、排故。另外就常见故障现象及解决办法我列出了表格帮助同学进行排查,较好地解决了难题。

4.评价方式,在教学环节中,变由教师一方评价为学生自评、互评,老师总评的大家一起参与的评价方式,起到了很好的互动作用。

(二)不足之处

进度控制方面,由于学生在知识和能力方面存在较大差异,小组内完成时间相差较多,一定程度上影响了整体进度。

(三)改进措施

进一步做好学情调查,更加合理地组建学习小组,更好地实现互补。

第二篇:十字路口交通灯控制设计

网络教育学院

《可编程控制器》大作业

目: 十字路口交通灯控制设计

学习中心: 辽宁彰武电大学习中心 层 次: 高中起点专科 专 业: 电力系统自动化技术

年 级: 2015 年 秋 季 学 号: ***6 学生姓名: 陈 润 泽

题目五:十字路口交通灯控制设计

起动后,南北红灯亮并维持30s。在南北红灯亮的同时,东西绿灯也亮,东西绿灯亮25s后闪亮,3s后熄灭,东西黄灯亮,黄灯亮2s后,东西红灯亮,与此同时,南北红灯灭,南北绿灯亮。南北绿灯亮25s后闪亮,3s后熄灭,南北黄灯亮,黄灯亮2s后,南北红灯亮,东西红灯灭,东西绿灯亮。依次循环。

十字路口交通灯控制示意图及时序图如下图所示。

设计要求:(1)首先对可编程序控制器(PLC)的产生与发展、主要性

能指标、分类、特点、功能与应用领域等进行简要介绍;

(2)设计选用西门子S7-200 系列PLC,对其I/O口进行分配,并使用STEP7-MicroWIN编程软件设计程序梯形图(梯形图截图后放到作业中);

(3)总结:需要说明的问题以及设计的心得体会。

设计背景 1.1 背景概述

本文对十字路口交通信号灯控制系统,运用可编程逻辑器件PLC做了软件与硬件的设计,能基本达到控制要求。系统仅实现了小型PLC系统的一个雏形,在完善各项功能方面都还需要进一步的分析、研究和调试工作。如果进一步结合工业控制的要求,形成一个较为成型的产品,则需要作更多、更深入的研究。

1.2 可编程逻辑控制器简介

可编程逻辑控制器(Programmable Logic Controller,简称 PLC)根据国际电工委员会(IEC)在1987年的可编程控制器国际标准第三稿中,对其作了如下定义:“可编程控制器是一种数字运算操作的电子系统,专为在工业环境应用而设计的。它采用可编程序的存储器,用来在其内部存储执行逻辑运算,顺序控制,定时,计数与算术运算等操作的指令,并通过数字式、模拟式的输入和输出,控制各种类型的机械或生产过程。可编程控制器及其有关外部设备,都应按易于使工业控制系统形成一个整体,易于扩充其功能的原则设计。”可编程控制器作为目前工业自动化的重要基础设备,被称为“工业自动化三大支柱性产业之一”,在各工业生产领域发挥着愈来愈大的作用。十字路口交通信号灯PLC控制系统简介 2.1 控制对象及要求 2.1.1 控制对象

本系统的控制对象有八个,分别是: 东西方向红灯(R—EW)两个; 南北方向红灯(R—SN)两个; 东西方向黄灯(Y—EW)两个; 南北方向黄灯(Y—SN)两个; 东西方向绿灯(G—EW)两个; 南北方向绿灯(G—SN)两个; 东西方向左转弯绿灯(L—EW)两个; 南北方向左转弯绿灯(L—SN)两个。2.1.2 控制要求

1、系统工作受开关控制,起动开关 ON 则系统工作;起动开关 OFF 则系统停止工作;

2、交通信号灯按高峰时段、正常时段及晚上时段进行控制,这三个时段的的时序分配如图1所示;

3、在高峰时段,交通信号灯按图2所示时序控制;

4、在正常时段,交通信号灯按图3 所示时序控制;

5、晚上时段按提示警告方式运行,规律为: 东、南、西、北四个黄灯全部闪亮,其余灯全部熄灭,黄灯闪亮按亮 0.4 秒,暗 0.6 秒的规律反复循环。

2.2 系统简介

本系统是一个十字路口交通灯的PLC控制系统,利用西门子公司的S7-200可编程逻辑控制器对十字路口的交通灯进行控制。本系统具有一定的智能性,即它可以对交通灯按高峰期、正常期及晚间几个时段进行分段控制。高峰期的控制方案为:

(1)南北方向左转弯灯和南北南北方向红灯同时亮10秒,同时东西方向红灯亮;

(2)南北方向绿灯亮35秒,东西方向红灯继续亮;(3)南北方向黄灯闪烁5秒;东西方向红灯继续亮;

(4)东西方向左转弯绿灯和南北方向红灯同时亮10秒,东西方向红灯继续亮;(5)东西方向绿灯亮25秒,南北方向红灯继续亮;

(6)东西方向黄灯闪烁5秒,南北方向红灯继续亮,然后跳至第(1)步依次循环。

正常期的控制方案为:

(1)南北方向左转弯灯和南北南北方向红灯同时亮10秒,同时东西方向红灯亮;(2)南北方向绿灯亮30秒,东西方向红灯继续亮;(3)南北方向黄灯闪烁5秒;东西方向红灯继续亮;

(4)东西方向左转弯绿灯和南北方向红灯同时亮10秒,东西方向红灯继续亮;(5)东西方向绿灯亮30秒,南北方向红灯继续亮;

(6)东西方向黄灯闪烁5秒,南北方向红灯继续亮,然后跳至第(1)步依次循环。

晚间的控制方案为:

东、南、西、北四个黄灯全部闪亮,其余灯全部熄灭,黄灯闪亮按亮 0.4 秒,暗 0.6 秒的规律反复循环。

2.3 硬件选型

城市道路交通信号控制是典型的开关量顺序控制,采用PLC能充分利用它的优点。在这里我们采用德国西门子公司的S7-200可编程控制器,它是积木式结构,安装比较方便,中央处理单元和信号模板有多种类型,另外还具有如位控单元、PD调节等特殊功能模块。根据本系统输入点数及控制要求,中央处理单元可选用CPU224,该CPU板上本身具有10个数字量输入点,6个非隔离数字量输出点,最多能够带8个数字量信号模板。

电源模块将交流电源转换成供CPU,存储器等所有扩展模块使用的直流电源,是整个PLC系统的能源供给中心,它的好坏直接影响到PLC的稳定性和可靠。S7-200属于小型PLC,电源模块与CPU模块封装在一起,通过连接总线为本机和扩展模块提供+5V(DC)电源。同时,还可通过端子向外输出一个+24V(DC)电源,供本机输入点和扩展模块继电器线圈使用。需注意的是,从资料中我们了解到,外部电源不可与S7-200的传感器电源并联使用。否则,交会导致两个电源的竟争而影响它们各自的输出,缩短其使用寿命,使得一个或两个电源同时失效,使PLC系统产生不正确的操作。正确的使用方法是S7-200的传感器电源和外部电源应该在不同的点上提供电源,而两者之间只能有一个会共连接点。

由于根据控制要求所确定的输入输出点分别人二个和九个,由于我们是以一个路口信号单独控制为例,考虑到够用为准。所以我们选择了CPU224这一具有较强控制功能的控制器。

另外,在硬件选型时,不要忘记完成现场测试及软件编程时所需的一些设备。综上,得到系统硬件配置如表1所示:

表1 硬件配置表 名 称 数 量 DC24V电源 1 CPU224 1 PC/PPI编程电缆 STEP7编程软件 1 PC机 1 3 系统I/O分配

分析PLC的输入和输出信号,在满足控制要求的前提下,要尽量减少占用PLC的I/O点。由系统控制要求可见,由控制开关输入的启、停信号是输入信号。由PLC的输出信号控制各指示灯的亮、灭。在交通灯布置图中,南北方向的三色灯共六盏,同颜色的灯在同一时间亮、灭;所以,可将同色灯两两并联,用一个输出信号控制。同理,东西方向的三色灯也依次设计。再加上东西方向左转的三色灯共九盏,所以其占9个输出点。由此可得系统I/O分配如表2所示:

表2 系统I/O分配表

输入/输出 设备/器件名称 I/O地址 输入 校正当前时钟 I0.0

符号名 数据类型 1

SB0 BOOL 程序启停按钮 I0.1 SB1 BOOL

Q1 DINT 输出

东西方向绿灯 Q0.0 东西方向黄灯 Q0.1 东西方向红灯 Q0.2 南北方向绿灯 Q0.3

Q2 DINT Q3 DINT Q4 INT

南北方向黄灯 Q0.4 南北方向红灯 Q0.5

Q5 INT Q6 INT

Q7 INT Q8 INT 东西方向左转弯灯 Q0.6 南北方向左转弯灯 Q0.7 4 软件设计

本控制系统的控制原理是:用一路数字量的不同输入状态来判定是否对时钟进行初始化,用一路数字量的不同输入状态分别用作程序的启动和停止控制,每一方向有红、黄、绿及转弯四种信号灯,分别对应四位数字量输出,两个方向共有8位数定量输出;在某一方向用两个延时脉冲定时器分别控制该方向黄灯闪烁的亮、灭时间,根据道路人车流量多少,分别设置各信号灯亮灭时间的长短,通过6个定时器依次交替工作,就可实现各方向交通信号灯的顺序工作。本文所设计的软件由一个主程序和四个子程序(时钟初始化子程序,晚间时段交通灯控制子程序,正常时段交通灯控制子程序和高峰时段交通灯控制子程序)组成。主程序主要任务包括:读取两个开关状态,根据开关的不同状态做出相应的处理,当开关SB0闭合时则对时钟进行初始化,反之则不对时钟进行初始化;当开关SB1闭合时,则读取时钟值,并做处理,根据处理后的时钟值的大小判定当前时间是属于哪个时间段,并调用相应的交通灯控制子程序,反之,则停止程序的运行主程序流程图如图5所示。晚间时段的控制规律为:两个方向的四个黄灯均按亮0.4秒灭0.6秒的规律闪烁,其余的交通灯全灭程序中将用到两个定时器T37和T38,各定时器的功能如表3所示。正常时段的控制方案结构图如图6所示,程序中将用到8个定时T37-T44,各定时器的功能如表4所示。高峰时段的控制方案结构图如图7所示,程序中将用到8个定时T37-T44,各定时器的功能如表5所示。

该程序实现了信号由东西左转、东西直行、南北直行依次循环变化。其优势思路简单,容易理解,对时钟的校正以及各时段的起始时间和终止时间的修改方便。如路口要求在晚上10:00以后实行各方向黄色信号灯闪烁功能,只需要将实时采集PLC的时钟信号作为一个子程序的跳转条件,再增加一段闪光程序即可。如果需要将几个路口集中到一台PLC控制,根据实际需要的I/O点数,硬件上再增加相应的数字量输出模板即可。需要指出的是,用PLC实现城市道路关通信号控制,最好几个路口共用一套PLC,这样可以大大降低工程成本。

表3 晚间时段各定时器一个循环中的功能明细表 定时器 t0 t1 T2 T37 定时0.4秒 开始定时,黄灯亮 定时到,输出ON且保持;黄灯灭 开始下一次循环的定时 T38 定时1秒 开始定时 继续定时 定时到,输出ON,随即复位开始下一次循环的定时,黄灯亮。

表4 正常时段各定时器一个循环中的功能明细表 定时器 t0 t1 t2 t3 t4 t5 t6 T37 定时10秒 开始定时,南北转弯灯、南北红灯、东西红灯亮。定时到,输出ON且保持;南北转弯灯灭,南北绿灯亮,东西红灯继续亮。开始下一个循环定时

ON ON ON ONT38 定时40秒 开始定时 继续定时 定时到,输出ON且保持;南北绿灯灭,南北黄灯闪烁,东西红灯继续亮。T39 定时45秒 开始定时 继续定时 继续定时 定时到,输出ON且保持;南北黄灯灭,东西转弯灯、南北红灯亮,东西红灯继续亮。ON ON 开始下一个循

ON ON ON 开始下一个循环定时 环定时 T40 定时55秒 开始定时 继续定时 继续定时 继续定时 定时到,输出ON且保持;东西转弯、东西红灯灭,东西绿灯亮,南北红灯继续亮。一个循环定时 T41 定时85秒 开始定时 继续定时 继续定时 继续定时 继续定时 定

ON 开始下到,输出ON且保持;东西绿灯灭,东西黄灯闪烁,南北红灯继续亮。开始下一个循环定时 T42 定时90秒 开始定时 继续定时 继续定时 继续定时 继续定时 继续定时 定时到,输出ON,随即复位开始下一次循环定时;东西黄灯、南北红灯灭,南北转弯灯、南北红灯、东西红灯亮。

表5 高峰时段各定时器一个循环中的功能明细表 定时器 t0 t1 t2 t3 t4 t5 t6 T37 定时10秒 开始定时,南北转弯灯、南北红灯、东西红灯亮。定时到,输出ON且保持;南北转弯灯灭,南北绿灯亮,东西红灯继续亮。开始下一个循环定时

ON ON ON ONT38 定时45秒 开始定时 继续定时 定时到,输出ON且保持;南北绿灯灭,南北黄灯闪烁,东西红灯继续亮。T39 定时50秒 开始定时 继续定时 继续定时 定时到,输出ON且保持;南北

ON ON ON 开始下一个循环定时 黄灯灭,东西转弯灯、南北红灯亮,东西红灯继续亮。ON ON 开始下一个循环定时 T40 定时60秒 开始定时 继续定时 继续定时 继续定时 定时到,输出ON且保T41 定时85秒 开始定时 继续定时 继续定时 继续定时 继续定时 定

时到,输出ON且保持;东西绿灯灭,东西黄灯闪烁,南北红灯继续亮。开始下一个循环定时 T42 定时90秒 开始定时 继续定时 继续定时 继续定时 继续定时 继续定时 定时到,输出ON,随即复位开始下一次循环定时;东西黄灯、南北红灯灭,南北转弯灯、南北红灯、东西红灯亮。持;东西转弯、东西红灯灭,东西绿灯亮,南北红灯继续亮。5 程序编辑

附录 源程序-STL语句 ORGANIZATION_BLOCK 主:OB1 TITLE=程序注解 VAR T:BYTE;//时钟值缓冲区 H:INT;//小时数存储单元 M:INT;//分钟数存储单元 SEC:INT;//秒钟数存储单元

Tim:WORD;//小时数乘100加分钟数乘10加秒钟数所得结果存储单元 END_VAR BEGIN Network 1 // 网络标题 // 网络注解 LD I0.0 CALL SBR0 //开关SB0闭合,调用SBR0(INIT)对时钟进行初始化 Network 2 LDN I0.1 //起动/停止开关SB1断开,则停止程序 STOP Network 3 LD I0.1 TODR LB0 //起动/停止开关SB1闭合,则起动程序,读取时钟 Network 4 LD I0.1 INCB LB0 Network 5 LD I0.1 INCB LB0 Network 6 LD I0.1 INCB LB0 //T加3指向小时存储单元 Network 7 LD I0.1 BTI LB0, LW1 //将小时由字节型转换为整型 Network 8 LD I0.1 MOVW LW1, VW16 *I +100, VW16 //将小时的数值乘以100 Network 9 LD I0.1 INCB LB0 //将T指向分钟存储单元 Network 10 LD I0.1 BTI LB0, LW3 //将分钟由字节型转换为整型 Network 11 LD I0.1 MOVW LW3, VW18 *I +10, VW18 //将分钟的数值乘以10 Network 12 LD I0.1 MOVW VW16, VW20 +I VW18, VW20 //将小时数乘100与分钟数乘10相加 Network 13 LD I0.1 INCB LB0 //将T指向秒钟存储单元 Network 14 LD I0.1 BTI LB0, LW5 //将秒钟由字节型转换为整型 Network 15 LD I0.1 MOVW VW14, LW7 +I LW5, LW7 //将小时数乘100与分钟数乘10相加所得的结果与秒钟数相//加得Tim Network 16 LDW<= LW7, 630序

CALL SBR1 //Tim小于630时,则调用SBR1(SUBE)子程 Network 17 LDW< LW7, 700 CALL SBR2 //Tim大于630小于700时,则调用SBR2(SUBN)子程序 Network 18 总结

通过这次课程设计,加强了我们动手、思考和解决问题的能力。在整个设计过程中,我们通过这个方案包括设计了一套电路原理和PCB连接图,和芯片上的选择。这个方案总共使用了74LS248,CD4510各两个,74LS04,74LS08,74LS20,74LS74,NE555定时器各一个。

2、在设计过程中,经常会遇到这样那样的情况,就是心里想老着这样的接法可以行得通,但实际接上电路,总是实现不了,因此耗费在这上面的时间用去很多。

3、我沉得做课程设计同时也是对课本知识的巩固和加强,由于课本上的知识太多,平时课间的学习并不能很好的理解和运用各个元件的功能,而且考试内容有限,所以在这次课程设计过程中,我们了解了很多元件的功能,并且对于其在电路中的使用有了更多的认识。

第三篇:基于单片机控制的交通灯设计系统

基于单片机控制的交通灯设计系统

班级:

姓名:

学号:

第一章 概述 1.设计内容

本系统需要采用AT89C51单片机AT89C5中心器件来设计交通灯控制器,实现以下功能: 1.1初始东西绿灯亮,南北红灯亮,东西方向通车。1.2黄灯闪烁后,东西路口红灯亮同时南北路口绿灯亮,南北方向开始通车。1.3延时27s,南北方向绿灯灭,黄灯闪烁3次,然后又切换成东西方向通车,如此重复。

设计交通灯控制系统硬件电路与软件控制程序,对硬件电路与软件程序分别进行调试,并进行软硬件联调,要求获得调试成功的仿真图。2.设计目的

2.1 了解交通灯管理的基本工作原理。2.2 熟悉AT89C51工作原理和应用编程。

2.3 熟悉AT89C51行接口的各种工作方式和应用。

2.4 熟悉AT89C51数器/定时器的工作方式和应用编程外部中断的方法。2.5 掌握多位LED显示问题的解决。3.设计原理

AT89C51片机具有控制二连体共阴极数码管和发光二极管的输出显示以及检测按键输入的功能。利用AT89C51片机模仿制作室外十字路口多功能交通灯,实现室内控制与室外显示的功能。合理控制交通繁忙,交通特殊情况和恢复交通正常的三种情况。

本设计用4个共阳极LED数码管的分别表示东、西、南、北四个方向路口,以数码管的上、中、下3个横段分别代表红、黄、绿3盏灯,用P0、P1口分别输出控制模拟交通灯的状态显示的数码管和倒计时显示数码管的状态码,P3^

1、P3^

2、P3^4-P3^7控制数码管的位选,P2^0-P2^4接收中断信号并反馈给INT0接口进行中断处理。

第二章 硬件设计

1.设计框图 如图2-1所示 此处要有文字说明

图2-1设计框图

2.元器件选择及其功能介绍

AT89C51是一种带4K字节LASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。AT89C51片引脚图如下图2-2所示。

图2-2 AT89C51片引脚图

主要特性:

·与MCS-51 兼容

·4K字节可编程闪烁存储器 ·寿命:1000写/擦循环 ·数据保留时间:10年 ·全静态工作:0Hz-24MHz ·三级程序存储器锁定 ·128×8位内部RAM ·32可编程I/O线

·两个16位定时器/计数器,5个中断源 ·可编程串行通道

·低功耗的闲置和掉电模式 ·片内振荡器和时钟电路 3.设计原理图

硬件电路图通过Proteus 仿真之后如图2-3所示,其中: 按钮K0连接P2^0端口实现红灯全亮,处理交通意外 按钮K1连接P2^1端口实现南北方向亮灯时间+1s 按钮K2连接P2^2端口实现南北方向亮灯时间-1s 按钮K3连接P2^3端口实现东西方向亮灯时间+1s 按钮K4连接P2^4端口实现东西方向亮灯时间-1s

图2-3整体连接电路原理图

第三章 软件设计

1.各个程序段介绍 1.1数码管显示

void Display(uchar j)//j控制显示table中连续位的起始点 { char h,l;if(j<11)//根据状态判定时间

{

h=Time_EW/10;//EW通行时间十位

l=Time_EW%10;//EW通行时间个位

} else if(j<23){

h=Time_SN/10;//SN通行时间十位

l=Time_SN%10;//SN通行时间个位

} for(i=0;i<4;)//按位显示通行状况及时间

{

P0=table1[j];//通行状况显示

P3=tab[i];//位选显示

i++;

j++;

if(i%2)//两位计时显示

{

P1=table[l];

Delay(400);

}

else

{

P1=table[h];

Delay(400);

} } Delay(5);} 1.2 INT0外部中断服务程序

void EXINT0(void)interrupt 0//INT0外部中断 { EX0=0;//关中断

if(Busy_Button==0){

P0=0xFE;//意外按钮按下全显示红灯

for(;Busy_Button!=1;)//意外按钮弹起时恢复之前状态

Display(24);} /*四个时间控制按钮分别控制SN、EW方向初始通行时间加减,最长不超过s,最少不低于s*/ if(SN_Add==0)//SN+1 {

SN1+=1;

if(SN1>99)

SN1=99;} if(SN_Red==0)//SN-1 {

SN1-=1;

if(SN1<20)

SN1=20;} if(EW_Add==0)//EW+1 {

EW1+=1;

if(EW1>99)

EW1=99;} if(EW_Red==0)//EW-1 {

EW1-=1;

if(EW1<20)

EW1=20;} EX0=1;//开中断 } 1.3延时子程序

void Delay(uchar a)//循环a次 { uchar x;x=a;while(x--){;} } 2.程序

#define uchar unsigned char #include uchar code table[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};uchar code table1[28]={0xF7,0xFE,0xF7,0xFE,0xBF,0xFE,0xBF,0xFE,0xFF,0xFE,0xFF,0xF E, 0xFE,0xF7,0xFE,0xF7,0xFE,0xBF,0xFE,0xBF,0xFE,0xFF,0xFE,0xFF, 0xFE,0xFE,0xFE,0xFE};uchar code tab[4]={0x1E,0x2D,0x4E,0x8D};uchar EW=30,SN=30,EW1=30,SN1=30;uchar count;uchar i,j;sbit Busy_Button=P2^0;sbit SN_Add=P2^1;sbit SN_Red=P2^2;sbit EW_Add=P2^3;sbit EW_Red=P2^4;char Time_EW;char Time_SN;void Delay(uchar a){

uchar x;x=a;while(x--){;} } void Display(uchar j){ char h,l;if(j<11){

h=Time_EW/10;

l=Time_EW%10;} else if(j<23){

h=Time_SN/10;

l=Time_SN%10;} for(i=0;i<4;){

P0=table1[j];

P3=tab[i];

i++;

j++;

if(i%2)

{

P1=table[l];

Delay(400);

}

else

{

P1=table[h];

Delay(400);

} } Delay(5);} void EXINT0(void)interrupt 0 { EX0=0;if(Busy_Button==0){

P0=0xFE;

for(;Busy_Button!=1;)Display(24);} if(SN_Add==0){

SN1+=1;

if(SN1>99)

SN1=99;} if(SN_Red==0){

SN1-=1;

if(SN1<20)

SN1=20;} if(EW_Add==0){

EW1+=1;

if(EW1>99)

EW1=99;} if(EW_Red==0){

EW1-=1;

if(EW1<20)

EW1=20;} EX0=1;

} void timer0(void)interrupt 1 using 1 { TH0=0x3C;TL0=0xB0;count++;if(count==20){

Time_EW--;

Time_SN--;

count=0;} } 第四章 仿真结果及其总结

1.仿真结果图

1.1正常状态的仿真结果如图4-1所示

图4-1正常状态

1.2黄灯状态的仿真结果如图4-2所示

图4-2黄灯状态

1.3紧急状态的仿真结果如图4-3所示

图4-3 紧急状态

1.4延长通行时间的仿真结果如图4-4所示

图4-4延长通行时间

2.总结

通过这次交通灯的课程设计,使我得到了一次用专业知识、专业技能分析和解决现实问题的能力。使我在单片机的基本原理、单片机应用学习过程中,以及在常用编程设计思路技巧的掌握方面都能向前迈了一大步,为日后成为一名合格的应用型人才打下良好的基础。综合课程设计让我把以前学习到的知识得到巩固和进一步的提高认识,对已有知识有了更深层次的理解和认识。在此,由于自身能力有限,在课程设计中碰到了很多的问题,我通过查阅相关书籍、资料以及和周围同学交流得到解决。

通过这次交通灯的课程设计,使我了解了写毕业设计的流程和方法。为自己以后的毕业论文的设计做一次练习,具有积极的意义。还有交通灯是我们生活中非常常见的一种东西,对于我们学以致用的这种能力得到了很好锻炼,能够为我们以后的工作于学习打下基础。

由于本人的水平有限,设计中难免会有一些不合理的部分,系统的稳定性还有待提高,望批评更正。

第四篇:新型交通灯控制管理器

天津职业技术师范大学

课程题目:新型交通灯控制管理器设计成员:王昕指导教师:谷金清

课程设计

徐盼盼 梁佳欣 邓裕明 孔维敬 1.题目

新型交通灯控制管理器 2.主要技术指标

东西南北两个方向的信号灯必须交替工作,显示采用LED光柱或数码管倒计时的方式,遇有紧急情况可人为将两个方向都设置为红灯。3.方案论证及选择

方案一:用时间控制交通灯的状态转换

(1)本方案的主要思想是用时间控制交通灯状态的转换,时间变化是有规律的。先南北直行红灯亮,而后黄灯亮3秒,再直行绿灯亮27秒,黄灯亮3秒;然后南北转弯绿灯亮,黄灯亮,南北交通灯都亮红灯;东西交通灯以同样规律变化。(a)每次绿灯变红灯时,要求黄灯先亮3秒,黄灯亮时,绿灯灭。

(b)要求在绿灯亮(通行时间内)和红灯亮(禁止通行时间内)时均有倒计时显示。所以基本符合现实功能,能够指挥车辆在十字路口完成左转和不同路口的直行。(2)基本功能、扩展功能分析

考虑交通灯的功能,一个十字路口至少需8组交通灯:东西南北各两组,一组指挥转弯,一组指挥直行。而设计的关键是控制交通灯的亮灭。考虑南北、东西方向灯的亮灭规律相同,故可以考虑用四组交通灯来模拟实际的八组交通灯:东西两组灯,南北两组灯,分别用来指示转弯和直行。可用计数器控制时间,在不同的时间显示不同的灯。根据设计分析,可以采用如下方案实现交通灯显示:通过计数来计时,不同的时间输出不同的使能信号,使各方向的不同交通灯显示不同的颜色。夜间车少需交通灯,则红灯、绿灯灭,黄灯闪烁使司机明白前方为十字路口,小心行驶。倒计时显示需设计不同的倒计时计数器,显示不同方向交通灯的显示时间,通过数码管显示时间,使行人方便

(3)方案二:当交通灯自动运行时,通行方向进行24S倒计时,其中绿灯时间为20S,在此期间禁行方向一直为红灯,计数器在交通灯变方向时重复计数。当调到手动状态时可提供脉冲让交通灯循环变快或变慢。电路还有夜间功能,夜间时打到此档,则电路停止循环工作,只有黄灯闪烁。当南北向绿灯亮,而东西向红灯亮时,使南北向的74LS168以减法计数器方式工作,从数字“24”开始下减,当减倒“00”时,南北向绿灯灭,红灯亮,而东西向红灯灭,绿灯亮。方案三:此方案红绿灯控制器主要有四块555和一些阻容元件接成单稳延时电路,四级电路首尾相接,依次延时触发,使交通灯依次出现一黄一红(色)信号,指挥行人和车辆在十字路口有秩序地通行(绿)---提醒注意(黄)---禁止通行(红)。当刚接通电源时,开启脉冲经IC(CD4011)门电路和R1、C1延迟,C2、R22微分后,触发IC2。IC2和R4~R7、C6组成单稳延时电路,其定时时间长短取决于K1的置档位置,延时td=1.1RC6,设定时间分别为60秒、45秒、30秒。暂稳结束时,IC2的3脚转呈低电平,经C3、R23微分后,其下降沿又触发IC3,形成第二级单稳延时,依次触发定时,完成绿色灯亮---黄色灯亮(8秒、10秒、12秒)---红色灯亮(60秒、45秒、30秒)的循环周期。

本线路为控制电路及指挥岗亭内的监控显示部分。若真正用于交通指挥,应使控制信号去激励固态继电器,然后去驱动三色光灯泡。经过讨论研究,方案二原理清晰,易于操作。4.电路仿真

4.系统组成框图

6.单元电路设计

本部分由三部分组成:脉冲发生部分、红绿灯显示、倒计时计数显示。

脉冲发生部分:下图为NE555组成的多谐振荡电路,产生1Hz的方波,用来计数器的CP信号。

红绿灯显示:由八位单向移位寄存器组成计数器电路,对时间t进行计数。经反相器及与门组成的译码器输出,分别控制东西南北各灯,其中黄灯为闪烁亮。

倒计时计数器:

7.总体电路图

8.调试过程及测试结果

按照电路图焊接完电路后,再依照管脚仔细检查电路,以确 保没有错误。由于本次电路比较复杂,而且有些芯片实验室暂时没有,所以只好用功能相近的芯片代替,因此管脚需要重新分布。把电路接上电源和单脉冲后开始调试电路,由于电路复杂,接线多,所以难免出现漏接,错接现象,因此我们认真调试,争取能把电路调试成功。开始时,数码管有个没有亮灯,而且代替交通灯的二极管只有红灯亮。并不符合测试电路的要求。于是我们仔细检查,发现数码管的电源端接线没有焊牢,导致没有显示。重新焊接后数码管正常显示。在输出脉冲时发现黄灯不停闪烁,按下夜间控制开关,黄灯闪烁,说明夜间部分没有问题。但是数码管没有按照24秒计时,我们检查计数器的工作状态,发现计数器置入数据时 可以进行减法运算,黄灯亮灭时红灯却没有亮,导致数据无法进行减法运算。仔细察看电路的计数器焊接点,终于发现 74LS190的CP脉冲端没有接入另一个74LS190的管脚,使其无法根据脉冲数据进行计数及减法运算。连接后,数码管正常计数。焊接过程中经常遇到的问题,如果不加以纠正将使电路无法工作,而且这个问题很难检查出来,也只能利用万用表检查,我们刚发现是由于接上电路发现发光二极管是一直点亮的,后来发现是由于一个焊点虚焊导致或门的一端输入为接空引起的。由于电路的复杂和焊接的繁杂,导致我们无法很好的仔细检查每个焊接点的错误,因此电路有时不稳定,数码管显示时隐时现。但最后我们还是终于把电路调试成功,完全符合课程设计的要求。9.主要元件清单

芯片:7448N、4个 74192N、4个 74LS164D、1个 74LS04、1个 74LS08、3个 74LS00、1个 NE555、1个 共阴数码管、4个 二极管:IN4007、6个

电阻:240Ω、28个 470Ω、6个 1KΩ、1个 30KΩ、1个 电容:10微法 1个

发光二极管:红色2个、黄色2个、绿色2个 排针:P10、一排 导线若干 10.总结

电1302 34 王昕:本周的焊接电路实验我们选做的事交通灯控制电路,电路比较复杂,而且芯片有些也被代替了,但是我们仍然把这个电路做好了。在这期间我们查阅了大量的资料,并且上网查了有关管脚和电路图的信息,通过实践与理论相结合,了解了很多有关电路的原理,交通灯的构造和原理,每部分的原理都得到了充分的认识,脑子里有了模型有了理论后,再把理论付诸实践,使我们更加深了555和74LS系列的原理,在运用时才不会感到陌生。明白了校训“动手动脑”的意义。在这次课程设计中,我和组员相互配合相互帮助,在遇到很多困难时能够用乐观积极的心态来看待。我们合作的非常愉快,我想在团体设计中,团队精神是非常重要的。

电1302 39 徐盼盼:在这次实训过程中,开始时是设计阶段也没太在意,后来到动手的时候觉得遇见了好多没想到的问题,然后一个一个的解决,我想这也是最吸引我们的地方,当真正投入时才发现乐在其中。以前书本上的内容第一次完完全全的在实际中实现。在设计过程中,遇到了书本中不曾学到的情况。同时,由于是四人合作制作,是我们学到在将来大规模电路设计中,团体协作是多么的重要。在我们的通力协作之下,电路终于焊完了。但是我们同时也明白了我们在设计电路过程中的缺点和不足,理解了书本跟实践的区别,十分感谢学校的用心。一周的设计使我学到了很多,每天都在紧张地准备和操作中,不仅增强了我的专业知识,而且让我明白了不论在哪里都是自己学习的地方,都有自己学习的技巧。感谢老师为我们提供这次的实习机会和悉心的指导。

电1302 18梁佳欣:实训中很多时候我们只是照着电路图按部就班的焊接,并没有经过思考或者去论证其原理的对错,还有就是我们焊接时经常会造成虚焊和错焊,这就是我们焊接的基本功还没有达到的缘故,我希望在今后的设计中能够总结以往的经验教训,不但学习课本知识,而且还学习课外知识,这才是我们所要达到的目的。在这次实训中,我不但训练了焊接电路的能力,而且还学习了许多有关电路方面的知识,学习了很多电路原理和知识,并真切感受到理论联系实际的重要和必要性。两周的实验课程设计结束了,我们都从中学到很多东西,但是学习永无止境,课程设计给我们这个平台去展示自己,未来还有更多的需要自己学习的地方,更多需要展示自己的地方。我相信我们会越来越好。

电1302 04邓裕明:本周的实验课程设计的任务为交通灯控制管理器,确定任务后我们便从图书馆,网上查阅相关资料,分析其工作原理,结合我们的兴趣爱好,经过共同讨论,我们开始计算元件参数,并列出了元件清单。周二买到元件后,便开始对整个电路进行布局。在这个过程中,由于对原理图分析比较透彻,各个芯片的功能及其管脚的连接都作过仔细的分析,这一过程并没有遇到太大的困难。在组员的共同努力,不断讨论分析,仔细检查下,电路中终于调试成功。通过这一周的课程设计,发现动手的时候遇见了好多没想到的问题,然后一个一个的解决,我想这也是最吸引我们的地方,当真正投入时才发现乐在其中。而且我们对555及其74LS系列的芯片的功能都有了更深的了解和认识,提高了理论联系实际、分析问题、解决问题的能力,同时,在整个过程中,我们首脑并用,共同讨论研究,彼此协作都非常愉快,增进了同学间的协作精神。11.参考文献

《电子技术基础》 作者:康文华 《电子电路设计与实践》作者:姚福安 《CMOS数字电路应用300例》作者:肖景和

第五篇:单片机控制的交通灯控制系统设计

摘要

本设计是单片机控制的交通灯控制系统设计。由单片机系统、LED显示、交通灯演示系统、键盘电路及其控制电路组成。该系统除基本交通灯功能外,还具有倒计时、紧急情况处理、调整通行时间以及根

据具体情况手动控制等功能。

十字路口的交通灯在工作时应具有如下特点:红灯表示该条道路禁止通性;黄灯表示该条道路上未过停车线的车辆禁止通行,已过停车线的车辆继续通性;绿灯亮表示该条道路允许通行。该系统使用12MHZ晶振与单片机AT89S52相连接,通过软件编程的方法实现十字路口的交通灯控制,输入装置是键盘开关,用于控制交通灯的运行模式以及设置通行时间,显示装置是两位的LED七段数码管。该系统是由AT89S52单片机控制的,可以实现以下功能:

1.南北方向(主干道)车道和东西方向(支干道)两条交叉道路上的车辆交替运行,主干道每次通行时间都设为30秒、支干道每次通行间为20秒,时间可设置修改。

2.在绿灯转为红灯时,要求黄灯先亮5秒钟,才能变换运行车道。

3.黄灯亮时,要求每秒闪亮一次。

4.东西方向、南北方向车道除了有红、黄、绿灯指示外,每一种灯亮的时间都用显示器进行显示(采

用计时的方法)。

5.一道有车而另一道无车(实验时用开关 K0 和 K1 控制),交通灯控制系统能立即让有车道放行。

6.有紧急车辆要求通过时,系统要能禁止普通车辆通行,A、B道均为红灯。

关键字:AT89S52单片机,交通灯,LED显示,键盘开关电路。

目 录

1概述…………………………………………………………………………-3-1.1设计背景 ……………………………………………………………-3-1.2设计目的 ……………………………………………………………-3-1.3设计要求 ……………………………………………………………-3-2 系统总体方案及硬件设计 ………………………………………………-4-2.1 设计原理……………………………………………………………-4-2.2 各功能模块设计……………………………………………………-4-2.2.1单片机AT89S52介绍 …………………………………………-4-2.2.2总体方案 ………………………………………………………-5-2.2.3时钟电路模块 …………………………………………………-6-2.2.4复位电路模块 …………………………………………………-6-2.2.5交通灯演示模块 ………………………………………………-7-2.2.6 LED显示模块 …………………………………………………-7-2.2.7键盘开关模块 …………………………………………………-8-3 软件设计 …………………………………………………………………-10-3.1程序流程图 …………………………………………………………-10-3.2系统软件设计………………………………………………………-11-3.2.1 LED的编程……………………………………………………-11-3.2.2交通灯模块的编程设计………………………………………-12-3.2.3定时器程序……………………………………………………-12-3.2.4键盘程序………………………………………………………-13-3.2.4.1通行时间设置程序………………………………………-13-3.2.4.2紧急情况处理程序………………………………………-14-3.2.4.3状态调整程序……………………………………………-14-4 Proreus仿真 ……………………………………………………………-15-4.1正常工作状态………………………………………………………-15-4.2时间调整……………………………………………………………-17-4.3紧急状况……………………………………………………………-19-4.4状态调整……………………………………………………………-20-5课程设计体会 ……………………………………………………………-22-参考文献……………………………………………………………………-23-附1:源程序代码 …………………………………………………………-24-附2:系统原理图 …………………………………………………………-32-概述 1.1 设计背景

人们越来越关注城市交通问题,而交通灯在安全行车过程中起十分重要的作用, 现在交通灯一般设在十字路口,在醒目位置用红、绿、黄三种颜色的指示灯, 加上一个倒计时的显示计时器来控制行车, 对于一般情况下的安全行车、车辆分流发挥着作用, 但根据实际行车过程中出现的情况, 主要有如下几个缺点:

1、车道让车轮流放行时间相同且固定, 在十字路口, 经常出现有些车道车辆较多, 放行时间应该长些;而有些车道车辆较少,放行时间应短些。

2、没有考虑紧急车通过时, 两车道应采取的措施, 譬如, 有消防车通过执行紧急任务时, 两车道的车都应停止, 让紧急车辆通过。根据行车过程中出现的实际情况, 如何合理高效地利用交通灯指示交通情况,这是一个迫切需要解决的问题。

1.2 设计目的

1.进一步熟悉和掌握单片机的结构及工作原理。

2.掌握单片机的接口技术及相关外围芯片的外特性,控制方法。3.通过课程设计,掌握以单片机核心的电路设计的基本方法和技术。4.通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。5.了解开发单片机应用系统的全过程,为今后从事相关事业打下基础。

1.3 设计要求

1.设计一个十字路口的交通灯控制电路,要求南北方向(主干道)车道和东西方向(支干道)车道两条交叉道路上的车辆交替运行,主干道每次通行时间都设为30秒、支干道每次通行时间为20秒,时间

可设置修改。

2.在绿灯转为红灯时,要求黄灯先亮5秒钟,才能变换运行车道;

3.黄灯亮时,要求每秒闪亮一次。

4.东西方向、南北方向车道除了有红、黄、绿灯指示外,每一种灯亮的时间都用显示器进行显示(采

用计时的方法)。

5.一道有车而另一道无车(实验时用开关 K0 和 K1 控制),交通灯控制系统能立即让有车道放行。

6.有紧急车辆要求通过时,系统要能禁止普通车辆通行,A、B道均为红灯。系统总体方案及硬件设计

2.1 设计原理

本设计使用的是单片机作为核心的控制元件,使得电路的可靠性比较高,功能也比较强大,而且可以随时更新系统,根据道路情况适时调整交通灯的状态,全面有效地利用交通灯指示交通情况。该设计是以单片机AT89S52为核心完成的,在硬件电路中采用P1口点亮交通指示灯,采用P0口和P2口作为2位LED数码管的驱动接口,可显示各个方向的交通灯的持续时间,单片机外围接有按键开关电路,可以响应外部中断及键盘程序,实现紧急情况处理、调整交通灯的点亮时间等功能。芯片选用AT89C51 单片机,电路由下列部分组成:时钟电路、复位电路、键盘电路、交通灯演示电

路、LED显示电路。

2.2 各功能模块设计 2.2.1 单片机AT89S52介绍

AT89S52是一个低电压,高性能CMOS型 8位单片机,片内含8KB的可反复擦写的Flash只读程序存储器(ROM)和256 B的随机存取数据存储器(RAM)。AT89S52是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,AT89S52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。

引脚使用说明:

I/O端口的编程实际上就是根据应用电路的具体功能和要求对I/O寄存器进行编程。具体步骤如下:

l.根据实际电路的要求,选择要使用哪些I/O端口。

2.初始化端口的数据输出寄存器,应避免端口作为输出时的开始阶段出现不确定状态,影响外围电

路正常工作。

3.根据外围电路功能,确定PO端口的方向,初始化端口的数据方向寄存器。对于用作输入的端口可以不考虑方向初始化,因为PO的复位缺省值为输入。

4.用作输入的PO管脚,需上拉电阻。

5.最后对I/O端口进行输出(写数据输出寄存器)和输入(读端口)编程,完成对外围电路的相应功能。

几个特殊管脚:

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:来自反向振荡器的输出。

RST: 复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平。

2.2.2 总体方案 此交通灯系统位于一个十字路口,此路口为东南西北走向。南北方向为主干道,东西方向为支干道。各干道有一组红、绿、黄三色的指示灯,指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行,黄灯亮提示人们注意红、绿灯的状态即将切换。

此交通灯系统工作过程分为4个状态。状态0南北方向绿灯亮,东西方向红灯亮。过25秒后转为状态1,南北方向绿灯灭,黄灯每秒闪亮一次,东西方向还是红灯亮。历时5秒钟再转为状态2,南北方向红灯亮,东西方向绿灯亮。过15秒后转为状态3,南北方向还是红灯亮,东西方向绿灯灭,黄灯每秒闪亮

一次。历时5秒钟又循环至状态0。

交通灯的状态表如下:

状态(时间)主干道—SN 红—R 0 1 2 3 0 0 1 1

绿—G 1 0 0 0

黄—Y 0 1/0 0 0

表01 交通灯的状态表

注:

1:SN:南北方向。WE:东西方向。2:状态:0:熄。1:亮。1/0:闪。

2.2.3 时钟电路模块

时钟电路模块给单片机提供特定的时钟周期,以备单片机工作使用。单片机的机器周期有6MHz和12MHz的两种。这里采用的是12MHZ的晶振,以给单片机提供12MHz的机器周期。另外有两个30P的电容,两晶振引脚分别连到XTAL1和XTAL2振荡脉冲输入引脚。

其电路图如图02所示:

支干道—WE 红—R 1 1 0 0

绿—G 0 0 1 0

黄—Y 0 0 0 1/0

图02 时钟电路模块

2.2.4 复位电路模块

单片机系统的复位电路采用的是上电+按钮复位电路形式,其中电阻R采用10KΩ的阻值,电容采用

电容值为10μF的电解电容。其具体连接电路如图03所示:

图03 复位电路模块 2.2.5 交通灯演示模块

此交通灯演示模块由单片机的P1口作信号输出端来控制12个交通灯的亮灭,交通灯采用的是发光二极管。因为单片机的输出电流非常小,为了使发光二极管能够发光或者更亮,二极管采用共阳极接法。即阳极通过470Ω电阻接+5V直流电源,阴极接单片机P1口。同时南北方向同色灯连同上拉电阻一起并联,东西方向也是一样,以保证同一干道上的同色灯同时点亮或熄灭,并且流过二极管的电流不会因并联

而减半。

其具体连接电路如图04所示:

图04交通灯演示电路 2.2.6 LED显示模块 由于同一干道上的两个方向的红灯,绿灯,黄灯点亮时间相同,所以南北方向只需一个数码管显示

相应的时间即可,同理东西方向也只需一个。

本次交通灯设计采用两位一体的共阴极数码管来显示相应的时间。由单片机的P0口输出字型码,P2口的前四位P2.0~P2.3作位选端。位选端接LED的共阴极,故低电位有效。因为单片机I/O口的驱动电流很小,一般只有几个毫安。为了增加驱动能力,每个LED上都加上一个上拉电阻,接入+5V电源,本次设计采用的是排阻。当P0口输出低电平时,LED不导通,上拉电阻电流灌进单片机,而当P0口输出高电平时,LED导通。而且上拉电阻的电流也通过LED,这自然就增加了LED的发光亮度。

其具体连接电路如图05所示:

图05 LED显示电路 2.2.7 键盘开关模块

此系统通过5个开关实现所有的要求,开关一端接地,另一端接单片机的P3口。K0接P3^7,当主干道有车而支干道无车时,按一下K0键,可以实现主干道通行。K1接P3^6,当支干道有车而主干道无车时,按一下K1键,可以实现支干道通行。K2接P3^3,利用中断1的方式对紧急情况进行处理,即使东南西北四个方向都亮红灯停车。K4接P3^2,利用中断0的方式对各个干道的通行时间进行设置。在相应中断0期间,K0,K1起调整时间的作用。每按一下K0,主干道通行时间加一,每按一下K0,主干道通行时间加一。K3接P3^5,按一下K3,可以使系统退出中断,回到主程序。

其具体连接电路如06图示:

图06 键盘开关电路 软件设计 3.1 系统流程图

(注:判断框SN=0,WE=0处的Y,N位置标反了,读者自己改正。)

3.2 系统软件设计 本次单片机课程设计软件部分利用C语言编程,采用模块化程序设计。程序部分由主程序、定时器程序、T0/T1中断服务程序、键盘扫描程序、交通灯点亮程序、LED数码管扫描显示程序和延时程序构成。

3.2.1 LED的编程

本次交通灯设计采用两位一体的共阴极数码管来显示相应的时间。数码管为七段数码管,由8个发光二极管构成,通过不同的组合可用来显示数字0-9,字符A-F、H、L、P、R、U、Y、符号“-”及小数点“.”。

本设计只需要显示数字0-9,来表示相应的时间。

共阴极数码管的8个发光二极管的阴极连接在一起接位选端。两个两位一体的共阴极数码管共有4个位选端,分别接在 P2^O-P2^3,低电平有效。数码管各个阳极管脚接各段的驱动电路输出端,既P0口。P0^0接a,P0^1接b,……P0^6接g,P0^7接dp,高电平有效。

本设计采用逐位扫描的方式实现相应时间的动态显示。先将P2^1置低电平,P2^0、P2^

2、P2^3置高电平,来选中南北方向数码管的个位,此时P0口的数据接传送给它显示。经延时一段时间,将P2^1置低电位选中南北方向数码管的十位,此时P0口的数据接传送给它显示。再用同样的方法依次驱动东西方向数码管。通过不断改变P0口、P2口的输出,用循环扫描的方式,即可实现LED的动态显示。

LED动态显示的流程图如图08:

3.2.2交通灯模块的编写设计

本次设计的交通灯演示模块由单片机的P1口作信号输出端来控制12个交通灯的亮灭。P1^1-P1^6依次连接南北的红灯、绿灯、黄灯,东西的红灯、绿灯,黄灯。所以4种状态依次为0x6A,0x66,0x5C,0x3C。当交通灯的剩余时间为零时,改变P1口的输出,进而改变交通灯的点亮状态。交通灯依次循环上面的4个状态,就可以实现指挥交通的作用。

3.2.3 定时器程序

本次设计用定时计数器T1,TMOD是定时计算器的工作方式控制寄存器,通过对该寄存器的操作可以改变T1的工作方式。T1有4种工作方式,由TMOD寄存器中间的M1、M0这两位来决定。本次设计的定时计数器工作在工作方式1,M1、M0设定为01。定时计算器采用加1计数的方式,当接收到一个驱动事件时计数器加1。工作方式1的内部计数器宽度为16位,由TH1的8位和TL1的8位组成。当TL1溢出时将向TH1进位,当TH1溢出后会产生相应的溢出中断。

驱动事件之间的时间间隔即为定时计数器的定时宽度。在定时的工作方式下,定时宽度是单片机的机械周期,也是外部时钟频率的1/12。本次设计的外部时钟频率为12MHz。可知,接收106个驱动事件的时间为1s。

定是1s的流程图如图09所示:

3.2.4 键盘程序

为了实现设置通行时间、紧急情况处理、有车放行等功能,本次设计中有键盘电路。通行时间设置由外部中断0实现,紧急情况由外部中断1处理,有车放行是用普通的键盘程序实现的。按键实际是一种常用的按钮,按键未按下时,键的两个触点处于断开状态,按键按下时,两个触点闭合。按键是利用机械触点来实现键的闭合和释放,由于弹性作用的影响,机械触点在闭合及断开瞬间均

有抖动过程,从而使键输入也出现抖动。

抖动时间一般为5—10ms。本次设计采用软件的办法消抖。在第一次检测到有键按下时不动作,延时10ms,再次检测按键的状态,如果仍保持闭合状态,则确定真的有键按下。当按键释放后,转入按键的处理程序 延时程序如下: /*延时t毫秒*/ void delay(uchar t)

{

uchar i;/*定义无符号字符常量*/ for(t;t>0;t--)/*执行t次循环*/

{ for(i=2000;i>0;i--)/*由于时钟脉冲是12MHz,执行2000次循环的时间为1ms*/

{ } } }

3.2.4.1 通行时间设置程序

本次设计通过外部中断0设置各个干道的通行时间。

外部中断0的请求信号由P3^2引脚输入,采用低电平有效的方式响应中断,即IT0=1。响应中断0期间,CPU禁止响应其他中断,按键K0,K1起调整时间的作用。采用加1的方式,每按一下K0,主干道通行时间加1,每按一下K1,支干道通行时间加1。通行时间可以直接在数码管上显示出来。按一下K3,可以使系统退出中断,回到主程序断点处,从下一个状态开始执行新设置的通行时间。CPU再开放总中断。

由于本次设计使用两位一体的共阴极数码管显示时间,故设置各个干道的通行时间的范围为0—100s。考虑道路通车的实际情况,时间太短无法通过交通路口,所以本设计中通行时间下限为6s(绿灯1s,黄灯5s)。在6—99s之间可以任意设置通行时间,更合理高效的指挥交通。

3.2.4.2 紧急情况处理程序

本次设计通过外部中断1实现对紧急情况的处理。

与外部中断0相仿。外部中断1的请求信号有P3^3引脚输入,采用低电平有效的方式相应中断,即IT0=1。响应中断1期间,CPU禁止响应其他中断,东南西北四个方向均亮红灯,各个干道都禁止通行。由于不确定要持续多久,不采用倒计时的方式显示时间,数码管显示00。紧急情况结束时,按一下K3,可以使系统退出中断,回到主程序断点处,CPU再开放总中断。

3.2.4.3 状态调整程序

在实际交通系统中,很有可能会不时的出现一道有车而另一道无车的情况,为了更合理高效的指挥交通,本次设计的交通灯控制系统能立即让有车道放。由开关 K0 和 K1 控制。采用查询的方式不断扫描K0、K1,看有没有键按下。按一下K0键,可以实现主干道通行,按一下K1键,可以实现支干道通行。

此时交通状态的改变是因为另一路无车,所以不需要设置返回,直接按主程序循环指挥。也有可能较长时间出现一道有车另一道无车的情况,只需多次按K0或K1键即可。Proteus仿真 4.1 正常工作状态

本次设计的交通灯控制系统共有四个工作状态,分别是状态0、状态

1、状态2和状态3。开始时先执行状态0,南北方向绿灯亮,东西方向红灯亮。历时25秒。如图10所示:

图10 状态0 25秒后转为状态1,南北方向绿灯灭,黄灯每秒闪亮一次,东西方向还是红灯亮。历时5秒。如图

11所示:

图11 状态1 5秒后再转状态2,南北方向红灯亮,东西方向绿灯亮。历时15秒。如图12所示:

图12 状态2 15秒后转状态3,南北方向还是红灯亮,东西方向绿灯灭,黄灯每秒闪亮一次。历时5秒。如图1

3所示:

图13 状态3

此状态结束后再回到状态0,如此循环进行。

4.2 时间调整

按一下开关K4,系统响应外部中断0,进入通行时间调整程序。各个干道的通行时间有数码管显

示。如图14所示:

图14 时间调整

按键K0,K1起调整时间的作用,每按一下K0,主干道通行时间加1,每按一下K1,支干道通行时间加1。多次按键即可调整到合理的通行时间。如图15所示:

图15 通行时间+1 按一下K3,可以使系统退出中断,回到主程序断点处,从下一个状态开始执行新设置的通行时间。

如图16、17所示:

图16 主干道按新设置的时间执行

图17 支干道按新设置的时间执行

4.3 紧急情况

当出现紧急情况时,按一下开关K2,系统响应外部中断1,各个方向均亮红灯禁止通行,数码管均显示0。按一下K3,可以使系统退出中断,回到主程序断点处。如图18所示

图18 紧急情况 4.4 状态调整

为了更合理高效的指挥交通,当南北方向有车而东西方向无车时,按K0,系统会自动跳转到状态0,实现南北方向通行。如图19所示:

图19 南北方向有车而东西方向无车时,南北放行

当东西方向有车而南北方向无车时,按K1,系统会自动跳转到状态2,实现东西方向通行。如图20

所示:

图20 东西方向有车而南北方向无车时,东西放行 课程设计体会

很荣幸有这次课程设计的机会,我可以把理论的学习与实践有机的结合起来。

在设计过程中,首先要分析课题,根据所学知识绘制出系统总体设计框图。然后按照自己的设计思路,利用所给的元器件绘制出设计图。在绘制设计图连接各个元器件的时候,要尽量使布线合适,从而使所作设计图清晰易看。绘制完设计图后,接下来就是要根据设计所要求的功能和已完成的设计图编写程序,在编程时,首先应该绘制出主程序流程图,然后采用模块化程序设计的方式,编写实现各个功能的子程序,再将各个子程序与主程序连接起来。在设计程序时要不断对程序进行修改,同时在设计程序的过程中要养成注释程序的习惯,在对程序进行修改的时候,可以通过注释很容易的看出各句程序的功能,清晰明朗。当程序设计出来之后,就可以通过仿真软件对其进行编译,生成仿真所需要的HEX文件。将生成的文件加载到系统图的单片机上,就可以进行系统仿真。通过仿真,检测所作设计是否能实现预期功能。本次课程设计使我对单片机的工作原理有了更深刻的认识,掌握了许多在以前学习中混淆不清的知识点。在翻阅相关书籍和查询相关资料过程中学到了丰富的单片机知识,开阔了眼界,增广了知识面。在编辑程序中,对C语言又有了新的认识和理解。实物焊接中不仅锻炼了自己的动手能力,而且真正作到了

理论联系实际的重要性,收益匪浅。

本次课程设计我参考的三本书。一本是余发山教授的《单片机原理及其应用技术》,一本是在图书馆借的王为青老师编写的《单片机Keil Cx51应用开发技术》,还有一本就是贾宗璞老师的《C语言程序

设计》。在此向编者表示诚挚的谢意。

本次设计中,我曾多次在课堂上向谭兴国老师请教各个模块设计的细节问题,得到了谭老师的大力

帮助,在此深表感谢!

参考文献 [1] 余发山,王福忠.单片机原理及应用技术 徐州:中国矿业大学出版社,2008 [2] 贾宗璞,许合利.C语言程序设计 徐州:中国矿业大学出版社,2007 [3] 王为青,程国刚.单片机Keil Cx51应用开发技术 北京:人民邮电出版社,2007

附1 源程序代码

#include /*对单片机的口进行了定义********/ #define uchar unsigned char /*定义字符串类型为无符号型*/ uchar code a[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};/*段码组合,P0口,高

有效*/ uchar code b[4]={0x0D,0x0E,0x07,0x0B};/****P2口,低有效*/ uchar code c[4]={0x6A,0x66,0x5C,0x3C};/****P1口.低有效*/ char SN=25,WE=30;/*SN表示南北方向——主干道,WE表示东西方向——支干道*/ char SN_G=25,WE_G=15,Y=5;/*SN_G表示南北方向的绿灯,WE_G表示东西方向的绿灯,Y表

示黄灯*/

uchar i,k=0,count=0;/*定义无符号字符串变量*/

void delay(uchar t);/*定义函数*/

void light();/*定义函数*/ void led();/*定义函数*/ void ledthrough();/*定义函数*/ void leddrive();/*定义函数*/ sbit K0=P3^7;/*开关K0接P3^7管脚*/ sbit K1=P3^6;/*开关K1接P3^6管脚*/ sbit K2=P3^3;/*开关K2接P3^3管脚*/ sbit K3=P3^5;/*开关K3接P3^5管脚*/ sbit K4=P3^2;/*开关K4接P3^2管脚*/

/*程序初始化*/ void init(void)

{ /*12MHz */ TMOD=0x01;/**计数器用模式1,为16位计数器*****/

TH1=(65536-50000)/256;/*0x3C*/ TL1=(65536-50000)%256;/*0xB0*//*计50000个数,用时50ms*/

IT0=1;/*外部中断为低电平触发方式*/

ET0=1;/*允许T0中断*/ TR0=1;/*启动计数器*/ EA=1;/*CPU开放总中断*/ EX0=1;/*允许外部中断0中断,即允许响应端口P3^2(K4)中断*/ EX1=1;/*允许外部中断1中断,即允许响应端口P3^3(K2)中断*/

}

/*中断0处理程序*/ void int0(void)interrupt 0

{

EA=0;/*CPU禁止响应一切中断*/ P1=0x6C;/*东西南北方向均红灯亮*/

TR0=!TR0;/*计数器停止工作*/

for(;;)/*无条件循环*/

{

ledthrough();/*调用通行时间显示函数*/

/*设置南北方向通行时间*/ if(K0==0)/*P3^7=0*/

{

delay(10);/*延时,把抖动的时间抛掉*/

if(K0==0)

{ while(!K0)/*当松开K0开关时,跳出循环,执行后面的程序*/

{

ledthrough();/*调用通行时间显示函数*/

}

SN_G++;/*南北方向绿灯时间+1*/ if((SN_G+Y)==100)/*南北方向通行时间(绿灯加黄灯时间)为100s*/ SN_G=1;/*由于使用的是两位数码管,当南北方向通行时间加到100后绿灯时间归1*/

}

}

/*设置东西方向通行时间*/ if(K1==0)/*P3^6=0*/

{

delay(10);/*延时,把抖动的时间抛掉*/

if(K1==0)

{ while(!K1)/*当松开K1开关时,跳出循环,执行后面的程序*/

{ ledthrough();/*调用通行时间显示函数*/

}

WE_G++;/*东西方向绿灯时间+1*/ if((WE_G+Y)==100)/*东西方向通行时间(绿灯加黄灯时间)为100s*/ WE_G=1;/*由于使用的是两位数码管,当东西方向通行时间加到100后绿灯时间归1*/

} } /*返回*/

if(K3==0)/*P3^5=0*/

{

delay(10);/*延时,把抖动的时间抛掉*/

if(K3==0)

{ while(!K3)/*当松开K3开关时,跳出循环,执行后面的程序*/

{

ledthrough();/*调用通行时间显示函数*/

}

TR0=!TR0;/*启动计数器*/ EA=1;/*CPU开放总中断*/

break;/*跳出*/

}

} } }

/*中断1处理程序*/ void int1(void)interrupt 2

{ P1=0x6C,P0=a[0];/*东西南北方向均红灯亮,P0口输出0*/

EA=0;/*CPU禁止响应一切中断*/ TR0=!TR0;/*计数器停止工作*/

for(;;)/*无条件循环*/

{

leddrive();/*数码管驱动程序*/

/*返回*/

if(K3==0)/*P3^5=0*/

{

delay(10);/*延时,把抖动的时间抛掉*/

if(K3==0)

{ while(!K3)/*当松开K3开关时,跳出循环,执行后面的程序*/

{

leddrive();/*数码管驱动程序*/

}

EA=1;/*CPU开放总中断*/ TR0=!TR0;/*启动计数器*/ break;/*跳出*/ }

} }

} /*键盘程序*/ void key()

{

/*南北有车而东西无车*/ if(K0==0)/*K0=0*/

{

delay(10);/*延时,把抖动的时间抛掉*/

if(K0==0)

{ while(!K0)/*当松开K0开关时,跳出循环,执行后面的程序*/

{

light();/*调用交通灯函数*/

led();/*调用数码管函数*/

} count=0;/*清零*/

k=0;/*南北方向通车,东西方向不通车*/ SN=SN_G,WE=SN_G+Y;/*南北方向显示时间为南北方向绿灯通行时间,东西方向显示时间为

南北方向绿灯通行时间加黄灯闪亮时间*/

} }

/*南北无车而东西有车*/ if(K1==0)/*K1=0*/

{

delay(10);/*延时,把抖动的时间抛掉*/

if(K1==0)

{ while(!K1)/*当松开K1开关时,跳出循环,执行后面的程序*/

{

light();/*调用交通灯函数*/

led();/*调用数码管函数*/

} count=0;/*清零*/

k=2;/*南北方向不通车,东西方向通车*/ SN=WE_G+Y,WE=WE_G;/*南北方向显示时间为东西方向绿灯通行时间加黄灯闪亮时间,东

西方向显示时间为东西方向绿灯通行时间*/

} } } /*定时函数*/

void time1(void)interrupt 1

{ TH0=0x3c;

TL0=0xb0;/*计50000个数,用时50ms*/

count++;/*自增运算*/

if(count>=20)/*当count大于或等于20时,历时1s,执行程序*/

{

SN--;/*自减运算*/ WE--;/*自减运算*/ count=0;/*清零*/ if(SN==0||WE==0)/*当SN=0或者WE=0时,执行程序*/

{

k++;/*自增运算*/ if(k>3)/*当k>3时,执行程序*/

k=0;/*清零*/ switch(k)/*switch 语句*/

{ case 0:SN=SN_G,WE=SN_G+Y;break;/*南北方向显示时间为南北方向绿灯通行时间,东西方向显示时间为南北方向绿灯通行时间加黄灯闪亮时间*/ case 1:SN=Y,WE=Y;break;/*东西南北方向显示时间均为黄灯闪亮时间*/ case 2:SN=WE_G+Y,WE=WE_G;break;/*南北方向显示时间为东西方向绿灯通行时间加黄灯闪亮时间,东西方向显示时间为东西方向绿灯通行时间*/ case 3:SN=Y,WE=Y;break;/*东西南北方向显示时间均为黄灯闪亮时间*/

} } } } /*延时t毫秒*/ void delay(uchar t)

{

uchar i;/*定义无符号字符常量*/ for(t;t>0;t--)/*执行t次循环*/

{ for(i=2000;i>0;i--)/*由于时钟脉冲是12MHz,执行2000次循环的时间为1ms*/

{ } } } /*交通灯函数*/ void light()

{

P1=c[k];/*交通灯对应着k的值变化*/ if(P1==c[1]&&count==0)/*当南北方向亮黄灯且count=0时,执行程序*/

{

TH1=(65536-50000)/256;

TL1=(65536-50000)%256;/*延时50ms*/ P1=0x6E;/*南北方向黄灯熄灭,东西方向亮红灯*/

} else if(P1==c[3]&&count==0)/*当东西方向亮黄灯且count=0时,执行程序*/

{

TH1=(65536-300000)/256;TL1=(65536-300000)%256;/*延时50ms*/ P1=0x7C;/*南北方向亮红灯,东西方向黄灯熄灭*/

} } /*数码管函数*/ void led()

{

P2=b[0],P0=a[SN%10];/*显示南北方向个位*/

delay(5);/*延时*/

P2=b[1],P0=a[SN/10];/*显示南北方向十位*/

delay(5);/*延时*/

P2=b[2],P0=a[WE%10];/*显示东西方向个位*/

delay(5);/*延时*/

P2=b[3],P0=a[WE/10];/*显示东西方向十位*/

delay(5);/*延时*/

}

/*通行时间显示函数*/ void ledthrough()

{ P2=b[0],P0=a[(SN_G+Y)%10];/*南北方向数码管显示可通行时间的个位*/

delay(5);/*延时*/

P2=b[1],P0=a[(SN_G+Y)/10];/*南北方向数码管显示可通行时间的十位*/

delay(5);/*延时*/

P2=b[2],P0=a[(WE_G+Y)%10];/*东西方向数码管显示可通行时间的个位*/

delay(5);/*延时*/

P2=b[3],P0=a[(WE_G+Y)/10];/*东西方向数码管显示可通行时间的十位*/

delay(5);/*延时*/

}

/*数码管驱动函数*/ void leddrive()

{

P2=b[0];/*显示南北方向个位*/

delay(5);/*延时*/

P2=b[1];/*显示南北方向十位*/

delay(5);/*延时*/ P2=b[2];/*显示东西方向个位*/

delay(5);/*延时*/ P2=b[3];/*显示东西方向十位*/

delay(5);/*延时*/

} /*主函数*/ void main(void)

{

init();/*调用程序初始化函数*/

for(;;)/*无条件循环*/

{

key();/*调用键盘程序*/ light();/*调用交通灯函数*/ led();/*调用数码管函数*/

} }

附2 系统原理图

下载《交通灯的可编程控制》教学设计word格式文档
下载《交通灯的可编程控制》教学设计.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    单片机控制交通灯的案例

    单片机控制交通灯 AT89C51单片机及由Keil 软件编写单片机程序,并且通过Proteus仿真测试,设计一个交通灯系统,实现简单的交通灯的管理功能。在交通灯系统的管理中,用发光二极管模......

    教学反思(交通灯)

    英语活动“Traffic Lights ” —教学反思 观察背景: 对“Traffic Lights”幼儿英语教学课题的设计理念引发的思考。 这是一次围绕幼儿英语教材内容而组织的英语教学活动,在......

    基于FPGA的交通灯控制电路设计(精选5篇)

    基于FPGA的交通灯控制电路设计 关键字: 交通信号机 FPGA 脉冲发生器 目前交通灯广泛应用于道路交通建设中。本文设计一个十字路口交通灯控制电路,要求东西、南北两条干道的......

    十字路口交通灯控制毕业设计答辩题目

    十字路口交通灯控制毕业设计答辩题目 1.PLC控制系统设计的基本内容?本文选择西门子可编程控制器S7-200为核心部件,着重进行硬件接口设计,利用梯形图和语句表进行编程,实现了十字......

    基于51单片机的交通灯控制电路设计

    交通灯 一、功能要求 要求甲车道和乙车道两条交叉道路上的车辆交替运行,每次通行时间都设为25秒,黄灯先亮5秒钟,才能变换运行车道;黄灯亮时,要求每秒钟闪亮一次。 二、电路图 说......

    微机原理课程设计-8255控制交通灯[精选合集]

    微机原理课程设计:8255模拟交通灯 1、目的:学习8255使用方法,学习模拟交通灯控制的方法,学习双色灯的使用。 2、要求:控制4个双色LED灯(可发红,绿,黄光),模拟十字路口交通灯管理。......

    课程设计任务书-24交通灯控制电路设计

    课程设计任务书 题目:交通灯控制电路设计 时间: 年 月 日—— 年 月 日 设计的说明: 本设计需要用到实验箱上交通灯模块中的发光二极管,即红、黄、绿各三个。依人们的交通常规,“......

    交通灯控制逻辑电路设计与总结报告

    交通灯控制逻辑电路设计与总结报告 一、设计任务 用CPLD设计路口交通灯控制器 二、设计要求 1、满足一下时序要求:南北方向红灯亮,东西方向绿灯亮;南北方向绿灯亮,东西方向红灯......