实验一:交通灯综合控制

实验一:交通灯综合控制

ID:38687666

大小:202.50 KB

页数:7页

时间:2019-06-17

实验一:交通灯综合控制_第1页
实验一:交通灯综合控制_第2页
实验一:交通灯综合控制_第3页
实验一:交通灯综合控制_第4页
实验一:交通灯综合控制_第5页
资源描述:

《实验一:交通灯综合控制》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实验一:交通灯综合控制一、实验原理1.了解和掌握ICETEK-VC5416-AE和CCS5000集成开发环境的使用方法。2.了解TMS320VC5416DSP定时器的使用和编程。3.了解TMS320VC5416DSP外中断的使用和编程。二、实验设备计算机,ICETEK-VC5416AE-S61实验箱。三、实验原理1.交通灯控制要求:利用ICETEK-S60实验箱提供的设备,设计模拟实际生活中十字路口交通灯控制的程序。要求如下:-交通灯分红黄绿三色,东、南、西、北各一组,用灯光信号实现对交通的控制:绿灯信号表

2、示通行,黄灯表示警告,红灯禁止通行,灯光闪烁表示信号即将改变。-计时显示:液晶屏幕上8×8点阵显示0-9计数。-正常交通控制信号顺序:正常交通灯信号自动变换:⑴南北方向绿灯,东西红灯(20秒)。⑵南北方向绿灯闪烁。⑶南北方向黄灯。⑷南北方向红灯,东西方向黄灯。⑸东西方向绿灯(20秒)。⑹东西方向绿灯闪烁。⑺东西方向黄灯。⑻返回⑴循环控制。-紧急情况处理:模仿紧急情况(重要车队通过、急救车通过等)发生时,交通警察手动控制⑴当任意方向通行剩余时间多于10秒,将时间改成10秒。⑵正常变换到四面红灯(20秒)。⑶直

3、接返回正常信号顺序的下一个通行信号(跳过闪烁绿灯、黄灯状态)。2.交通灯模拟:利用ICETEK-CTR上的一组发光二极管(共12只,分为东西南北四组、红黄绿三色)的亮灭实现交通信号的模拟。3.计时显示:利用ICETEK-CTR上的发光二极管显示阵列模拟显示。4.计时:使用TMS320VC5416DSP片上定时器,定时产生时钟计数,再利用此计数对应具体时间。5.紧急情况:利用ICETEK-CTR上键盘产生外中断,中断正常信号顺序,模拟突发情况。6.程序设计:根据设计要求,由于控制是由不同的各种状态按顺序发生的

4、,我们可以采用状态机制控制方法来解决此问题。这种方法是:首先列举所有可能发生的状态;然后将这些状态编号,按顺序产生这些状态;状态延续的时间用程序控制。对于突发情况,可采用在正常顺序的控制中插入特殊控制序列的方式完成。时钟计数:采用250ms一次中断进行累加计数。其中,正常顺序每112秒(计数值448)为一个循环,状态“*”为非顺序状态。这样,只要根据计数值就可确定当前状态,根据状态再分情况处理。对于计数显示,当处于状态1、5、*中时需要进行倒计时,需要计算在此状态中的计数值增量,根据增量判断是否更新计数显示

5、。实验程序流程图:四、实验步骤1.实验准备:2.设置CodeComposerStudio2.21在硬件仿真(Emulator)方式下运行:3.启动CodeComposerStudio2.21:4.打开工程文件:5.编译并下载程序:6.运行程序观察结果:观察交通灯信号是否正常工作。7.突发事件控制:在ICETEK-CTR附带的小键盘上按下除“Enter”键外的按键,观察信号是否满足要求。8.结束程序运行退出。在ICETEK-CTR附带的小键盘上按下“Enter”键。9.退出CCS五、实验结果程序可以完成交通灯

6、功能,顺序循环工作。在中断信号到来后,进入特殊过程:当前计时如果大于10改成10,否则不变,等待状态切换;切换后进入四面禁行状态,计数20秒后返回断点后的通行(有两方向是绿灯)状态。六、实验思考请考虑修改此实验程序完成:主路与人行横道可由行人控制的交通信号控制。要求:1.平时为主路机动车通行(绿灯)状态,人行横道红灯。2.行人需要通过人行横道,按下交通灯控制按钮。根据情况处理:⑴如果机动车刚刚恢复通行不超过3分钟,行人需要等待3分钟计时满。⑵否则行人等待1分钟计时(从按下按钮时起)。3.机动车道绿灯闪烁。4

7、.机动车道黄灯。5.机动车道红灯,人行横道绿灯,并开始计时1分钟。6.人行横道绿灯闪烁。7.人行横道黄灯。8.返回第1步。main(){intnWork1,nWork2,nWork3,nWork4,tKey;intnNowStatus,nOldStatus,nOldTimeCount,nSaveTimeCount,nSaveStatus;unsignedintnScanCode;nTimeCount=0;bHold=0;uLightStatusEW=uLightStatusSN=0;nNowStatus=0

8、;nOldStatus=1;nOldTimeCount=0;InitDSP();//初始化DSP,设置运行速度InitICETEKCTR();//初始化显示/控制模块InitTimer();//设置定时器中断//根据计时器计数切换状态//根据状态设置计数和交通灯状态while(1){if(bHold&&nNowStatus==statusHold){if(nTimeCount>=nStatusHold){nNow

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。