毕业设计(论文)51单片机交通灯C语言.docVIP

毕业设计(论文)51单片机交通灯C语言.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
参赛编号:__________(主办方填) 第六届电子制作大赛 作品技术报告 交通灯(单片机) 通信与信息工程 学院 大三 刘源源 冯 誉 李 玲 公元 2010 年 11 月 13 日 作品技术报告 内容摘要 年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。 十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本系统采用MSC-51系列单片机ATSC52为中心器件来设计交通灯控制器,实现了能根据实际车流量通过8052芯片的P1口设置红、绿灯点亮时间的功能;红绿灯循环点亮,倒计时剩秒时黄灯闪烁警示。本系统实用性强、操作简单、扩展功能强。 作品介绍 (1)设计一个十字路口的交通灯控制电路,要求南北(A)方向车道和东西(B)方向车道两条交叉道路上的车辆交替运行,干道每次通行时间都设为20秒。   (2)在绿灯转为红灯时,要求黄灯先亮5秒钟,才能变换运行车道。   (3)东西方向、南北方向车道除了有红、黄、绿灯指示外,每一种灯亮的时间都用显示器进行显示(采用计时的方法)。 (4)应对紧急状况下的突发事件专设置紧急状态开关K1,紧急状态下,A方向和B方向皆为红灯,计数器停止计数,这时方便急用车辆通过。 (5)设置复位状态开关K2,复位状态下,A方向和B方向灯均不亮,计数器显示为“0” (6)设置恢复开关,恢复紧急状态和复位状态两种情况。 基于单片机的交通灯设计时充分的认识到一个问题: 假设一个十字路口为东西南北走向。初始状态1为东西红绿,南北红灯。过一段时间转状态2,东西绿最后5S转亮黄灯灯闪几次提醒注意时间,南北仍然红灯。再转状态3,南北绿灯通车,东西红灯。过一段时间转状态4,南北绿灯最后5S转亮黄灯闪几次提醒注意时间,南北仍然红灯。最后循环至状态1。 采用AT89s52单片机作为控制器LED灯两灭;5、紧急、复位开关。 最小系统,分为时钟电路和手动复位电路。时钟电路产生1ms的时钟周期,复位可以使单片机恢复初始状态。 定时器是最重要的部分,本系统采用的是T0计时器工作在方式1,初值设置为TH0=0x3c,TL0=0xb0,利用中断产生1秒的定时,为数码管的显示提供了时钟周期。因为方式1一次最多能产生131.072ms的定时,所以我们采用20次的中断,从而定时出1S,中断函数中能重置数据,为下次定时做准备。另外一个就是在中断产生1S的同时,time自减1,从而数码管显示的数据才会发生变化。 数码管显示,采用4位8段共阳LED显示器动态显示。在程序开始之前,先初始化time=51,为显示数字变化提供参考。然后根据规定的公式推出每个位该显示的数码送入P2端口,同时P1端口4位位选端闭环循环,就动态显示出数码。在定时器T0没有达到1S的定时之前,该显示的数就在死循环中不一直重复点亮,给人产生显示连续的现象。Time自减后又显示下一位数。在绿灯显示数码管归零后,绿灯会变黄灯,因为数码管会再显示提示倒计时5S。完后进入状态2。 LED灯根据time数据,自动点亮、熄灭、闪烁。 按下开关K1,产生低电平触发外部中断请求0,进入0中断函数,置ET0为0关闭定时器T0,进入P3_7端口的判断循环,所以数码管一直重复动态显示此时刻的数据,而不会熄灭,同时两个红灯点亮。当按下开关K3,P3_7端口产生低电平,破坏判断循环,然后重新置ET0为1,T0打开,单片机接着刚才中断位置继续工作,具有连续性。当按下K2,产生低电平触发外部中断请求1,进入1中断函数,重置ET0为0关闭定时器T0,进入P3_7端口的判断循环,数码管输入0的编码,位码全部置1,P0端口置1所以出现数码管现实全0,灯全灭的现象。同样按下K3恢复到上一刻继续工作。 在一开始在做仿真的时候用数码管的静态显示,这样需要增加锁存器,就会增加成本,但是静态显示在编程时更加方便,还有个不足就是占用了更多的I/O口,所以我们采用了动态显示,但是动态点亮程序较复杂一点,由于初学,所以参考了他人的动态点亮的方法,再此基础上结合自己所用的共阳管和电路,做了调整、修改。静态虽然节约了成本和I/O口,但是要考虑显示时的时延,否则显示不连续。静态还占用了CPU更多的时间,但是对于这样的小程序,也没什么大的影响。其他函数,均为本队思索而得。特别是在中断时,花了大量时间。 作品功能、特色 (1)设计一个十字路口的交通灯控制电路,要求南北(A)方向车道和东西(B)方向车道两

文档评论(0)

精品天地 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档