交通灯心得

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

第一篇:交通灯心得

交通灯实训心得体会

通过本次课程设计,我深深的体会到了作为一个硬件工程师的艰辛。即使做一个小小的项目,都需要这么多的辛苦,必须考虑到问题的任何一个细节,否则最后也将是功败垂成。

原理图设计: 当我们选取了这样一个题目,我们就开始收集相关的各种资料,对题目有个大致的了解,规划一下设计的任务将要完成哪些功能。然后就具体的每一项功能应该怎样具体的设计,例如用什么方法完成这一功能,这种想法是否合理,比较使用哪个芯片来完成这项功能。经过长时间的查阅资料、思索、推敲,最后定出了这次设计的原理图。

PCB板设计:刚开学的时候我们就学习了protel软件使用,研究应该怎样生成正确的网络表,PCB板的布局,布线,制板等工作。刚开始由于经验不足,不知道如何封装库里面没有的器件和芯片而且生成的网络表又有那么多的线,当时真是一头雾水,经过老师和同学的帮助以及自己的摸索,最后以勉强合格的水准画出了这次的设计用板。

硬件焊接:在拿到板之后,按照老师的要求我们首先检查了一下板子是否有错误,这是一个非常关键的步骤,因为当你焊接上器件之后将会很难检查。结果发现了真的还有一些不足,比如在画板的过程中我们居然忘记留出电源接口,还有一些两根电源线没有和其他线接到一块,另外我们给按键留的引脚的孔太小了,数码管的引脚情况也给弄错了,这些应该是初学这些东西经验不够和粗心造成的。这些也都给以后的学习留下了经验和教训,必须先拿到或熟悉芯片才能确定引脚的间距以及大小,制板过程必须要细心。发现这些错误,在焊接过程中我们采取了一系列的措施来补救这些错误。比如割断板子上的线,用导线来连接等。关于焊接这块是由我来负责,因为自己的水平不怎么样,需要一定的经验和技巧。刚开始烙铁和焊锡配合不到一块,然后就是焊锡的量的控制问题。我认为硬件也有点原因,可能是烙铁不够热吧。始终达不到老师焊接的那种效果,但是焊接出来还是能使用的,只是不太美观。

编程调试:此次设计的编程,难点在于对LED数码管显示程序的编写,由于对芯片的工作原理不是很熟悉,所以一开始摸不着头脑。上网查阅相关资料,对芯片的工作原理有个大致的了解后,程序的编写也初见端倪了,所以花在编此段程序的时间最长;交通灯状态的显示则没有费多大力气,因为通过所学的课程已经了解了其工作原理,就是向每个相应的口上写“1”或“0”;中断程序的编写也是常规的编写,就是保存原来状态,处理,恢复现场这一中断的基本步骤。

通过上面的这个步骤,把程序调试好,接下来就是真正的硬件连接调试了。程序既然已经在仿真的软件上通过认证,如果连接上硬件不好使的话,说明在硬件上某个部分存在一定的问题。这点得到了验证:硬件模拟的时候,和仿真完全不一样,灯全亮,或者乱亮,而数码管也没能显示,估计是编程还有硬件接口出现问题,最后也没能通过老师的验收。我们也只能再进行修改。

最后交通灯的大部分功能都已经基本实现,只是关于数码管的部分,由于对芯片不了解,所剩余的时间无几,所以没有办法进行编程调试了,这点真的很遗憾。有时间一定会把这一课补上的。

这次课程设计我感觉到了自己平时学习到的东西太浅,没能完成好这次的任务。但从中还是学习到了不少东西,使我受益匪浅。这次课程设计中犯下了不少错误,以后我会接受这些教训,同时把这些教训转换为经验应用到以后的此类设计中。最后,衷心感谢在课程设计期间老师对我们的无私帮助,还要感谢和我同组的合作者,以及所有帮助过我的同学。

第二篇:交通灯管理电路设计

交通灯管理电路设计.txt懂得放手的人找到轻松,懂得遗忘的人找到自由,懂得关怀的人找到幸福!女人的聪明在于能欣赏男人的聪明。生活是灯,工作是油,若要灯亮,就要加油!相爱时,飞到天边都觉得踏实,因为有你的牵挂;分手后,坐在家里都觉得失重,因为没有了方向。本文由车牌定位贡献

doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。

东 北 石 油 大 学

课 题 院 程 目 系

单片机原理及应用课程设计 交通灯管理电路设计 电子科学学院 电信 07-5 班 马深慧 070901140505 专业班级 学生姓名 学生学号 指导教师 2011 年 3 月 18 日

东北石油大学课程设计任务书

课程 题目 单片机原理及应用课程设计 交通灯管理电路设计 电信 07-5 姓名 马深慧 学号 070901140505 专业班级

一、设计目的: 训练学生综合运用己学课程的基本知识,独立进行单片机应用技术开发工作,掌握单片机程序设计、调试,应用电路设计、分析及调试检测。

二、设计要求: 1.应用 MCS-51 单片机设计交通灯管理电路; 2.该系统要求显示 50s 倒计时时间,当计到需交换红绿灯前 10s,路口均显示黄灯; 3.硬件设计根据设计的任务选定合适的单片机,根据控制对象设计接口电路。设计的 单元电路必须有工作原理,器件的作用,分析和计算过程; 4.软件设计根据电路工作过程,画出软件流程图,根据流程图编写相应的程序,进行 调试并打印程序清单; 5.原理图设计根据所确定的设计电路,利用 Protel 等有关工具软件绘制电路原理图、PCB 板图、提供元器件清单。

