- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
交通灯智能控制系统 1
1. 设计要求 1
2.设计意义 1
3.总体方案设计 1
4.上位机的设计 1
4.1设计方案 1
4.2控件的应用 2
4.3主要功能模块的实现 3
5.程序调试及结果 3
6.硬件描述 4
6.1单片机芯片介绍 4
6.1.1主要性能特点: 4
6.1.2管脚说明 4
6.2光电开关介绍 6
6.2.1工作原理 6
6.2.2光电开关的应用 6
6.3七段数码管 7
7. 应用系统设计 7
7.1系统工作状态说明 7
7.2相关参数说明 8
8.程序设计与硬件电路 8
8.1主程序设计流程图 8
8.2中断程序设计流程图 8
8.3硬件仿真图 9
8.4相关代码 10
9.设计中遇到的问题 12
10.项目自评 13
11.自我感悟 13
交通灯智能控制系统
1设计要求
利用计算机串口驱动单片机硬件设备实现交通灯智能控制系统,实现东西南北四路灯的正常循环设计,实现红绿灯剩余时间显示,能根据车流量的大小,动态改变红绿灯倒计时时间。
2设计意义
国内的交通灯一般设在十字路口,在醒目位置用红、绿、黄三种颜色的指示灯指示。对于一般情况下的安全行车,车辆分流尚能发挥作用,但根据实际行车过程中出现的情况,还存在以下缺点:
⑴有些红绿灯未显示红绿灯剩余倒计时间。
⑵没有考虑根据车流量的大小,动态改变红绿灯倒计时时间,造成高峰时车流量拥堵。
基于传统交通灯控制系统设计过于死板,红绿灯交替时间过于程式化。而智能交通灯控制系统的设计就更显示出了它的研究意义,它能根据道路交通拥护状况动态改变红绿灯倒计时时间。利用单片机控制技术.提出了软件和硬件设计方案,能够实现道路的最大通行效率。
3总体方案设计
以上位机控制程序为核心,通过单片机处理红外线车辆检测器传输的信号来动态控制LED显示模块和数码管显示模块。
图1 整体设计方案图
4上位机的设计
4.1设计方案
上位机控制界面采用VB 开发环境进行编程。本程序灵活地应用了开发环境中各种控件的属性和事件及将这些控件同各种函数和方法巧妙地组合在一起来共同实现某个功能。其内部技术主要是串口数据的发送与接收处理和定时器的应用。
其功能主要有直行状态命令模块,幷道状态命令模块,调光模块,温度采集模块,灯板状态显示模块和实时温度检测与报警模块。
图2 上位机总体框图
4.2控件的应用
在本次上位机设计过程中,应用到的VB 控件主要有:MSComm 控件、Timer 控件、ComboBox 控件、CommandButton 控件、TextBox 控件等。
在Visual Basic中有一个名为Microsoft CommunicationControl(简称MSComm)的通讯控件。我们只要通过对此控件的属性和事件进行相应的编程操作,就可以轻松地实现串口通讯[5]。MSComm 控件需从“工程”─ “部件”─ “控件”─ “Micorsoft Comm. Control 6.0”加载到工具箱中,然后拖放在窗体中就可以了。
MSComm 控件只有一个OnComm 事件,所有可能发生的状况,全部集中在此一事件予以处理。而且只要CommEvent 属性的值一产生变化,就会产生OnComm 事件,这表示发生了一个通讯事件或一个错误。在事件子程序中,均以常数定义作为判断,一旦OnComm 事件发生,连带地会引入CommEvent 参数,可以在每一个相关的Case 语句之后撰写程序代码来处理特定的错误或事件。本程序MSComm1 控件的OnComm 事件利用了CommEvent 的值ComEvReceive,即在收到Rthreshold 个字符时,CommEvent 变为ComEvReceive,所有接收数据处理都集中在这一选择上。
Timer 控件用来响应时间的流逝,每经过设定的时间间隔后便执行操作。运行时,Timer 控件不可见。
ComboBox 控件中可以输入信息,也可以在控件的列表框部分选择一项。使用AddItem 方法或使用List 属性将项目添加到列表中。欲知ComboBox 列表中选定项目位置,可以使用ListIndex 属性。该属性返回控件中当前选定项目的索引值。
CommandButton 控件可以开始、中断或者结束一个进程,故称命令按钮。其名称为在编程中应用的对象名,而其Caption 属性值为CommandButton 控件上的显示值。
TextBox 控件也称编辑控件,显示设计时用户输入的、或运行时在代码中赋予控件的信息。在灯板显示状态框里需要查询以前的灯板状态,并且可以显示最新的灯板状态。这就需要应用带滚动条的TextBox 控件,并且滚动条始终是在最下方,以可以显示放在最后的新来的数据。
4.3主
文档评论(0)