交通等控制系统(C语言).docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机课程设计学生: 学 号: 指导老师: 成 绩:引言 交通在人们的日常生活中占有重要的地位,随着人们社会活动的日益频繁,这点更是体现的淋漓尽致。人、车、路三者关系的协调,已成为交通管理部门需要解决的重要问题之一。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为核心器件来使用,以实现各项功能。本设计就是采用AT89S52单片机为中心器件来设计交通灯控制器,实现了智能控制功能。 2 设计任务及总体方案 2.1 设计任务及要求 利用单片机的定时器产生秒信号,控制十字路口的红绿黄灯交替点亮和熄灭,并且用4只LED数码管显示十字路口两个方向的剩余时间。具体设计要求如下。 十字交叉路口的交通灯控制系统的结构如图1.1所示。 往南和往北的信号一致,即红灯(绿灯或黄灯)同时亮或同时熄灭。用两个数码管来显示被点亮的指示灯还将点亮多久。往东和往西方向的信号一致,其工作方式与南北方向一样,也采用两个数码管来倒计时。当南北方向为绿灯和黄灯时,东西向的红灯点亮禁止通行;而东西方向为绿灯和黄灯时,南北向的红灯点亮禁止通行。 假设南北方向为主干道,通行时间为40秒,东西方向是次干道,通行时间为40秒,黄灯点亮的时间均为5秒,则其工作方式如所示循环点亮信号灯。 南北向 绿灯亮40秒 黄灯亮5秒 红灯亮45秒 东西向 红灯亮45秒 绿灯亮40秒 黄灯亮5秒 2.2 总体方案介绍:本系统电路由单片机AT89S52、复位电路、时钟电路、数码管显示电路以及发光二级管显示电路构成,逻辑框图如下图所示。 各相应组成部分提供定时信号,使得相应的发光二极管和数码管显示。 3 硬件系统的设计3.1 AT89S52简介 AT89S52单片机是一种低功耗、高性能CMOS 8位微控制器。它具有以下主要标准功能: 8KB可重复编成的Flash存储器, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,个中断源,全双工串行口。采用单一+5V电源 3.2 时钟电路 3.3 复位电路3.4 LED数码管显示模块 本设计所用LED数码管显示器是共阴极8段式数码管,其内部8段发光二极管的阴极端连接在一起,阳极端分开控制,使用时公共端接地,因此,点亮发光二极管,只需给对应的阳极端送高电平。给数码管的各个引脚输入不同的8位二进制编码,可显示不同的数字或字符,这种二进制编码称为字段码。本设计所用共阴极数码管的字段码如下图所示。 显示字符的共阴极字段码 显示字符 共阴极字段码 0 3FH 1 06H 2 5BH 3 4FH 4 66H 5 6DH 6 7DH 7 07H 8 7FH 9 6FH LED数码管在显示时,通常有静态显示方式和动态显示方式两种。 静态显示结构简单,操作方便,要显示某个数字,直接在I/O线上发送相对应的字段码,但是一个数码管就需要8根I/O线,而本系统中数码管数量较多,需要占用的I/O线很多;动态显示所用的I/O接口信号线少,线路简单,因此本系统选用动态显示方式。四个数码管的段选线并接在一起通过P0口控制,它们的公共端不直接接地,每个数码管的公共端分别与一根I/O口项链,通过P2口控制。动态显示的工作原理是4个数码管轮流显示相应的数字,一次循环完毕后,下一次循环又这样轮流显示,由于人的视觉暂留效应,循环的周期太快,只有几十微秒,所以看起来所有的数码管是一起显示的。并在P0口接7407芯片,起到缓冲的作用,使得系统更加稳定。 3.5 红绿灯显示模块 4 软件系统的设计 ② 延时子程序模块:产生1ms延时信号,循环调用1000次完成1秒钟延时,循环调用500次完成0.5秒定时。 ③ 显示子程序模块:为12位LED动态显示提供驱动信号。P0口和P2口为数码管提供驱动信号,P0口送出段选码,P2口为位选码。 P1口输出字段码控制红绿灯亮灭:南北绿灯亮,东西红灯亮时P1=001100B=0CH,同时数码管从40倒计时到00;南北黄灯闪烁,东西红灯亮,亮0.5S,P1=001010B=0AH,灭0.5S,P1=001000B=08H,同时数码管从05倒计时到00;南北红灯亮,东西绿灯亮时P1=100001B=21H,同时数码管从40倒计时到00;南北红灯亮,东西黄灯闪烁,亮0.5S,P1=010001B=11H,灭0.5S, P1=000001B=01H。 4.2 程序流程图 4.3 系统程序5 设计总结6 参考文献7 附录 #includereg52.h #in

文档评论(0)

youshou998 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档