三、参考资料: [1] 单片微型计算机与接口技术,李群芳、黄建编著,电子工业出版社; [2] 单片机原理及应用,张毅刚编著,高等教育出版社; [3] 51 系列单片机及 C51 程序设计,王建校,杨建国等编著,科学出版社; [4] 单片机原理及接口技术,李朝青编著,北京航空航天大学出版社;

完成期限 指导教师 专业负责人 2011.3.14—2011.3.18 2011 年 3 月 13 日

目录

1.系统设计 1.系统设计 „„ 1 1.1 设计思路 „„ 1 1.1.1 设计目的„„ 1 1.1.2 设计任务和内容„„ 1 1.1.3 方案比较、设计与论证„„ 1 1.1.3.1 电源提供方案 „„ 1 1.1.3.2 复位方案 „„ 2 1.1.3.3 输入方案 „„ 2 1.1.3.4 显示界面方案 „„ 2 1.1.3.5 交通管理的方案论证 „„ 4 1.1.4 芯片简介„„ 4 2.硬件电路设计 2.硬件电路设计 „„ 10 2.1 设计原理分析 „„ 11 2.1.1 交通灯显示时序的理论分析与计算„„ 11 2.1.2 交通灯显示时间的理论分析与计算„„ 13 2.1.3LED 数码管显示模块„„ 14 2.1.4 复位电路„„ 15 2.1.5 晶振电路„„ 16 3.软件设计 3.软件设计 „„ 17 3.1 数码管显示子程序: „„ 17 3.1LED 红绿灯显示模块程序: „„ 18 4.总结 4.总结 „„ 21 5.参考文献 5.参考文献 „„ 22 6.附录 6.附录 „„ 22 6.1 附录 1:程序清单 „„ 22 6.2 附录 2:电路设计总图 „„ 29 1.系统设计

1.1 设计思路 1.1.1 设计目的 训练学生综合运用己学课程的基本知识,独立进行单片机应用技 术开发工作,掌握单片机程序设计、调试,应用电路设计、分析及调 试检测。1.1.2 设计任务和内容 1.应用 MCS-51 单片机设计交通灯管理电路; 2.该系统要求显示 50s 倒计时时间,当计到需交换红绿灯前 10s,路口均显示黄灯; 3.硬件设计根据设计的任务选定合适的单片机,根据控制对象 设计接口电路。设计的单元电路必须有工作原理,器件的作用,分析 和计算过程; 4.软件设计根据电路工作过程,画出软件流程图,根据流程图 编写相应的程序,进行调试并打印程序清单; 5.原理图设计根据所确定的设计电路,利用 Protel 等有关工具软 件绘制电路原理图、PCB 板图、提供元器件清单。1.1.3 方案比较、设计与论证 1.1.3.1 电源提供方案 为使模块稳定工作,须有可靠电源,采用单片机控制模块提供电 源。此方案的优点是系统简明扼要,节约成本; 缺点是输出功率不高。1 1.1.3.2 复位方案 复位方式有两种:按键复位与软件复位。由考虑到程序的简洁,避免冗长,本设计采用按键复位,在芯片的复位端口外接复位电路,通过按键对单片机输入一个高电平脉冲,达到复位的目的。1.1.3.3 输入方案 方案一: 采用 89S52 扩展 I/O 口及键盘,显示等。该方案的优点是: 使用灵活可编程,并且有 RAM,及计数器。若用该方案,可提供较多 I/O 口,但操作起来稍显复杂。

方案二: 直接在 I/O 口线上接上按键开关。因为设计时精简和优化了电路,所以剩余的口资源还比较多,我们使用 2 个按键,分别是 K1、K2。由于该系统对于交通灯及数码管的控制,只用单片机本身的 I/O 口 就可实现,且本身的计数器及 RAM 已经够用,故选择方案二 1.1.3.4 显示界面方案 该系统要求完成倒计时、状态灯等功能。基于上述原因,我们考 虑了三种方案: 方案一: 2 完全采用数码管显示。这种方案只显示有限的符号和数码字符,无法胜任题目要求。方案二: 完全采用点阵式 LED 显示。这种方案实现复杂,且须完成大量 的软件工作; 但功能强大,可方便的显示各种英文字符,汉字,图形。方案三: 采用数码管与点阵 LED(点阵式和 8 段式 LED)相结合的方法因 为设计既要求倒计时数字输出,又要求有状态灯输出等,为方便观看 并考虑到现实情况,用数码管与 LED 灯分别显示时间与提示信息。这 种方案既满足系统功能要求,又减少了系统实现的复杂度。权衡利弊,第三种方案可互补一二方案的优缺,决定采用方案三以实现系统的显 示功能。整个设计以 AT89S52 单片机为核心,由数码管显示,数码管显示, LED 复位电路组成。硬件模块入图所示: AT89S52 单 片机

数码管显示 LED 数码管 晶振电路 显示

复位电路 3 1.1.3.5 交通管理的方案论证 东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿 三色的指示灯,指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮 允许通行。黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯燃 亮时间为东西、南北两干道的公共停车时间。指示灯燃亮的方案如下 表所示: 40S 10S 40S 10S „„

东 西 红 灯 黄 灯 绿 灯 黄 灯 „„ 道 亮 亮 亮 亮

