DSP交通灯综合控制程序代码.docVIP

  1. 1、本文档共9页,可阅读全部内容。
  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文档。上传文档
查看更多
. . DSP原理及C程序开发 交通灯综合控制实验及程序代码 一、实验目的 熟悉使用ICETECK-F2812-A评估板控制ICETECK-CTR上交通灯的方法 掌握TMS320F2812DSP定时器的使用和编程 掌握TMS320F2812DSP外中断的使用和编程 二、实验要求 1、交通灯控制要求 交通灯分红黄绿三色,东、南、西、北各一组 计时显示:8*8点阵显示两位计数 正常交通控制信号顺序 南北绿灯:东西红灯(20s) 南北绿灯闪烁 南北黄灯 南北红灯,东西黄灯 东西绿灯(20s) 东西绿灯闪烁 东西黄灯 返回1循环控制 紧急情况处理 当任意方向通行剩余时间多于10s,将时间给为10s 正常变换到四面红灯(20s) 直接返回正常信号顺序的下一个通行信号(跳过闪烁绿灯、黄灯状态) 2、交通灯模拟 利用ICETECK-CTR上的一组发光二极管(共12只,分为东西南北四组、红黄绿三色)的亮灭实现交通信号的模拟; 3、计时显示 利用ICETEK-CTR上的发光二极管显示阵列模拟显示 4、计时 利用TMS320F2812DSP片上定时器,定时产生时钟计数,再利用此计数对应具体时间 5、紧急情况 利用ICETECK-CTR上键盘产生外中断,中断正常信号顺序,模拟突发情况 6、程序设计 由于控制是由不同的各种状态按顺序发生的,可采用状态机控制方法来实现、 首先列举所有可能发生的状态 然后将这些状态编号,按顺序产生这些状态;状态延续的时间用程序控制 对于突发情况,可采用在正常顺序的控制中插入特殊控制序列的方式完成 三、实验步骤 1.实验准备 (1)连接实验设备: (2)连接实验箱附带的键盘的PS2插头到ICETEK-CTR的“键盘接口”P8。 (3)将ICETEK-CTR板的供电电源开关拨动到“开”的位置。 2.设置Code Composer Studio3.3在硬件仿真(Emulator)方式下运行。 3.启动Code Composer Studio 3.3,选择菜单Debug→Connect ; Debug→Reset CPU。 4.打开工程文件,工程目录为:C:\ICETEK\F2812AES60\F2812AES60\DSP281x_examples\lab0601-TrafficLight。 5.编译并下载程序。 6.运行程序观察结果。观察交通灯信号是否正常工作。 7.突发事件控制 在ICETEK-CTR附带的小键盘上按下除“Enter”键外的按键,观察信号是否满足要求。 8.结束程序运行退出。 在ICETEK-CTR附带的小键盘上按下“Enter”键。 9.退出CCS。 四、实验程序 #include DSP281x_Device.h // DSP281x Headerfile Include File #include DSP281x_Examples.h // DSP281x Examples Include File Uint16 var1 = 0; Uint16 var2 = 0; Uint16 var3 = 0; Uint16 test_count = 0; Uint16 Test_flag = 0; Uint16 Test_var = 0; Uint16 Test_status[32]; #define nStatusNSGreenEWRed 160 //用数字来区分每一个状态 南北绿灯,东西红灯 #define nStatusNSFlashEWRed 184 //南北绿灯闪烁,东西红灯 #define nStatusNSYellowEWRed 200 //南北黄灯,东西红灯 #define nStatusNSRedEWYellow 216 //南北红灯,东西黄灯 #define nStatusNSRedEWGreen 376 //南北红灯,东西绿灯 #define nStatusNSRedEWFlash 400 //南北红灯,东西绿灯闪烁 #define nStatusNSRedEWYellow1 416 //南北红灯,东西黄灯 #define nStatusNSYellowEWRed1 432 //南北黄灯,东西红灯 #define nTotalTime 448 //正常顺序一个循环 #define nStatusHold 160 //突发情况 #define statusNSGreenEWRed 0 //一共7个状态 #define statusNSFlashEWRed 1 #defi

文档评论(0)

ygxt89 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档