基于太阳能实现的无线动态办公信息发布系统软件设计

2013-04-29 18:21许琴
企业技术开发·下旬刊 2013年6期

许琴

摘 要:为解决无线动态办公信息发布系统中无线模块通信与动态数码显示这两者都要不允许中断的矛盾,文章用keil公司的RTX51 Tiny多任务实时操作系统,很好的解决了无线通信与动态数码显示,也解决了程序死机、混乱等现象。经过长时间运行,效果良好。

关键词:无线模块通信;动态数码显示;RTX51 Tiny;多任务实时操作系统

中图分类号:TP277 文献标识码:A 文章编号:1006-8937(2013)18-0003-02

1 RTX51的简介

RTX51是一个用于51单片机的多任务实时操作系统,RTX51可以简化那些复杂而且时间要求严格的软件设计。它有TINY和FULL两个版本,TINY是FULL的子集, 最大可运行的任务数是16个,支持时间片循环任务的调度,支持任务间信号通信,可以并行地利用中断。但它不支持存储区的分配和释放,不支持占先式任务的调度。RTX51TINY操作系统是一个非常小、易于使用的RTOS,它只占用800字节左右的程序存储空间,可以在没有外放数据存储器的51系统中运行。完全集成在KEIL C51编译器中。用户可以很容易的创建任务,也不需要进行复杂的配置,只需包含一个指定的头文件即可编译运行。

2 系统硬件概述

本设计分为主机电路和从机电路,主机电路是以C8051F020单片机为控制核心,以显示电路、时钟电路、温度检测电路、无线收发模块以及太阳能电池供电模块构成。从机以AT89C2051为控制核心,包含人体红外感应模块和无线收发模块。整个系统以主机作轮询模式对从机进行访问和数据传输。系统原理框图如1所示。

3 软件设计

3.1 创建多任务

RTX51 Tiny操作系统编程中不再需要mian函数,RTX51 Tiny从第0个任务开始执行,在任务0中来创建其它需要执行的任务,在其它任务创建完后删除这个任务0。系统自动以时间片方式执行所创建的其它任务。任务0程序代码如下:

3.2 显示模块流程图

点阵扫描部分采用的是74HC154来控制行信号,74HC595来控制列信号,其中是低电平点亮LED显示屏,154是4线16自动译码点整扫描分为两个半屏扫描,每次扫描8次,这样把扫描的数据送入显示。显示模块流程图如图2所示。

3.3 无线模块

无线模块使用的JIT433,在初始化的时候,先让它进行本机通信,设置一些模块参数,空中速率,频率,发射功率等参数,设置成功后,再进行多机通信。设置流程图如图3所示。

在与各分机模块通信时设置串口的波特率1200,这样可以信号可以传输得更远。然后等待接受从机发送过来的信号,接受到信号进行校正,正确就点亮对应的LED灯。与各从机通信程序流程如图4所示。

3.4 按键扫描模块

在键盘部分,我使用了三个按键,分别是:功能按键、加键、减键;在每次按键时如果时间小于5 s的时候就可与进行加减设置,大于5 s就自动退出,这样使得任何时候可以设置时间,不必再按完以后在写入时间的。CPU 利用率高,节约时间。

4 结 语

本软件利用多任务RTOS设计,完全实现了用户所需的基本要求,能够完成主机与各分机可靠的信息交换,系统运行稳定。较好的解决无线动态办公信息发布系统中无线模块通信与动态数码显示这两者都要不允许中断的矛盾。

参考文献:

[1] 黄智伟.全国大学生电子设计竞赛电路设计[M].北京:北京航天航空大学出版社,2007.

[2] 谭浩强.C程序设计[M].北京:清华大学出版社,2002.

[3] 吴金.8051单片机实践与应用[M].北京:清华大学出版社,2002.

[4] 张友德.单片微型机原理、应用与实验[M].上海:复旦大学出版社,2003.

[5] 何小艇.电子系统设计[M].杭州:浙江大学出版社,2004.

[6] 石宗义.电路原理图与电路板设计教程Protel?99SE[M].北京:希望电子出版社.2002.6