南 北 绿 灯 黄 灯 红 灯 黄 灯 „„ 道 亮 亮 亮 亮 上表说明:(1)当东西方向为红灯,此道车辆禁止通行,东西道行人可通 过;南北道为绿灯,此道车辆通过,行人禁止通行。时间 为 40 秒。(2)黄灯 10 秒,警示车辆和行人红、绿灯的状态即将切换。(3)当东西方向为绿灯,此道车辆通行;南北方向为红灯,南 北道车辆禁止通过,行人通行。时间为 40 秒。(4)这样如上表的时间和红、绿、黄出现的顺序依次出现这样 行人和车辆就能安全畅通的通行。1.1.4 芯片简介 1.AT89S52 单片机简介 4 其引 DIP 封装的脚图如下:

主要性能: 与 MCS-51 单片机产品兼容、8K 字节在系统可编程 Flash 存 储器、1000 次擦写周期、全静态操作:0Hz~33Hz、三级加 密程序存储器、32 个可编程 I/O 口线、三个 16 位定时器/计 数器 八个中断源、全双工 UART 串行通道、低功耗空闲和掉电 模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉 电标识符。功能特性描述: 5 At89s52 是一种低功耗、高性能 CMOS8 位微控制器,具有 8K 在系统可编程 Flash 存储器。使用 Atmel 公司高密度非 易失性 存储器技术制造,与工业 80C51 产品指令和引脚完 全兼容。片 上 Flash 允许程序存储器在系统可编程,亦适于 常规编程器。在 单芯片上,拥有灵巧的 8 位 CPU 和在系统 可编程 Flash,使得 AT89S52 为众多嵌入式控制应用系统提 供高灵活、超有效的解决 方案。AT89S52 具有以下标准功能: 8k 字节 Flash,256 字节 RAM,32 位 I/O 口线,看门狗定时器,2 个数据指针,三个 16 位 定时器/计数器,一个 6 向量 2 级中断结构,全双工串行口,片 内晶振及时钟电路。另外,AT89S52 可降至 0Hz 静态逻 辑操作,支持 2 种软件可选择节电模式。空闲模式下,CPU 停止工作,允 许 RAM、定时器/计数器、串口、中断继续工 作。掉电保护方式 下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直 到下一个中断或硬件复位为止。8 位微控制器 8K 字节在系统可 编程 Flash AT89S52 P0 口:P0 口是一个 8 位漏极开路的双向 I/O 口。作为输出 口,每位能驱动 8 个 TTL 逻辑电平。对 P0 端口写“1”时,引脚 用作高阻抗输入。当访问外部程序和数据存储器时,P0 口也被作为低 8 位 地址/数据复用。在这种模式下: P0 具有内部上拉电阻。6 在 flash 编程时,口也用来接收指令字节; P0 在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1 口:P1 口是一个具有内部上拉电阻的 8 位双向 I/O 口,p1 输出缓冲器能驱动 4 个 TTL 逻辑电平。P1 端口写“1”时,对 内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入 使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)此外,P1.0 和 P1.2 分别作定时器/计数器 2 的外部计数输入(P1.0/T2)和时器/计数器 2 的触发输入(P1.1/T2EX),具体如 下表所示。在 flash 编程和校验时,P1 口接收低 8 位地址字节。引脚号第二功能 P1.0 T2(定时器/计数器 T2 的外部计数输入),时钟输出 P1.1 T2EX(定时器/计数器 T2 的捕捉/重载触发信号和方向 控制)P1.5 MOSI(在系统编程用)P1.6 MISO(在系统编程用)P1.7 SCK(在系统编程用)P2 口:P2 口是一个具有内部上拉电阻的 8 位双向 I/O 口,P2 输出缓冲器能驱动 4 个 TTL 逻辑电平。P2 端口写“1”时,对 内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入 7 使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用 16 位地址读取外部数据存储器(例如执行 MOVX @DPTR)时,P2 口送出高八位地址。在这种应 用中,P2 口使用很强的内部上拉发送 1。在使用 8 位地址(如 MOVX @RI)访问外部数据存储器时,P2 口输出 P2 锁存器的内容。在 flash 编程和校验时,P2 口也接收高 8 位地址字节和一些 控制信号。P3 口:P3 口是一个具有内部上拉电阻的 8 位双向 I/O 口,p2 输出缓冲器能驱动 4 个 TTL 逻辑电平。P3 端口写“1”时,对 内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入 使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3 口亦作为 AT89S52 特殊功能(第二功能)使用,如下表所 示。在 flash 编程和校验时,P3 口也接收一些控制信号。端口引脚 第二功能 P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 INTO(外中断 0)P3.3 INT1(外中断 1)P3.4 TO(定时/计数器 0)8 P3.5 T1(定时/计数器 1)P3.6 WR(外部数据存储器写选通)P3.7 RD(外部数据存储器读选通)此外,P3 口还接收一些用于 FLASH 闪存编程和程序校验的控 制信号。RST——复位输入。当振荡器工作时,RST 引脚出现两个机器 周期以上高电平将是单片机复位。ALE/PROG——当访问外部程存储器或数据存储器时,ALE(地 址锁存允许)输出脉冲用于锁存地址的低 8 位字节。一般情况下,ALE 仍以时钟振荡频率的 1/6 输出固定的脉冲信号,因此它可对 外输出时钟或用于定时目的。要注意的是:每当访问外部数据存 储器时将跳过一个 ALE 脉冲。对 FLASH 存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的 8EH 单元 的 D0 位置位,可禁止 ALE 操作。该位置位后,只有一条 MOVX 和 MOVC 指令才能将 ALE 激活。此外,该引脚会被微弱拉高,单片机 执行外部程序时,应设置 ALE 禁止位无效。PSEN——程序储存允许(PSEN)输出是外部程序存储器的读 选通信号,当 AT89C52 由外部程序存储器取指令(或数据)时,每个机器周期两次 PSEN 有效,即输出两个脉冲,在此期间,当访 问外部数据存储器,将跳过两次 PSEN 信号。9 EA/VPP——外部访问允许,欲使 CPU 仅访问外部程序存储器(地址为 0000H-FFFFH),EA 端必须保持低电平(接地)。需注 意的是:如果加密位 LB1 被编程,复位时内部会锁存 EA 端状态。如 EA 端为高电平(接 Vcc 端),CPU 则执行内部程序存储器 的指令。FLASH 存储器编程时,该引脚加上+12V 的编程允许电源 Vpp,当然这必须是该器件是使用 12V 编程电压 Vpp。

