EDN China > 设计实例 > 嵌入式系统 > 操作系统 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

基于RTX51实时操作系统的交通灯控制系统的设计

山西电子技术 河南工业职业技术学院 邢鹏康 胡彬?? 2010年12月27日 ?? 收藏0

  O 引言

  一个高效的单片机智能控制系统,不仅要求系统能够同时执行多个任务,对每个任务作出实时响应,而且要求系统能够及时响应随机发生的外部事件,并对其作出快速处理。对于这样的系统应用,采用实时操作系统RTOS(Real-time-Operating System)作为系统软件设计平台是一个良好的选择,它可以灵活地安排系统资源,简化复杂的软件设计,加快软件的开发效率,大大缩短了项目的开发周期。道路交通灯是最常见的一种多任务控制系统,本文以此为倒,详细阐述了51嵌入式实时操作系统RTX51开发软件的方法和步骤。

  1 系统硬件电路设计

  交通信号灯控制系统主要实现以下三个功能:

  (1)信号灯指示,即完成十字路口红、黄、绿交通信号灯的控制。

  (2)时间显示,各个信号灯持续的时间显示。

  (3)紧急情况响应,当系统出现故障或者有紧急情况是能够及时响应。

  根据以上功能要求,完整的交通灯控制系统硬件电路如图l所示,主要由三部分模块组成:单片机最小系统模块、红绿色显示模块、倒计时显示模块、紧急中断模块。

完整的交通灯控制系统硬件电路

  (1)单片机最小系统:包括时钟电路和开关复位电路。单片机选用具有成本低廉且具有串口ISP下载功能的STC89C52单片机,晶振选用12 MHz。

  (2)信号灯指示电路:东西南北四个方向分别有红、绿、黄三个状态指示的灯,其中南北方向的红绿黄发光二极管分别连接到P1.O~P1.2,东西方向的红绿黄发光二极管分别连接到P1.3~P1.5。

  ?(3)倒计时显示:每个交通灯状态倒计时时间由两位共阳数码管显示,八位段码分别连接到P0.0~P2.7,两位位选通过反向器分别连接到P3.4、P3.5。

  ?(4)紧急中断:开关K1为紧急中断开关,当有特殊情况时按下K1,K1连接到单片机P3.2外部中断O输入端。

  2 基于RTX51的软件设计

  近年来,利用嵌入式实时操作系统来开发嵌入式系统的软件已是大势所趋。这是因为传统的这类设计中,大多采用了中断结合单任务的顺序机制进行,这种设计方法虽然比较直观,但是也带来了诸如稳定性差、不便于调试等问题。尤其是当系统比较复杂、实时性要求比较高时,这种单任务机制的缺陷更为明显。利用嵌入式实时操作系统,程序开发者可以将复杂的系统分成多个相对独立的任务,从而分而治之,降低了系统的复杂性;通过对不同的任务赋以不同的优先级,从而能够保证系统的实时性;同时,由于软件系统有多个任务组成,所以其模块化程度好。提高了系统的可维护性。因此,这里利用实时操作系统RTX51来进行软件系统的设计。

  2.1 RTX51实时操作系统介绍

  RTX51是美国Keil公司开发的一种运行于8051单片机环境中的实时多任务操作系统(RTOS),其常用于处理复杂的多任务控制系统。8051单片机支持典型的RTX-51Tiny和RTX-51 Full实时多任务操作系统。在Keil μVison3集成开发环境中提供了RTX-51实时操作系统的编译和仿真调试支持。

  在多任务嵌入式系统中,合理的任务调度必不可少。单纯通过提高处理器速度无法达到目的,这样就要求嵌入式系统的软件必须具有多任务调度能力。在微控制器应用系统中通常可以分解为多个相互独立的功能模块,在RTX51嵌入式实时操作系统中将这些模块划分为任务,引入多任务机制管理。依据系统功能优先级分配不同的任务,多个任务分别在各自的时间片内访问CPU,从而产生了微观上轮流运行、宏观上并行运行的多任务效果,保证了对外界的信息足够快的速度进行响应处理,又能并行运行多个任务,因此能很好完成对多个信息的实时测量、处理并进行响应的多个实时控制。

  2.2 任务分配

  在本系统中,依据交通灯控制系统功能的分析,将整个软件系统分解为以下三个任务,系统初始化、红绿黄灯显示、倒计时显示。具体情况如下:

  任务0:用于系统初始化,开外部中断0;启动任务1和任务2。

  任务1:红绿黄信号指示灯控制,实现红绿黄灯的五种状态控制。状态0:东西方向红灯亮,同时南北方向绿灯亮,亮的时间为30 S;状态1:东西方向红灯亮,南北方向黄灯闪烁,时间为3 S;状态2:东西方向绿灯亮,同时南北方向红灯亮,时间为30 S;状态3:东西方向黄灯闪烁,南北方向红灯亮,时间为3 S;状态4:当紧急开关按下时,响应紧急状况或者故障状态,东西南北四个方向红灯均亮,时间为10S。

  任务2:各个状态指示灯倒计时显示。两个数码管采用动态扫描显示,实时显示当前交通指示灯状态的倒计时时间。

  2.3 程序设计

  依据任务分配,将三个任务分别规划为_task_0,_task_1,_task_2,由于完整的程序较大,这里不便给出,只给出部分代码,如下所示。

程序

程序

  3 结束语

  本文以道路交通灯控制系统为例,详细介绍了RTX51实时操作系统在单片机程序设计中的应用。系统实际运行结果表明,RTX51实时操作系统既能保证对外界的信息以足够快的速度进行处理,又能并行运行多个任务,具有实时性和并行性的特点,因此能很好地完成对多个信息的实时测量、处理和进行相应的多个实时控制。此外,使用RTX51实时操作系统,降低了软件编写的复杂度,提高了产品的开发效率,方便了系统的维护和功能扩展。


?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

RTX51? 实时操作系统? 交通灯控制? Keil?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