- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验:交通灯综合控制
实验一:交通灯综合控制
一、实验原理
1.了解和掌握ICETEK-VC5416-AE 和CCS5000集成开发环境的使用方法。
2.了解 TMS320VC5416DSP定时器的使用和编程。
3.了解TMS320VC5416DSP外中断的使用和编程。
二、实验设备
计算机,ICETEK-VC5416AE-S61实验箱。
三、实验原理
1.交通灯控制要求:
利用 ICETEK-S60实验箱提供的设备,设计模拟实际生活中十字路口交通灯控制的程序。要求如下:
- 交通灯分红黄绿三色,东、南、西、北各一组,用灯光信号实现对交通的控制:绿灯信号表示通行,黄灯表示警告,红灯禁止通行,灯光闪烁表示信号即将改变。
- 计时显示:液晶屏幕上 8×8 点阵显示 0-9 计数。
- 正常交通控制信号顺序:正常交通灯信号自动变换:
⑴ 南北方向绿灯,东西红灯(20 秒)。
⑵ 南北方向绿灯闪烁。
⑶ 南北方向黄灯。
⑷ 南北方向红灯,东西方向黄灯。
⑸ 东西方向绿灯(20 秒)。
⑹ 东西方向绿灯闪烁。
⑺ 东西方向黄灯。
⑻ 返回⑴循环控制。
- 紧急情况处理:模仿紧急情况(重要车队通过、急救车通过等)发生时,交通警察手动控制
⑴ 当任意方向通行剩余时间多于 10秒,将时间改成 10 秒。
⑵ 正常变换到四面红灯(20 秒)。
⑶ 直接返回正常信号顺序的下一个通行信号(跳过闪烁绿灯、黄灯状态)。
2.交通灯模拟:
利用 ICETEK-CTR上的一组发光二极管(共 12 只,分为东西南北四组、红黄绿三色)的亮灭实现交通信号的模拟。
3.计时显示:
利用 ICETEK-CTR上的发光二极管显示阵列模拟显示。
4.计时:
使用 TMS320VC5416DSP片上定时器,定时产生时钟计数,再利用此计数对应具体时间。
5.紧急情况:
利用 ICETEK-CTR上键盘产生外中断,中断正常信号顺序,模拟突发情况。
6.程序设计:
根据设计要求,由于控制是由不同的各种状态按顺序发生的,我们可以采用状态机制控制方法来解决此问题。这种方法是:首先列举所有可能发生的状态;然后将这些状态编号,按顺序产生这些状态;状态延续的时间用程序控制。对于突发情况,可采用在正常顺序的控制中插入特殊控制序列的方式完成。
时钟计数:采用 250ms 一次中断进行累加计数。
其中,正常顺序每 112秒(计数值 448)为一个循环,状态“*”为非顺序状态。
这样,只要根据计数值就可确定当前状态,根据状态再分情况处理。
对于计数显示,当处于状态 1、5、*中时需要进行倒计时,需要计算在此状态中的计数值增量,根据增量判断是否更新计数显示。
实验程序流程图:
四、实验步骤
1.实验准备:
2.设置 Code Composer Studio 2.21在硬件仿真(Emulator)方式下运行:
3.启动 Code Composer Studio 2.21:
4.打开工程文件:
5.编译并下载程序:
6.运行程序观察结果:
观察交通灯信号是否正常工作。
7.突发事件控制:
在 ICETEK-CTR附带的小键盘上按下除“Enter”键外的按键,观察信号是否满足要求。
8.结束程序运行退出。
在 ICETEK-CTR附带的小键盘上按下“Enter”键。
9.退出 CCS
五、实验结果
程序可以完成交通灯功能,顺序循环工作。
在中断信号到来后,进入特殊过程:当前计时如果大于 10改成 10,否则不变,等待状态
切换;切换后进入四面禁行状态,计数 20 秒后返回断点后的通行(有两方向是绿灯)状态。
六、实验思考
请考虑修改此实验程序完成:主路与人行横道可由行人控制的交通信号控制。要求:
1.平时为主路机动车通行(绿灯)状态,人行横道红灯。
2.行人需要通过人行横道,按下交通灯控制按钮。
根据情况处理:
⑴ 如果机动车刚刚恢复通行不超过 3 分钟,行人需要等待 3分钟计时满。
⑵ 否则行人等待 1 分钟计时(从按下按钮时起)。
3.机动车道绿灯闪烁。
4.机动车道黄灯。
5.机动车道红灯,人行横道绿灯,并开始计时 1 分钟。
6.人行横道绿灯闪烁。
7.人行横道黄灯。
8.返回第1步。
main()
{
int nWork1,nWork2,nWork3,nWork4,tKey;
int nNowStatus,nOldStatus,nOldTimeCount,nSaveTimeCount,nSaveStatus;
unsigned int nScanCode;
nTimeCount=0; bHold=0;
uLigh
文档评论(0)