2.硬件电路设计

复位

晶振源 AT89S52 各路口红绿灯 LED 倒计时显示 10 2.1 设计原理分析 2.1.1 交通灯显示时序的理论分析与计算 对于一个交通路口来说,能在最短的时间内达到最大的车流量,就 算是达到了最佳的性能,我们称在单位时间内多能达到的最大车流 为车流量,用公式:车流量= 车流 / 时间 来表示。先设定一些标号如图 2-1 所示。

说明: 此图为直方图,上边为北路口灯,右边为东路口灯,下边为南路 口灯,左边为西路口灯。图 2-2 所示为一种红绿灯规则的状态图,分别设定为 S1、S2、S3、S4,交通灯以这四的状态为一个周期,循环执行(见图 2-3)。11 图 2-1 请注意图 2-1b 和图 2-1d,它们在一个时间段中四个方向都可以通 车,这种状态能在一定的时间内达到较大的车流量,效率特别高。依据上述的车辆行驶的状态图,可以列出各个路口灯的逻辑表,由于 相向的灯的状态图是一样的,所以只需写出相邻路口的灯的逻辑表; 根据图 2-3 可以看出,相邻路口的灯它们的状态在相位上相差 180°。因此最终只需写出一组 S1、S2、S3、S4 的逻辑状态表。如表 2-1 所示。12 表 2-1 表中的“×”代表是红灯亮(也代表逻辑上的 0),“√”是代表绿 灯亮(也代表逻辑上的 1),依上表,就可以向相应的端口送逻辑值。

2.1.2 交通灯显示时间的理论分析与计算 东西和南北方向的放行时间的长短是依据路口的各个方向平时的车 13 流量来设定,并且 S1、S2、S3、S4 各个状态保持的时间之有严格的 对应关系,其公式如下示。T-S1+T-S2=T-S3 T-S2=T-S4 T-S1=T-S3 我们可以依据上述的标准来改变车辆的放行时间。按照一般的规则,一个十字路口可分为主干道和次干道,主干道的放行时间大于次干道 的放行时间,我们设定值时也应以此为参考 2.1.3LED 数码管显示模块(1)静态显示方式:静态显示方式是指当显示器显示某一字符时,发 光二极管的位选始终被选中。在这种显示方式下,每一个 LED 数码管 显示器都需要一个 8 位的输出口进行控制。由于单片机本身提供的 I/O 口有限,实际使用中,通常通过扩展 I/O 口的形式解决输出口数 量不足的问题。静态显示主要的优点是显示稳定,在发光二极管导通电流一定的情况 下显示器的亮度大,系统运行过程中,在需要更新显示内容时,CPU 才去执行显示更新子程序,这样既节约了 CPU 的时间,又提高了 CPU 的工作效率。其不足之处是占用硬件资源较多,每个 LED 数码管需要 独占 8 条输出线。随着显示器位数的增加,需要的 I/O 口线也将增加。(2)动态显示方式:动态显示方式是指一位一位地轮流点亮每位显示 器(称为扫描),即每个数码管的位选被轮流选中,多个数码管公用 14 一组段选,段选数据仅对位选选中的数码管有效。对于每一位显示器 来说,每隔一段时间点亮一次。显示器的亮度既与导通电流有关,也 与点亮时间和间隔时间的比例有关。通过调整电流和时间参数,可以 既保证亮度,又保证显示。若显示器的位数不大于 8 位,则显示器的 公共端只需一个 8 位 I/O 口进行动态扫描(称为扫描口),控制每位 显示器所显示的字形也需一个 8 位口(称为段码输出)。15 2.1.4 复位电路 复位方式有多种,本设计采用按键复位。接线图如图程序复位 电路框图

在设定的定时时间内,89S52 必须在 RST 引脚产生一个由高到低 的电平变化,以清内部定时器.2.1.5 晶振电路 晶振电路原理图如 3-2: 3-2 晶振模块原理图 选取原则:传统做法,但能够实现所需,即最简单也最是实用。电容选取 30pF,晶振为 30MHz。16 3.软件设计

