欢迎来到天天文库
浏览记录
ID:38292311
大小:237.60 KB
页数:10页
时间:2019-06-07
《道路交通灯多任务控制系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第20章道路交通灯多任务控制系统RTX-51是运行于8051单片机环境中的实时多任务操作系统(RTOS),其常用于处理复杂的多任务控制系统。8051单片机支持典型的RTX-51Tiny和RTX-51Full实时多任务操作系统。在KeilμVison3集成开发环境中提供了RTX-51实时操作系统的编译和仿真调试支持。本章通过一个道路交通灯多任务控制系统,来讲解RTX-51Tiny实时多任务操作系统的设计。最后,还介绍了如何在KeilμVison3集成开发环境中对实时多任务系统仿真调试。20.1交通灯多任务控制系
2、统概述日常生活中常见的道路交通灯示意图,如图20.1所示。其中主路为双向的交通线路,和其垂直的支路可供行人行走。道路交通灯是最常见的一种多任务控制系统。主路上的红绿灯指挥车辆的行驶和停止,支路上的红绿灯指挥行人的通过与禁止,行人通行按钮用于行人过马路时的请求。道路交通灯示意图20.2C51交通灯多任务控制系统这里采用Atmel公司的AT89S52单片机进行道路交通灯的多任务控制模拟。电路中,采用各种颜色的发光二极管作为红绿灯,按键开关作为行人通行按钮。20.2.1电路原理图道路交通灯多任务控制系统原理图,如图
3、所示。交通灯控制系统原理图20.2.2建立RTX-51Tiny项目这里在KeilμVison3集成开发环境中,使用KeilC51语言和RTX-51Tiny实时多任务系统进行道路交通灯控制系统的设计。首先在KeilμVison3集成开发环境中建立项目,具体操作步骤如下:选择RTX-51Tiny操作系统20.2.3多任务划分使用RTX-51Tiny实时多任务操作系统进行交通灯控制,整个系统将被分成如下所示的几个任务。任务0:用于初始化单片机串口,同时启动所有其他的任务,然后停止本任务;任务1:用于整个系统的串行命
4、令处理;任务2:用于系统时钟计算和控制;任务3:如果系统运行时间在设置的工作时间段之外,黄色灯闪烁,其余灯停止工作;任务4:如果系统运行时间在设置的工作时间段之内,控制交通灯的循环交替变化;任务5:查询行人通行按钮是否按下,如果按钮按下则向任务4发送信号,使主路交通灯变为红灯,行人交通灯变为绿色;任务6:监视串口是否有ESC字符,如果有则向任务1发送一个信号,终止时间显示命令。20.2.4多任务程序设计下面将介绍RTX-51Tiny实时多任务系统的程序。整个程序由3个程序文件构成,traffic.c用于多任务
5、处理、SERIAL_Communication.c用于串行接口的输入输出、GETCOMMAND.C用于命令的获取。在traffic.c程序文件中,首先需要将头文件rtx51tny.h添加到程序中,并且指明控制交通灯以及行人通行按钮的单片机引脚。20.2.5串行通信及命令获取子函数在SERIAL_Communication.c程序文件中,主要用于处理串行接口的中断数据通信。其中包含了基本的串行口初始化、字符输入输出以及串行中断处理等。20.2.6仿真调试当完成程序设计和编译后,可以在KeilμVison3集成开
6、发环境中对程序进行仿真,以确保程序的正确性。具体操作步骤如下:(1)在KeilμVison3集成开发环境中,选择“Debug”→“Start/StopDebugSession”命令,进入仿真分析状态。(2)选择“Peripherals”→“RTX-TinyTasklist”命令,打开多任务列表窗口,如图所示。其中列出了所有任务的任务函数以及相关运行信息。交通灯变化多任务执行状态20.3小结本章首先介绍了道路交通灯的运行原理,然后详细介绍了如何在51系列单片机硬件环境下,使用RTX-51Tiny实时多任务操作系
7、统来实现道路交通灯的控制模拟。最后,给出了RTX-51Tiny实时多任务操作系统的仿真调试方法。通过本章的学习,读者可以进一步掌握RTX-51Tiny实时多任务操作系统的设计和仿真调试。
此文档下载收益归作者所有