基于rtx51tiny实时操作系统应用

基于rtx51tiny实时操作系统应用

ID:34197280

大小:58.26 KB

页数:5页

时间:2019-03-04

基于rtx51tiny实时操作系统应用_第1页
基于rtx51tiny实时操作系统应用_第2页
基于rtx51tiny实时操作系统应用_第3页
基于rtx51tiny实时操作系统应用_第4页
基于rtx51tiny实时操作系统应用_第5页
资源描述:

《基于rtx51tiny实时操作系统应用》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于RTX51TINY实时操作系统应用摘要:为解决在单片机中处理实时多任务,通过在C8051F020单片机使用RTX51TINYOS操作系统,使系统能稳定运行无线模块,液晶点阵显示、数码管显示、温度芯片、时间芯片等实时任务,防止系统跑死和混乱现象的出现。关键词:实时;多任务;RTX51TINY中图分类号:TP315文献标识码:A文章编号:1006-8937(2013)06-0022-021RTX51的简介RTX51是KEIL公司开发的用于8051系列单片机的多任务实时操作系统。它有两个版本,RTX51FULL和RTX51Tiny。RTX51Tiny是RTX51FULL的子集,仅支持按时间片

2、循环任务调度,支持任务间信号传递,最大16个任务,可以并行地利用中断。具有以下等待操作:超时、另一个任务或中断的信号。但它不能进行信息处理,不支持存储区的分配和释放,不支持占先式调度。RTX51Tiny-个很小的内核,完全集成在KEILC51编译器中。更重要的是,它仅占用800字节左右的程序存储空间,可以在没有外放数据存储器的8051系统中运行,但应用程序仍然可以访问外部存储器。2系统简述本系统是一个实时信息发布系统,需要显示各点的实时信息,同时也需要显示年月日和时分秒等信息。框图如图1所示,本设计包含多个从机部分,每部分都由AT89C2051单片机、JTT-433-UDI嵌入式微功率无线

3、数传模块和HC-SR501人体红外感应模块组成。人体传感器HC-SR501检测当前空间内是否有人,如果有人则通过JTT-433-UDI嵌入式微功率无线数传模块发送数据给主机模块。主机模块主要由温度时钟部分、无线接收部分、数码管显示部分、点阵显示部分、LED灯指示部分、太阳能电池板、蓄电池、控制器8部分组^(1O3多任务模式的实现整个程序中,采用多任务模式,但是在釆用多任务模式中,程序调度多任务时数码管总会出现闪烁,虽然单片机运行频率很高,但是每一个任务中运算量都很大的,在调度任务时系统会自动的分配几个毫秒用来任务的切换,由于数码管扫描时采用动态扫描方式,每扫描一个数码管大概时间就是一毫秒的

4、,再加上扫描时的延时,大概整个扫描过程就是20多毫秒,这个时间超过了系统分配的时间片,在系统配置文件中我们改变它的中端时间。由于扫描数码管是由单片机的I/O引脚来控制数码管位选扫描,在由I/O送出数据到数码管上显示,扫描液晶点阵的时候使用的是4线16译码芯片74H154扫描,两个的扫描方式不一样,这样使得在程序中无论如何修改程序都会使得整个扫描时间不能缩短,从而占用其他程序运行的大量时间,使用数码显示出现闪烁,我们通过将两种扫描方式合为一种扫描方式,都改为液晶点阵的自动扫描译码,这样就节约一半的时间,任务运行起来也稳定。3.1创建多任务程序如下:voidjobO(void)_task_0/

5、/rtx初始化任务{Systeminit();//系统初始化os_create_task(1);os_create_task(2);os_create_task(3);os_delete_task(0);//删除RTX51Tiny程序不需要mian函数,取而代之,在初始化任务中,对系统初始化,时间芯片,无线模块,设置时间初始化。RTX51Tiny从第0个任务开始执行,任务执行完后删除任务0。3.2模块任务的创建3.2.1任务1的创建程序如下:voidjobl(void)_task_1//获取时间wh订e(1){DS1302_GetTime(&CurrentTime);os_wait(K_T

6、M0,2,0);〃挂起}}RTX51Tiny的任务1就是时间芯片DS1302读取时间,显示时间,扫描数码管,显示温度,RTX51Tiny的时间片分配的时间不足以使得整个任务运行,在任务中加上挂起超时函数,单任务超时时,任务自动被挂起。3.2.2任务2的创建由于液晶点阵中由于是采用4线16自动译码,它的扫描方式是自动扫描的,如果使用串口的方式来写入数据,但是我们在使用无线模块时已经占用串口URAT0,在使用串口的话,容易使得无线模块在接受数据时,是系统跑死,于是就采用向单片机内部写数据,编写一个写入内部数据的函数和内部数据清零的函数,液晶点阵的扫描方式是一行行的扫描。任务2就是在我们按键调整

7、时间的时候,但被选中的数码管模块闪烁的问题,釆用的是延时闪烁,当选中调整的模块式,给它送低电平(数码管采用的是共阴极),计时延时自减,减为零时,再送高电平,这样来实现闪烁,实现程序如下:if(displaydelay

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。