3.1 数码管显示子程序: void normalPageShow(){ register unsigned char i, j, n;register long lTmp;unsigned char const SEG_CODE[] = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F};unsigned char const COMM[2] = {0x01, 0x02, 0x04, 0x08};for(i = 0;i < 2;i ++){ lTmp = gnValue;n = lTmp((lTmp / 10)* 10);P2 = COMM[i];P0 = SEG_CODE[n];P2 = COMM[i + 2];P0 = SEG_CODE[n];lTmp /= 10;} } main(void){ EA = 0;// global interrupt disable 26 giSysStatus = 0;initMCU();EA = 1;while(1){ if(gbFlag_1sPeriod){ gbFlag_1sPeriod = 0;gnValue-= 1;gbFlag_refreshLED = 1;if(gnValue == 10){ dsY1 = 0;dsY2 = 0;} if(gnValue == 0){ if(dsR1 == 0){ dsR1 = 1;dsR2 = 0;dsG1 = 0;dsG2 = 1;dsY1 = 0;dsY2 = 0;} else{ 27 //刷新 LED dsR1 = 0;dsR2 = 1;dsG1 = 1;dsG2 = 0;dsY1 = 0;dsY2 = 0;} } } if(gbFlag_refreshLED){ gbFlag_refreshLED = 0;normalPageShow();} } } 28 6.2 附录 2:电路设计总图 29 东北石油大学课程设计成绩评价表

课程名称 题目名称 学生姓名 序号 马深慧 评价项目 工作量、工作态 1 度和出勤率 学号

单片机原理及应用课程设计 交通灯管理电路设计 070901140505 指 指导教 师姓名 标 职称 满分 评分

按期圆满的完成了规定的任务,难易程度和工作 量符合教学要求,工作努力,遵守纪律,出勤率 高,工作作风严谨,善于与他人合作。课程设计选题合理,计算过程简练准确,分析问 20 2 课程设计质量

题思路清晰,结构严谨,文理通顺,撰写规范,图表完备正确。45 3 4 总分 评语:

创新 答辩

工作中有创新意识,对前人工作有一些改进或有 一定应用价值。能正确回答指导教师所提出的问题。5 30 指导教师:

****年**月**日 30 1

第三篇:PLC交通灯课程设计

PLC的定义及工作原理

⒈定义:可编程控制器,简称PLC(Programmable logic Controller),是指以计算机技术为基础的新型工业控制装置。“PLC是一种专门为在工业环境下应用而设计的数字运算操作的电子装置”。它采用可编程序的存储器,用来在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,并通过数字式或模拟式的输入和输出,控制各种类型的机械或生产过程。

⒉工作原理: 当PLC投入运行后,其工作过程一般分为三个阶段,即输入采样、用户程序执行和输出刷新三个阶段。完成三个阶段称作一个扫描周期。在整个运行期间,PLC的CPU以一定的扫描速度重复执行三个阶段。

(一)输入采样阶段

在输入采样阶段,PLC以扫描方式依次地读入所有输入状态和数据,并将它们存入I/O映象区中的相应得单元内。

(二)用户程序执行阶段

在用户程序执行阶段,PLC总是按由上而下的顺序依次地扫描用户程序(梯形图)。

(三)输出刷新阶段

当扫描用户程序结束后,PLC就进入输出刷新阶段。在此期间,CPU按照I/O映象区内对应的状态和数据刷新所有的输出锁存电路,再经输出电路驱动相应的外设。

随着自动化控制技术和微电子技术的迅猛发展,PLC作为前沿的工业控制器,具有体积小、可靠性高、易操作、灵活性强、抗干扰能力强等一系列优点,广泛用于自动化控制领域。用内部编程取代继电器逻辑控制电路中大量的中间继电器和时间继电器,简化了控制路线,提高了系统控制的可靠性,这是PLC最大的优点。借助于书序控制图和梯形图来编制用户控制程序,实现自动控制系统顺序控制,是PLC的主要功能之一。

实训1

基础试验

1.两灯交替闪烁 指令表

梯形图

工作过程:

按下启动开关X0,Y0亮,且开始计时,2S后,T0动作,T0常闭断开Y0熄灭,T0常开闭合Y1亮,经过2s,Y0亮;如此循环,直到按下停止开关X1。

2.利用计数器实现循环

指令表

梯形图

工作过程:

按下启动开关X0,Y0亮,开始计时2S后,T0动作,Y0熄灭,Y1亮,如此循环,直到循环了5次,计数器CO动作,常开触点闭合,整个过程停止。

实训2 十字路口交通灯控制系统

1、实训目的

① 了解PLC基本功能指令使用方法 ②掌握功能指令图的输入方法 ③学会利用功能指令进行设计 2、实训的内容

该实验在十字路口交通信号灯控制实验区内完成,按启动按钮,六盏灯按如下时序工作:第一组绿灯亮5秒后闪烁3次(灭0.5秒,亮0.5秒),黄灯亮2秒,红灯亮10秒;第二组红灯亮10秒,绿灯亮5秒后闪烁3次(灭0.5秒,亮0.5秒),黄灯亮2秒。

从时序图可以看出,该系统有一个输入装置和 6个输出装置。下表为输入装置与输出装置与PLC的地址编号对应表。

指令表

⒈ ⒉ ⒊ ⒋ ⒌ ⒍ ⒎ ⒏ ⒐ ⒑ ⒒ LD

M8002 SET

L0 STL

S0 LD

X000 OUT

Y000 OUT

Y003 SET

S21 SET

S31 STL

S21 OUT

Y000 OUT

T0

K50 ⒓ LD

T0 ⒔ SET

S22 ⒕ STL

S22 ⒖ OUT

T1

K30 ⒗ LDI

T1 ⒘ AND

M8013 ⒙ OUT

Y000 ⒚ LD

T1 ⒛ SET

S23 21.STL 22.OUT 23.OUT 24.LD 25.SET 26.STL 27.OUT 28.OUT 29.STL 30.OUT 31.OUT 32.LD 33.SET 34.STL 35.OUT 36.OUT 37.LD 38.SET 39.STL 40.OUT 41.LDI 42.AND 43.UT 44.LD 45.SET 46.STL 47.OUT 48.OUT 49.STL 50.STL 51.LD 52.AND 53.SET 54.RET 55.END S23 Y001 T2

K20 T2

S24

S24 Y002 T3

K100

S31 Y003 T4

K100

T4

S32

S32 Y004 T5 T5 S33

S33 T6

K30

T6

M8013 Y004

T6

S34

S34

Y005

T7

S24

S34

T3

T7

S0

附加任务

机械手手动控制实验

控制要求1:

实现机械手左右移动。

按下向左按钮,机械手向左移动,到达左限位开关后停止;按下向右按钮,机械手向右移动,到达右限位开关后停止。

控制要求2:

实现机械手上下移动。

按下向上按钮,机械手向上移动,到达上限位开关后停止;按下向下按钮,机械手向下移动,到达下限位开关后停止。

控制要求3:

实现机械手左右、上下移动。

按下向左按钮,机械手向左移动,到达左限位开关后停止,按下向右按钮,机械手向右移动,到达右限位开关后停止。

按下向上按钮,机械手向上移动,到达上限位开关后停止;按下向下按钮,机械手向下移动,到达下限位开关后停止。

控制要求4:

实现上述控制后,机械手电磁铁在A位置可吸引提取物料(铁块)或释放物料。机械手电磁铁在B位置同样可吸引提取物料(铁块)或释放物料。

可手动操作实现物料从A位置移动到B位置或从B位置移到达A位置。

这是一个比较典型的十字路口交通灯的梯形图设计,最为一种设计实践,主要是为PLC在交通控制系统中提出一种设计理论,为以后PLC在复杂的控制系统中提出一种可行的理论方案。在实际应用中,采用PLC控制城市交通信号灯,能根据不同路况要求,随时修改控制程序,以改变各信号灯的工作时间和工作状况。与继电器或逻辑电路控制系统相比,PLC控制系统具有更高的可靠性、灵活性和经济实用性。

通过这次设计实践,我巩固了PLC的基本编程方法,对PLC的工作原理和使用方法也有了更深刻的理解。在对理论的运用中,提高了我们的工程素质,当我们把自己想出来的程序与到PLC的时候问题出现了,不是不能运行,就是运行的结果和要求的结果不相符。通过解决一个个在调试中出现的问题,我们对PLC的理解加强了,看到了实践与理论的差距,通过此次课程,让我了解了PLC梯形图、指令表、顺序功能图有了更好的了解,也让我了解了关于PLC设计原理。有很多设计理念来源于实际,从中找出最合适的设计方法。

第四篇:单片机交通灯控制程序

#include #define uchar unsigned char #define uint unsigned int uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x40 };//*************digit display port******* sbit led_w1=P1^1;sbit led_w2=P1^0;sbit led_w3=P1^3;sbit led_w4=P1^2;

//*****define led port ********** sbit R1=P2^4;//east and west red led sbit Y1=P2^3;//east and west yellow led sbit G1=P2^2;//east and west green led sbit R2=P2^5;//south and north red led sbit Y2=P2^6;//south and north yellow led sbit G2=P2^7;//south and north green led

//*********define key************** sbit k0=P3^0;//emergency sbit k1=P3^1;//east and west pass sbit k2=P3^2;//south and north pass sbit k3=P3^3;//start and subtract 1 sbit k4=P3^4;//pause and add 1 sbit k5=P3^5;//set time

//*********define variable********* bit flag,flag_t;uchar dx_time,nb_time;uchar cnt,pass_time,cnt1,y_time;uchar k0num,k1num,k2num,k3num,k4num,k5num;

//*********define key******** void delay(uint i){ uint x,y;for(x=i;x>0;x--)

for(y=110;y>0;y--);} void timer0_init(){ TMOD=0x11;TH0=(65536-50000)/256;TL0=(65536-50000)%256;TH1=(65536-50000)/256;TL1=(65536-50000)%256;EA=1;ET0=1;ET1=1;}

