基于单片机的交通信号灯精选.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于单片机的交通信号灯精选

二○一六~二○一七学年第一学期 电子信息工程系 电子产品策划与设计 报告书 班 级: 课程名称: 学生姓名: 学 号: 指导教师: 二○一六年十二月 基于单片机的交通信号灯 一、设计要求 近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。1,南北方向绿灯通车,东西方向红灯。经过一段时间(25S)转换状态2,南北方向亮黄灯,延时5S,东西方向仍然红灯,再转换到状态3,东西方向绿灯通车,南北方向红灯。过一段时间(25S)转换到状态4,东西方向绿灯亮黄等,延时5S,南北方向仍然红灯。最后循环至南北绿灯,东西红灯。在这些状态下,有时钟倒数计时。 二、电路设计及原理分析 1、本设计由STC82C52最小系统模块,电源供电模块,交通信号灯模块,显示倒计时模块。 2、路口交通指挥系统示意图如下所示:(本设计实物中东西、南北方向各做一个) 3、设计的方案如下: (1)本设计采用单片机89C52作为控制器,通行时间及等待时间使用数码管以倒计时的方式显示,使用单片机P0.2-P0.4口控制东西方向的车辆通行;使用单片机P0.5-P0.7口控制南北方向车辆的通行;用P0.1-P02口控制两位共阴极数码管的选通;用P3.3口作为紧急情况东西南北方向全部红灯。 (2)方案中设计有由人工控制的复位电路。 (3)考虑到紧急情况获交通管制阶段需要路段不通车,本方案设计有东西南北四个方向全为红灯的设计。 综上所诉,该产品的实现需要单片机模块,晶振模块,复位模块,中断信号模块,交通灯模块,倒计时数显模块,电源供电模块。 三、焊接及安装调试过程 1、调试过程如下图所示: 2、焊接过程: 3、焊接注意事项: (1)焊接前,应先检查焊锡设备和工具是否安全,如是否接触良好,焊接电缆绝缘外套有无破损等。 (2)选用合适的焊锡。应选用焊接电子原件用的低熔点焊锡丝。 (3)焊接时间不宜过长,否则容易烫伤原件。必要时可用镊子夹住管脚帮忙散热。(4)电烙铁应放在烙铁架上。 2、安装调试过程 (1)焊接完毕后,通电前对电路进行检查,首先检查正极与地是都短路,接下来检查各器件的高电平与电源是否接通,接地端是否与地线接通; (2)通电检查,如果通电交通灯没有反应,应立即关掉电源。重新检查电路。检查cpu的30号引脚电平的大小,并作出判断。正常情况下,30号引脚的电平为1-3V,若为5V,则说明cpu没有正常工作。 四、软件设计 软件的设计分以下5个步骤进行: 1、分析问题,抽象出描述问题的数据模型 根据课程设计要求,基本提出设计方案及包含的设计模块 2、确定程序设计的思想 主函数控制交通灯的亮灭,并加入延时子程序、显示子函数等调用函数。定义初试时间为25秒,每减一秒,进行一次延时子函数调用,并通过计时器控制时间为1秒,并调用数码管显示函数,从而输出倒计时,如此循环。 3、流程图如下 主函数→延时子函数→数显子函数→返回主函数→延时子函数…… 4、根据设计进行程序编写。 5、静态检查,上机调试。 五、安装调试结果 六、个人体会及心得 查找教材,资料,相应软件,为了这次课程设计,我们在图书馆及网络上查找了大量的相关资料,终于被我找全了和本次课程设计相关的不懂问题。 根据所分析的系统的图,结合系统的设计要求,在环境下进行编译与仿真,根据交通灯系统的控制要求经过实验,实现了预定的功能。交通灯系统控制器的设计#includereg51.h sbit led_A=P0^0; //数码管位 sbit led_B=P0^1; //数码管位 sbit dx_R=P0^2; sbit dx_Y=P0^3; sbit dx_G=P0^4; sbit nb_R=P0^7; sbit nb_Y=P0^6; sbit nb_G=P0^5; bit flag=0; sbit key_stop=P3^3; char N=25; //初始时间是25 char tab_disp[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x77,0x7C,0x39,0x5E,0x79,0x71,0x80};//共阴极码表 /*延时子函数*/ void delay(int t ){while(t--);} /*显示子函数*/ void display(char dat

文档评论(0)

586334000 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档