



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第第第第第111111章章章章章章 RTX51RTX51RTX51实时操作系统实时操作系统实时操作系统实时操作系统实时操作系统实时操作系统 第第第第第第111111章章章章章章 RTX51RTX51RTX51实时操作系统实时操作系统实时操作系统实时操作系统实时操作系统实时操作系统 内内内内内内 容容容容容容 提提提提提提 要要要要要要 前言前言 RTX51 系统特点系统特点 RTX51 的程序结构的程序结构 RTX51的功能函数的功能函数 RTX51的任务调度的任务调度 RTX51的系统配置的系统配置 RTX51的应用举例的应用举例 小结小结第第第第第第111111章章章章章章 RTX51R
2、TX51RTX51实时操作系统实时操作系统实时操作系统实时操作系统实时操作系统实时操作系统 11.1 前言前言 RTX51是一款小巧的针对基于是一款小巧的针对基于8051系列嵌入式系统的多任系列嵌入式系统的多任务实时操作系统。它的使用可以简化比较复杂、有严格时务实时操作系统。它的使用可以简化比较复杂、有严格时间限制的软件的设计过程。间限制的软件的设计过程。RTX51主要有两个不同的可用主要有两个不同的可用版本:版本:RTX5lFull版。这里称之为版。这里称之为RTX51的标准版,既可以以循环的标准版,既可以以循环(Round 一一Robin )方式执行任务,也可以按)方式执行任务,也可以按4
3、 级任务优级任务优先级的方式切换不同优先级的任务。标准版以并行方式工先级的方式切换不同优先级的任务。标准版以并行方式工作,支持中断管理,信号和消息可以通过邮箱系统在不同作,支持中断管理,信号和消息可以通过邮箱系统在不同任务之间传递。任务之间传递。 第第第第第第111111章章章章章章 RTX51RTX51RTX51实时操作系统实时操作系统实时操作系统实时操作系统实时操作系统实时操作系统 RTX5lTiny版。这里称之为版。这里称之为RTX5l的精简版,是其标准版的精简版,是其标准版的一个子集。它可以很容易地运行在的一个子集。它可以很容易地运行在8051 的单芯片系统而的单芯片系统而不需要任何外
4、部数据存储器。通用性强,系统需求低,但不需要任何外部数据存储器。通用性强,系统需求低,但功能上受到限制。它只支持循环方式和信号方式的任务切功能上受到限制。它只支持循环方式和信号方式的任务切换,而不支持优先级方式的任务切换。换,而不支持优先级方式的任务切换。 由于由于KEIL C中自带了中自带了RTX5l的精简版的精简版RTX5lTiny,事,事实上精简版也能够满足绝大部分场合的应用要求,所以以实上精简版也能够满足绝大部分场合的应用要求,所以以下只讲解下只讲解RTX5lTiny的内容,出现的内容,出现RTX51的地方默认为其的地方默认为其精简版精简版RTX51Tiny。 第第第第第第111111
5、章章章章章章 RTX51RTX51RTX51实时操作系统实时操作系统实时操作系统实时操作系统实时操作系统实时操作系统 11.2 RTX51 11.2 RTX51 系统特点系统特点 RTX51 RTX51 可以在所有的可以在所有的8051 8051 系列芯片上运行。用户只需系列芯片上运行。用户只需要用标准的要用标准的C C语言编写语言编写RTX51 RTX51 程序,然后用程序,然后用C51C51编译器编译编译器编译即可生成代码。其中,仅有少数内容和标准即可生成代码。其中,仅有少数内容和标准C C 语言有差异,语言有差异,这些内容是为了实现任务标识和优先级而设置的。这些内容是为了实现任务标识和优
6、先级而设置的。RTX51 RTX51 程序设计需要包含实时运行头文件和必要的库文件,并且程序设计需要包含实时运行头文件和必要的库文件,并且要用要用BL51 BL51 连接定位器来实现连接。在连接定位器来实现连接。在KeilKeil中,你只需要中,你只需要在目标选项的在目标选项的TargetTarget标签中的标签中的OperatingOperating中选择中选择RTX-51 RTX-51 TinyTiny,在你的头文件中加上,在你的头文件中加上#include #include 即可。即可。 第第第第第第111111章章章章章章 RTX51RTX51RTX51实时操作系统实时操作系统实时操作
7、系统实时操作系统实时操作系统实时操作系统 在在RTX51 TINY环境下生成代码,需要用到下列工具:环境下生成代码,需要用到下列工具:C51编译器编译器BL51连接连接/定位器定位器A51宏汇编器宏汇编器 此外,库文件此外,库文件RTX51TNY.LIB必须存放在环境变量必须存放在环境变量C51LIB所指定的路径下。所指定的路径下。 RTX51 TinyRTX51 Tiny版可以运行在版可以运行在80518051的单芯片嵌入式系统上,的单芯片嵌入式系统上,且不需要任何外部数据存储器,但也不排斥应用程序访问且不需要任何外部数据存储器,但也不排斥应用程序访问外部的数据存储器。外部的数据存储器。RT
8、X51 TinyRTX51 Tiny版本可以使用版本可以使用C51C51所支持的所支持的所有存储模式。所使用的存储模式只影响应用对象的存储所有存储模式。所使用的存储模式只影响应用对象的存储位置。位置。RTX51 TinyRTX51 Tiny的系统变量和应用程序的堆栈区总是存的系统变量和应用程序的堆栈区总是存储在储在80518051的片内的片内RAMRAM中(即中(即DATADATA和和IDATAIDATA)。典型的)。典型的RTX51 RTX51 TinyTiny应用程序一般运行于应用程序一般运行于SMALLSMALL存储模式下。存储模式下。 第第第第第第111111章章章章章章 RTX51R
9、TX51RTX51实时操作系统实时操作系统实时操作系统实时操作系统实时操作系统实时操作系统 RTX51 TinyRTX51 Tiny版本使用了版本使用了80518051的定时器的定时器0 0和定时器和定时器0 0的中断的中断信号。信号。SFRSFR中的全局中断允许位或定时器中的全局中断允许位或定时器0 0中断屏蔽位都可中断屏蔽位都可能使能使RTX51 TinyRTX51 Tiny停止运行。因此,除非有特殊的应用目的,停止运行。因此,除非有特殊的应用目的,应该使定时器应该使定时器0 0的中断始终开启,以保证的中断始终开启,以保证RTX51 TinyRTX51 Tiny的正常的正常运行。运行。 实
10、时操作系统的性能参数对嵌入式系统的应用开发也有实时操作系统的性能参数对嵌入式系统的应用开发也有着直接影响,着直接影响,RTX51RTX51的性能参数如表的性能参数如表11-111-1所示。所示。 第第第第第第111111章章章章章章 RTX51RTX51RTX51实时操作系统实时操作系统实时操作系统实时操作系统实时操作系统实时操作系统 11.3 RTX51 的程序结构的程序结构 RTX51Tiny通过循环(通过循环(Round-Robin)方式来实现多)方式来实现多任务,以达到多个无限循环或任务的准并行执行。这里的任务,以达到多个无限循环或任务的准并行执行。这里的多任务并不是真正同时执行的,而
11、是使用不同的时间片来多任务并不是真正同时执行的,而是使用不同的时间片来执行,即只是宏观上的同时执行。它将可用的执行,即只是宏观上的同时执行。它将可用的CPU周期分周期分成多个时间片,由成多个时间片,由RTX51把这些时间片分配给每一个任务把这些时间片分配给每一个任务使用。每个任务只能在预定的时间片里运行。然后,使用。每个任务只能在预定的时间片里运行。然后,RTX51再切换到另一个己经准备就绪的任务,让它再执行再切换到另一个己经准备就绪的任务,让它再执行一定的时间片。一定的时间片。时间片一般是比较短促的,一个时间片大约只有毫秒时间片一般是比较短促的,一个时间片大约只有毫秒级时间。正是由于这个原因
12、,在用户看来,多个任务似乎级时间。正是由于这个原因,在用户看来,多个任务似乎是在同时执行的。是在同时执行的。 第第第第第第111111章章章章章章 RTX51RTX51RTX51实时操作系统实时操作系统实时操作系统实时操作系统实时操作系统实时操作系统 RTX51 利用了一个由利用了一个由8051定时器中断信号驱动的定时程定时器中断信号驱动的定时程序来实现控制。定时器产生的周期性中断信号用来驱动序来实现控制。定时器产生的周期性中断信号用来驱动RTX51的定时节拍。的定时节拍。RTX51与用户程序中的与用户程序中的main函数是无关的。用户程序中函数是无关的。用户程序中即使没有即使没有main 程
13、序,操作系统也会自动从设定的任务程序,操作系统也会自动从设定的任务0开始开始执行。如果用户程序中已经有了执行。如果用户程序中已经有了main 函数,就必须用人工方函数,就必须用人工方式来启动式来启动RTX51。这对于。这对于RTX51 Tiny版,可以调用版,可以调用os_create_task函数来完成函数来完成.下面是一个只使用下面是一个只使用Round-Robin Round-Robin 任务方式的简单任务方式的简单RTX51 RTX51 程序实例。程序中的两个任务都是简单的计数循环。程序实例。程序中的两个任务都是简单的计数循环。RTX51 RTX51 从从job0job0函数(设定为任
14、务函数(设定为任务0 0)开始执行。程序中还有另一个)开始执行。程序中还有另一个名为名为job1job1的任务(设定为任务的任务(设定为任务l l)。系统一旦启动,在)。系统一旦启动,在job0 job0 执行一段时间后,执行一段时间后,RTx51 RTx51 就自动切换到就自动切换到job1job1的执行;而的执行;而job1job1执行一段时间后,执行一段时间后,RTX51RTX51又切换回又切换回job0job0, 如此无限循如此无限循环地重复执行下去环地重复执行下去 。第第第第第第111111章章章章章章 RTX51RTX51RTX51实时操作系统实时操作系统实时操作系统实时操作系统实
15、时操作系统实时操作系统 #include int counter0;int counter1;void job0(void) _task_ 0os_create_task(1); /*任务任务l 己准备就绪己准备就绪*/while (1) /*无限循无限循环环*/ counter0+; /*更新计数更新计数值值counter0*/ void job1(void) _task_ 1while(1) /*无限循环无限循环*/counter1+; /*更新计数值更新计数值counter1*/第第第第第第111111章章章章章章 RTX51RTX51RTX51实时操作系统实时操作系统实时操作系统实时操
16、作系统实时操作系统实时操作系统 11.4 RTX51的功能函数的功能函数 RTX51精简版支持的功能函数如表精简版支持的功能函数如表11-2所示,具体含义分别介绍如下。所示,具体含义分别介绍如下。 第第第第第第111111章章章章章章 RTX51RTX51RTX51实时操作系统实时操作系统实时操作系统实时操作系统实时操作系统实时操作系统 11.4.1 信号控制函数信号控制函数 isr_send_signal函数原型函数原型 char isr_send_signal(unsigned char task_id);功能说明功能说明 发送一个信号到发送一个信号到task_id说明的任务。如果此任务已
17、说明的任务。如果此任务已在等待一个信号,那么调用函数将使此任务就绪,准备执行。在等待一个信号,那么调用函数将使此任务就绪,准备执行。否则,信号讲存储在此任务的信号标志中。此函数只能从中否则,信号讲存储在此任务的信号标志中。此函数只能从中断函数中调用。断函数中调用。返回值返回值 如果执行成功,此函数返回如果执行成功,此函数返回0值;如果所指定的任务值;如果所指定的任务不存在,则返回不存在,则返回-1 。第第第第第第111111章章章章章章 RTX51RTX51RTX51实时操作系统实时操作系统实时操作系统实时操作系统实时操作系统实时操作系统 os_clear_signal函数原型函数原型 cha
18、r os_clear_signal(unsigned char task_id); 功能说明功能说明 清除由清除由task_id说明的任务的信号说明的任务的信号返回值返回值 如果信号清除成功,此函数返回如果信号清除成功,此函数返回0值;如果所指定的任值;如果所指定的任务不存在,则返回务不存在,则返回-1 os_send_signal函数原型函数原型 char os_send_signal(unsigned char task_id); 功能说明功能说明 发送一个信号到发送一个信号到task_id说明的任务。如果此任说明的任务。如果此任务已在等待一个信号,那么调用函数将使此任务就绪,准备务已在等
19、待一个信号,那么调用函数将使此任务就绪,准备执行。否则,信号讲存储在此任务的信号标志中。此函数只执行。否则,信号讲存储在此任务的信号标志中。此函数只能在任务函数中调用能在任务函数中调用返回值返回值 如果执行成功,此函数返回如果执行成功,此函数返回0值;如果所指定的任务不值;如果所指定的任务不存在,则返回存在,则返回-1 第第第第第第111111章章章章章章 RTX51RTX51RTX51实时操作系统实时操作系统实时操作系统实时操作系统实时操作系统实时操作系统 11.4.2 任务控制函数任务控制函数 os_create_task函数原型函数原型 char os_create_task(unsig
20、ned char task_id); 功能说明功能说明 启动已定义的由启动已定义的由task_id说明的任务。此任务说明的任务。此任务根据根据RTX51运行规则,标记为就绪,并准备执行。运行规则,标记为就绪,并准备执行。返回值返回值 如果任务成功启动,此函数返回如果任务成功启动,此函数返回0值;如果没有值;如果没有task_id说明的任务,则返回说明的任务,则返回-1 第第第第第第111111章章章章章章 RTX51RTX51RTX51实时操作系统实时操作系统实时操作系统实时操作系统实时操作系统实时操作系统 os_delete_task函数原型函数原型 char os_delete_task(
21、unsigned char task_id); 功能说明功能说明 停止停止task_id说明的任务,此任务将从任务表中说明的任务,此任务将从任务表中删除。删除。返回值返回值 如果任务成功启动,此函数返回如果任务成功启动,此函数返回0值;如果没有值;如果没有task_id说明的任务,则返回说明的任务,则返回-1。 os_running_task_id函数原型函数原型 char os_running_task_id(unsigned char task_id); 功能说明功能说明 判断当前执行任务的编号判断当前执行任务的编号返回值返回值 返回当前正在执行的任务的编号,返回值为返回当前正在执行的任务
22、的编号,返回值为015。 第第第第第第111111章章章章章章 RTX51RTX51RTX51实时操作系统实时操作系统实时操作系统实时操作系统实时操作系统实时操作系统 11.4.3 延时控制函数延时控制函数 os_wait函数原型函数原型 char os_wait( unsigned char event_sel, /*将要等待将要等待 的事件的事件*/ unsigned char tisks, /*将要等待的定时器时标数将要等待的定时器时标数*/ unsigned char dummy ); /*未用参数未用参数*/ 功能说明功能说明 停止当前执行的任务,并等待一个或多个事件,如时停止当前执
23、行的任务,并等待一个或多个事件,如时间间隔、超时、从另一个任务或中断发出的信号等。参数间间隔、超时、从另一个任务或中断发出的信号等。参数event_sel说明所等待的一个事件或几个事件的组合。事件种说明所等待的一个事件或几个事件的组合。事件种类如表类如表11-3所示。所示。 第第第第第第111111章章章章章章 RTX51RTX51RTX51实时操作系统实时操作系统实时操作系统实时操作系统实时操作系统实时操作系统 第第第第第第111111章章章章章章 RTX51RTX51RTX51实时操作系统实时操作系统实时操作系统实时操作系统实时操作系统实时操作系统 表表11-4 os_wait函数的返回值
24、函数的返回值 os_wait1os_wait1os_wait1 函数原型函数原型函数原型函数原型函数原型函数原型 char os_wait1(unsigned char event_selchar os_wait1(unsigned char event_selchar os_wait1(unsigned char event_sel); ); ); 功能说明功能说明功能说明功能说明功能说明功能说明 暂停当前任务,等待一个事件的发生。它是暂停当前任务,等待一个事件的发生。它是暂停当前任务,等待一个事件的发生。它是暂停当前任务,等待一个事件的发生。它是暂停当前任务,等待一个事件的发生。它是暂停当
25、前任务,等待一个事件的发生。它是os_waitos_waitos_wait函数的一个子集,不接受针对函数的一个子集,不接受针对函数的一个子集,不接受针对函数的一个子集,不接受针对函数的一个子集,不接受针对函数的一个子集,不接受针对os_waitos_waitos_wait函数提供的全部事函数提供的全部事函数提供的全部事函数提供的全部事函数提供的全部事函数提供的全部事件。参数件。参数件。参数件。参数件。参数件。参数event_selevent_selevent_sel指定了等待的事件,它只能是指定了等待的事件,它只能是指定了等待的事件,它只能是指定了等待的事件,它只能是指定了等待的事件,它只能是
26、指定了等待的事件,它只能是K_SIGK_SIGK_SIG。 返回值返回值返回值返回值返回值返回值 当信号事件发生时,任务就被允许执行,任务的当信号事件发生时,任务就被允许执行,任务的当信号事件发生时,任务就被允许执行,任务的当信号事件发生时,任务就被允许执行,任务的当信号事件发生时,任务就被允许执行,任务的当信号事件发生时,任务就被允许执行,任务的执行将恢复。返回用于识别事件、使任务重新启动的常量。执行将恢复。返回用于识别事件、使任务重新启动的常量。执行将恢复。返回用于识别事件、使任务重新启动的常量。执行将恢复。返回用于识别事件、使任务重新启动的常量。执行将恢复。返回用于识别事件、使任务重新启
27、动的常量。执行将恢复。返回用于识别事件、使任务重新启动的常量。 第第第第第第111111章章章章章章 RTX51RTX51RTX51实时操作系统实时操作系统实时操作系统实时操作系统实时操作系统实时操作系统 os_wait2函数原型函数原型 char os_wait2( unsigned char event_sel, /*将要等将要等 待的事件待的事件*/ unsigned char tisks); /*将要等待的定时器时标数将要等待的定时器时标数*/功能说明功能说明 与与os_wait相同,但是不需要相同,但是不需要dummy参数。参数。 返回值返回值 与与os_wait相同相同 第第第第第
28、第111111章章章章章章 RTX51RTX51RTX51实时操作系统实时操作系统实时操作系统实时操作系统实时操作系统实时操作系统 11.5 RTX51的任务调度的任务调度 RTX51利用任务状态来管理各个任务。用户为利用任务状态来管理各个任务。用户为RTX51定义定义的每个任务都会以各种状态的某一种来运行。的每个任务都会以各种状态的某一种来运行。RTX51内核为内核为每个任务保留了适当的状态如表每个任务保留了适当的状态如表11-5所示。所示。表表11-5 RTX5111-5 RTX51的任务状态的任务状态 第第第第第第111111章章章章章章 RTX51RTX51RTX51实时操作系统实时操
29、作系统实时操作系统实时操作系统实时操作系统实时操作系统 RTX51以以round-robin多任务方式执行程序,它支持多个多任务方式执行程序,它支持多个无限循环或任务的准并行执行。任务不是被同时执行,而是无限循环或任务的准并行执行。任务不是被同时执行,而是以分时的方式轮片执行。可用的以分时的方式轮片执行。可用的CPU时钟周期被分成多个时时钟周期被分成多个时间片,然后由间片,然后由RTX51 将这些时间片分配给各个任务。每个任将这些时间片分配给各个任务。每个任务只允许在预定的时间片中执行,时间片用完时,务只允许在预定的时间片中执行,时间片用完时,RTX51就就切换至另一个就绪的任务,继续执行一段
30、时间。时间片的具切换至另一个就绪的任务,继续执行一段时间。时间片的具体长度可以用配置函数体长度可以用配置函数TIMESHARING 来定义。来定义。如果遇到因为一个任务处于等待并且占用了时间片而暂如果遇到因为一个任务处于等待并且占用了时间片而暂时无法往下执行,可以调用系统函数时无法往下执行,可以调用系统函数os_wait来通知来通知RTX51,以便将当前的任务挂起而提前执行另一任务。以便将当前的任务挂起而提前执行另一任务。 第第第第第第111111章章章章章章 RTX51RTX51RTX51实时操作系统实时操作系统实时操作系统实时操作系统实时操作系统实时操作系统 R T X 5 1 中 处 理
31、 任 务 分 配 的 模 块 称 为 调 度 程 序中 处 理 任 务 分 配 的 模 块 称 为 调 度 程 序(Scheduler)。调度程序驱动哪个任务运行是按照以下的规)。调度程序驱动哪个任务运行是按照以下的规则进行的:则进行的: (1)如果发生以下情况时,当前运行的任务将被中断:)如果发生以下情况时,当前运行的任务将被中断: 调用调用os_wait函数,而所等待的事件未来到;函数,而所等待的事件未来到; 任务的执行时间已经超过所定义的任务的执行时间已经超过所定义的Round-Robin循环时间间循环时间间隔隔 (2)如果发生以下情况时,另一个任务将被启动:)如果发生以下情况时,另一个
32、任务将被启动: 已没有正在执行的任务;已没有正在执行的任务; 将要执行的任务处在就绪状态或超时状态。将要执行的任务处在就绪状态或超时状态。 第第第第第第111111章章章章章章 RTX51RTX51RTX51实时操作系统实时操作系统实时操作系统实时操作系统实时操作系统实时操作系统 11.6 RTX51的系统配置的系统配置 编写编写RTX51程序需要包含程序需要包含RTX51TNY.H 文件。在程序中,文件。在程序中,需要用一个关键字需要用一个关键字“_task_” 来声明一个函数的任务属性。来声明一个函数的任务属性。RTX51程序不需要程序不需要main 函数。在进行连接处理时,会将启动函数。
33、在进行连接处理时,会将启动任务任务0 的执行所需要的代码连接进来,作为开始执行的代码。的执行所需要的代码连接进来,作为开始执行的代码。用户可以更改配置文件用户可以更改配置文件CONF_TNY.A51中的以下几个参数:中的以下几个参数: 系统定时器中断所用的寄存器组系统定时器中断所用的寄存器组 系统定时器的时间间隔系统定时器的时间间隔 Round-Robin的超时(的超时(time-out)值)值 内部数据存储器的大小内部数据存储器的大小 RTX5l 启动后的自由堆栈大小启动后的自由堆栈大小 第第第第第第111111章章章章章章 RTX51RTX51RTX51实时操作系统实时操作系统实时操作系统
34、实时操作系统实时操作系统实时操作系统 以下是配置文件的部分内容:以下是配置文件的部分内容:;RTX51 的硬件定时器的硬件定时器;用下面的用下面的EQU可预置可预置RTX51的定时器时间常数的定时器时间常数;用用8051 定时器定时器0 作为控制软件的定时器作为控制软件的定时器;定义定时器中断用的寄存器组定义定时器中断用的寄存器组INT_REGBANKEQU1 ;默认为寄存器默认为寄存器1组组;定义定义8051定时器定时器0溢出所需的机器周期数溢出所需的机器周期数INT_CLOCK EQU10000 ;默认周期数为默认周期数为10000 ;定义定义Round-Robin 的的Timeout 所
35、需的定时器溢出数所需的定时器溢出数TIMESHARINGEQU5;默认为默认为5次次 ;注意:注意:Round-Robin任务切换可用任务切换可用TIMESHARING为为0来屏蔽来屏蔽 第第第第第第111111章章章章章章 RTX51RTX51RTX51实时操作系统实时操作系统实时操作系统实时操作系统实时操作系统实时操作系统 ;RTX51 堆栈空间堆栈空间;以下的以下的EQU语句定义了堆栈区的片内语句定义了堆栈区的片内RAM 体积和最小自由堆栈空间体积和最小自由堆栈空间:定义了堆栈空间耗尽后所执行的宏代码:定义了堆栈空间耗尽后所执行的宏代码;定义最大的堆栈;定义最大的堆栈RAM 地址地址RA
36、MTOP EQU 0FFH ;默认地址是;默认地址是255 ;定义最小的堆栈自由空间定义最小的堆栈自由空间FREE_STACKEQU20 ;默认为;默认为20 字节堆栈自由空间字节堆栈自由空间; ;发生堆栈用尽时的执行代码;发生堆栈用尽时的执行代码STACK_ERROR MACRO CLR EA ;关闭所有中断关闭所有中断SJMP $ ;如堆栈空间耗尽,进入死循环如堆栈空间耗尽,进入死循环ENDM 在这个配置文件中,定义了许多可以修改的参数,以适应用户特定的应在这个配置文件中,定义了许多可以修改的参数,以适应用户特定的应用程序环境。这些参数的说明详见表用程序环境。这些参数的说明详见表11-6所
37、示。所示。 第第第第第第111111章章章章章章 RTX51RTX51RTX51实时操作系统实时操作系统实时操作系统实时操作系统实时操作系统实时操作系统 表表11-6 配置文件参数说明配置文件参数说明 第第第第第第111111章章章章章章 RTX51RTX51RTX51实时操作系统实时操作系统实时操作系统实时操作系统实时操作系统实时操作系统 11.7 RTX51的应用举例的应用举例 本节给出了一个采用本节给出了一个采用RTX51实现的简单的交通灯控制模实现的简单的交通灯控制模拟程序。其目的在于展示拟程序。其目的在于展示RTX51编程的思路与优势,同时为编程的思路与优势,同时为便于学习,又力求程
38、序简单。因此这里通过串口输出模拟了便于学习,又力求程序简单。因此这里通过串口输出模拟了一个人行道上的红绿灯控制过程:车通行,绿灯亮;绿灯保一个人行道上的红绿灯控制过程:车通行,绿灯亮;绿灯保持一段时间后,闪烁几秒转亮黄灯几秒;黄灯没后,红灯亮持一段时间后,闪烁几秒转亮黄灯几秒;黄灯没后,红灯亮起,人通行。然后又亮绿灯,周而复始。为方便学习调试,起,人通行。然后又亮绿灯,周而复始。为方便学习调试,这里采用串口输出不同的文本串来指示绿灯亮、绿灯闪烁这里采用串口输出不同的文本串来指示绿灯亮、绿灯闪烁(文本串闪烁)、黄灯亮、红灯亮(文本串闪烁)、黄灯亮、红灯亮4种状态。为便于观察结果,种状态。为便于观察结果,示例程序运行所获的状态持续时间为:绿亮示例程序运行所获的状态持续时间为:绿亮10s,绿闪,绿闪3s,黄,黄亮亮3s,红亮,红亮10s。 第第第第第第111111章章章章章章 RTX51RTX51RTX51实时操作系统实时操作系统实时操作系统实时操作系统实时操作系统实时操作系统 第第第第第第111111章章章章章章 RTX51RTX51RTX51实时操作系统实时操作系统实时操作系统实时操作系统实时操作系统实时操作系统 第第第第第第111111章章章章章章 RTX51RTX51R
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 汽车安全检验政策解读
- 地下水水文地质工程地质研究重点基础知识点
- 连片土地转租合同协议
- 车辆购买赠送协议书范本
- 运输木架租借合同协议
- 员工试用期劳动合同协议书
- 产业园区租赁经营协议书
- 投资咨询服务合同协议
- 旧房改造协议书
- 旅游酒店连锁管理服务合同
- 2025年行测真题及答案B卷
- 2025公务员行政能力测试题及答案
- 2025年北京市顺义区一模九年级道德与法治试题(含答案)
- 银行业金融机构高管任职资格考试多选题题库及答案
- 2025年一级注册建筑师《设计前期与场地设计》考试真题卷(附答案)
- 2025年政治理论试题及答案解析(140题)
- CNAS-CC106:2023 CNAS-CC01在一体化管理体系审核中的应用
- 全能型供电所岗位知识(知识)考试题库(含答案)
- 华大新高考联盟2025届高三4月教学质量测评化学+答案
- 建筑材料租赁标准合同范本7篇
- 2025年湖北省汉江国有资本投资集团有限公司招聘笔试参考题库含答案解析
评论
0/150
提交评论