void led_display(uchar dx,nb){ uchar dx1,dx2,nb1,nb2;dx2=dx/10;dx1=dx%10;nb2=nb/10;nb1=nb%10;if(dx>99){

led_w1=1;

led_w2=1;} else {

led_w1=0;

P0=table[dx1];

delay(5);

led_w1=1;

if(dx<10&&dx>0)led_w2=1;

else

{

led_w2=0;

P0=table[dx2];

delay(5);

led_w2=1;

} } if(nb>99){

led_w3=1;

led_w4=1;} else {

led_w3=0;

P0=table[nb1];

delay(5);

led_w3=3;

if(nb<10&&nb>0)led_w4=1;

else

{

led_w4=0;

P0=table[nb2];

delay(5);

led_w4=4;

} } } //*************light work********** void circle_led(){ if(!flag){

if(pass_time>5)

{

led_display(pass_time-5,pass_time);

R1=1;Y1=1;G1=0;

//east and west pass

R2=0;Y2=1;G2=1;

//south and north stop

}

if(pass_time<=5&&pass_time>0)

{

if(cnt>=10)led_display(pass_time,pass_time);

else led_display(100,pass_time);

R1=1;G1=1;

//east and west yellow led flash

if(cnt>=10)Y1=0;

else Y1=1;

R2=0;Y2=1;G2=1;

}

