嵌入式综合实验交通灯linux,UCOS-II交通灯嵌入式实验报告.doc

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值