UCOS-II交通灯嵌入式实验报告.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
UCOS-II交通灯嵌入式实验报告

交通灯控制信号系统实验报告 实验名称: 交通灯控制信号系统 实验小组成员:王清鹏,曾利忠,刘斌,江亮,谷永胜 指导老师 : 艾云峰 功能描述 两组信号灯,一组控制南北方向,另一组控制东西方向。每组有3盏信号灯,颜色分别为红、绿、黄。初始状态为全暗(定义为黑色)。 从程序运行开始,南北方向控制信号和东西方向控制信号同时工作。动作次序如下: 南北方向控制信号动作:首先绿灯亮60秒,并且从60秒倒计时为0;然后红灯亮,倒计时显示60秒,实际亮57秒,接着黄灯亮3秒。一个周期总共120秒。 东西方向控制信号动作:首先红灯亮,倒计时显示60秒,实际亮57秒,接着黄灯亮3秒。最后绿灯亮60秒,从60秒倒计时为0。一个周期总共120秒。 周而复始地进行步骤(2) 如果触摸触摸屏,则清除所有信号灯(信号灯全变成黑色)。延时20秒倒计时为0后(20秒内不再响应触摸屏中断),重新开始步骤(2)。 界面说明 a. Y方向排列的3个灯表示南北方向信号灯,依次为红灯,绿灯,黄灯。3个灯下面为倒计时数字显示,数字颜色和信号灯颜色保持一致。 b. X方向排列的3个灯表示东西方向信号灯,依次为红灯,绿灯,黄灯。3个灯后面为倒计时数字显示,数字颜色和信号灯颜色保持一致。 c. 信号灯为黑色表示不亮 (2) 用手触摸触摸屏上任意位置都将导致中断,所有信号灯变成黑色并持续20秒,在此期间,不再响应触摸屏中断 程序处理流程以及任务的定义与实现 该程序主要包括交通灯颜色循环变化控制模块和触摸屏中断服务模块,交通等颜色变化模块由TaskController任务,TaskDRAW_NS任务和TaskDRAW_EW任务实现,触摸屏中断服务模块由触摸屏中断isrADCTsAuto任务和TaskReset任务实现。 A.交通灯颜色循环变化流程图 TaskController是程序的核心任务,其主要负责每秒的延时、颜色数据量(Color_NS、Color_EW)和数字数据量(Num_NS、Num_EW)的改变以及释放信号量(Psem1、Psem2)通知TaskDRAW_NS和TaskDRAW_EW改变显示数据。 数据Color_NS和Num_NS分别承载南北方向下一状态将要显示的交通灯颜色和倒计时的秒数。数据Color_EW和Num_EW分别承载东西方向下一状态将要???示的交通灯颜色和倒计时的秒数。信号量Psem1和Psem2分别负责TaskController与TaskDRAW_NS和TaskDRAW_EW之间的通信。 其工作过程可以简单地理解如下。TaskController在经过1s的延时后,重新写入南北方向的颜色数据(Color_NS)和倒计时数据(Num_NS),然后释放信号量Psem1来通知TaskDRAW_NS。当TaskDRAW_NS收到通知后(即获得信号量Psem1),其读取颜色数据(Color_NS)和倒计时数据(Num_NS)的值,然后改变输出交通灯的颜色和倒计时。 B.TaskController任务流程图 如下图,由于南北方向和东西方向的交通灯变化以120s为一个周期,故TaskController用取值范围是0~120的Num来控制交通灯颜色转变和倒计时秒数。Is_ok是控制TaskController是否应该正常执行的变量,Is_re用来控制是否在某一时刻开始TaskController须从头开始执行。 TaskController在Is_ok和Is_re条件满足情况下,在120s的周期内,各变量的变化情况如下图所示。 C.TaskReset任务流程图 该框图主要完成的功能是:在交通灯正常运行的情况下,如果按一下触摸屏,则清除所有信号灯。延时20秒后,交通灯重新开始运行。 图中,ISR为触摸屏中断服务程序。TaskReset为复位任务,该任务完成的功能就是在接收到中断后,清除所有信号灯,延时20s后交通灯正常运行。信号量Psem3负责ISR与TaskReset之间的通信。Is_ok是TaskController正常执行的条件,Is_re用于控制TaskController是否从头开始执行。 其工作过程可以简单地描述如下:当有触摸屏中断时,中断服务程序ISR释放信号量Psem3来通知TaskReset。当TaskReset获得信号量Psem3后(即收到通知),首先破坏TaskController执行条件,然后清除所有信号灯,延时20s,最后恢复TaskController执行的条件。 当执行到某时刻t时,突然间产生中断。TaskReset任务开始执行前使Is_ok=1,执行完后将Is_ok恢复为0。即在TaskR

文档评论(0)

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

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

1亿VIP精品文档

相关文档