if(pass_time==0)

{

pass_time=nb_time;

flag=1;

} } else {

if(pass_time>5)

{

led_display(pass_time,pass_time-5);

R1=0;Y1=1;G1=1;

//east and west stop

R2=1;Y2=1;G2=0;

//south and north pass

}

if(pass_time<=5&&pass_time>0)

{

if(cnt>=10)led_display(pass_time,pass_time);

else led_display(pass_time,100);

R1=0;Y1=1;G1=1;

R2=1;G2=1;

//south and north yellow led flash

if(cnt>=10)Y2=0;

else Y2=1;

}

if(pass_time==0)

{

pass_time=dx_time;

flag=0;

} } }

void emergency()

//east and west,south and north stop { led_display(0,0);R1=0;Y1=1;G1=1;R2=0;Y2=1;G2=1;} void dx_pass()

//east and west pass,south and north stop { led_display(100,100);if(y_time<=5&&y_time>0){

TR1=1;

R1=0;Y1=1;G1=1;

R2=1;G2=1;

//south and north yellow led flash

if(cnt1>=10)Y2=0;

else Y2=1;} if(y_time==0){

TR1=0;

R1=1;Y1=1;G1=0;

R2=0;Y2=1;G2=1;} } void nb_pass()

//south and north pass,east and west stop { led_display(100,100);if(y_time<=5&&y_time>0){

TR1=1;

R1=1;G1=1;

if(cnt1>=10)Y1=0;//east and west yellow led flash

else Y1=1;

R2=0;Y2=1;G2=1;

} if(y_time==0){

TR1=0;

R1=0;Y1=1;G1=1;

R2=1;Y2=1;G2=0;} }

//***********keyboard scan************ void keyscan(){

if(!k5num)

{

if(k0==0)//*******emergency*******

{

delay(10);

if(k0==0)

{

while(!k0);

TR0=0;

k0num=1;

}

}

if(!k1num&&!k0num)

{

if(k1==0)

{

delay(10);

if(k1==0)

{

while(!k1);

k1num=1;

k2num=0;

y_time=5;//单方向通行时,黄灯闪烁时间

TR0=0;

TR1=1;

}

}

}

if(!k2num&&!k0num)

{

if(k2==0)

{

delay(10);

if(k2==0)

{

while(!k2);

k1num=0;

k2num=1;

y_time=5;//单方向通行时,黄灯闪烁时间

TR0=0;

TR1=1;

}

}

}

if(k3==0)

{

delay(10);

if(k3==0)

{

while(!k3);

if(k1num||k2num)pass_time=dx_time;//由东西或南北通行返回时,重新开始执行。

k0num=0;

k1num=0;

k2num=0;

k4num=0;

k5num=0;

TR0=1;

TR1=0;

flag_t=0;

}

} {

} if(!k4&&!k0num)

//pause { delay(10);if(k4==0){

while(!k4);

TR0=0;

k4num=1;} }

if(k4num==1)

//暂停键按下时,才可以调整两个方向通行时间 if(k5==0){ delay(10);if(k5==0){

k5num++;

while(!k5);

switch(k5num)

{

case 1:

TR0=1;

flag_t=1;//调整时间时,pass_time值不变。

k5num=1;

break;

case 2:

k5num=2;

break;

case 3:

TR0=0;

k5num=0;

pass_time=dx_time;//重新赋值

break;

} } } if(k5num!=0){ if(k3==0){

delay(10);

if(k3==0)

{

while(!k3);

switch(k5num)

{

case 1:

dx_time--;

if(dx_time<10)

break;

case 2:

nb_time--;

if(nb_time<10)

break;

}

}

}

if(k4==0)

{

delay(10);

if(k4==0)

{

while(!k4);

switch(k5num)

{

case 1:

dx_time++;

if(dx_time>=100)

break;

case 2:

nb_time++;

if(nb_time>=100)

break;

}

}

}

} } } void main(){ timer0_init();dx_time=45;nb_time=30;

dx_time=99;nb_time=99;dx_time=10;nb_time=10;

pass_time=dx_time;while(1){ keyscan();if(k0num)emergency();else { switch(k4num){

case 0:

if(!k1num&&!k2num)

circle_led();

else

{

if(k1num)dx_pass();

if(k2num)nb_pass();

}

break;

case 1:

switch(k5num)

{

case 0:

if(!k1num&&!k2num)

circle_led();

else

{

if(k1num)dx_pass();

if(k2num)nb_pass();

}

break;

case 1:

R1=1;Y1=1;G1=1;//调整时间时,关闭所有灯

R2=1;Y2=1;G2=1;

if(cnt<=10)

led_display(100,nb_time);

else

led_display(dx_time,nb_time);

break;

case 2:

R1=1;Y1=1;G1=1;//调整时间时,关闭所有灯

R2=1;Y2=1;G2=1;

if(cnt<=10)

led_display(dx_time,100);

else

led_display(dx_time,nb_time);

break;

}

break;

}

}

} } void timer0()interrupt 1 { TH0=(65536-50000)/256;TL0=(65536-50000)%256;cnt++;if(cnt==20){

cnt=0;

if(flag_t==0)pass_time--;//调整时间时,不执行此操作

} } void timer1()interrupt 3 { TH1=(65536-50000)/256;TL1=(65536-50000)%256;cnt1++;if(cnt1==20){

cnt1=0;

y_time--;//单方向通行时,黄灯闪烁时间。

} }

第五篇:交通灯毕业设计

4.4 程序编写

-交通灯控制程序----------

MCS-51汇编语言---------

用AT89S51单片机,12MHz晶振-------------------

程序名:交通灯.ASM----

交通灯控制系统程序-----

ORG 0000H;主程序的入口地址

AJMP MAIN;ORG 0003H AJMP INTO;ORG 0100H MAIN: MOV SP, #60H SETB EX0 SETB IT0 SETB EA;CPU MOV TMOD, #10H;MOV A , #0DEH;MOV P0 MOV R2START: ACALL DELAY DJNZ R2 DISP: MOV P0 MOV R2

DISP1: ACALL DELAY;DJNZ R2 MOV R2 WARN1: CPL P0.7;ACALL DELAY DJNZ R2 MOV P0 MOV R2 YEL1: ACALL DELAY DJNZ R2 MOV P0 MOV R2 DISP2: ACALL DELAY DJNZ R2 MOV R2 WARN2: CPL P0.2;,A,#2,START,#07EH;,#28H;,DISP1;20S,#10;,WARN1;,#0BBH;,#06,YEL1;3S,#0DBH;,#28H,DISP2,#10

指向主程序 指向紧急车辆出现中断程序 ;允许INT0中断

;设外部中断0下降沿有效 开中断

置定时器1为方式1 南北红灯,东西红灯 ;调用0.5S子程序 南北绿灯放行,红灯禁止 置0.5S循环次数 调用0.5S延时子程序 不到继续循环

置南北绿灯闪烁循环次数 南北绿灯闪烁 闪烁次数未到继续循环 南北东西黄灯警告 未到继续循环 南北红灯,东西绿灯 ;20S未到继续循环 东西绿灯闪烁 ACALL DELAY DJNZ R2,WARN2 MOV P0,#0BDH;南北东西黄灯 MOV R2,#06 YEL2: ACLAA DELAY DJNZ R2,YEL2 AJMP DISP;循环执行主程序 INT0: PUSH P0 ;P0口数据压栈保护 PUSH 03H ;R3寄存器压栈保护 PUSH TH1;TH1 PUSH TL1;TL1 MOV P0 MOV R5 DELAY0: ACLAA DELAY DJNZ R5 POP TL1;POP TH1 POP 03H RETI;DELAY: MOV R3 MOV TH1,#03CH MOV TL1,#0B0H SETB TR1 LP1: JBC R3 SJMP LP1

LP2: MOV TH1 MOV TL1 DJNZ R3 RET ENT,#0DEH;,#14H;,DELAY0;10S,#0AH,LP2,#03CH,#0B0H,LP1 压栈保护 压栈保护

南北东西道均为红灯置0.5S循环初值 未到继续循环 弹栈恢复现场 返回主程序

下载交通灯心得word格式文档
下载交通灯心得.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


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

相关范文推荐

    交通灯开题报告

    重庆电子工程职业学院毕业设计(论文)开题报告 系 别 电子信息系 专 业 微电子技术班 级 微电081班 学生姓名 王 文 翔 学 号 2008110475 指导教师 刘睿强 一、 毕业设计......

    教学反思(交通灯)

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

    交通灯单片机课程设计

    《单片机原理与接口技术课程设计报告》 课题:以交通灯为主的多功能任务设计 班级 学号 学生姓名指导教师 淮阴工学院 电子与电气工程学院 2015-6 1 目录 一、 课程设计目......

    FPGA交通灯实验报告

    交通灯实验报告 一, 实验目的 实现两路信号灯交替亮起,并利用两组数码管分别对两路信号进行倒计时。 两路信号时间分别为: V:绿灯(30S) H:红灯(35S) 黄灯(5s) 绿灯(30S) 红灯(35S) 黄灯......

    数电课程设计——交通灯(范文模版)

    课 程 设 计 课程名称 数字电子技术基础 题目名称 交通灯控制电路学生学院 专业班级 学号学生姓名 邓嘉琦 指导教师2014 年5 月 25 日 一、设计题目: 交通灯控制电路 二、实......

    单片机:交通灯控制系统设计范文大全

    交通灯控制系统设计 摘要:本系统由单片机系统、键盘、LED 显示、交通灯演示系统组成。系统包括人行道、左转、右转、以及基本的交通灯的功能。系统除基本交通灯功能外,还具有......

    新型交通灯控制管理器

    天津职业技术师范大学 课程题目:新型交通灯控制管理器设计成员:王昕指导教师:谷金清 课程设计 徐盼盼 梁佳欣 邓裕明 孔维敬 1.题目 新型交通灯控制管理器 2.主要技术指标......

    基于单片机的交通灯设计

    基于单片机的交通灯设计 设计程序: #include #define uchar unsigned char /**************************变量、控制位定义**************************/ uchar code table[10......