首页 > 应用 > qy002千赢国际应用
[导读]Small RTOS 对RAM 需求小,非常适合qy002千赢国际这类资源比较少的系统上。RTOS 具有多任务处理,较强的实时性,可裁减的内核,使得实时应用程序的设计、扩展和维护变得更容易。RTOS 思想的引入,一改传统qy002千赢国际软件设计方法,使其不再是单一线程结构方式,通过应用程序分割为若干独立的任务,RTOS 使得应用程序的设计过程大为简化。本文结合基于qy002千赢国际的千赢国际官方(唯一)网址存包柜的软件设计,简要分析了Small RTOS 的设计思想及消息队列通信机制的应用。
Small RTOS 对RAM 需求小,非常适合qy002千赢国际这类资源比较少的系统上。RTOS 具有多任务处理,较强的实时性,可裁减的内核,使得实时应用程序的设计、扩展和维护变得更容易。RTOS 思想的引入,一改传统qy002千赢国际软件设计方法,使其不再是单一线程结构方式,通过应用程序分割为若干独立的任务,RTOS 使得应用程序的设计过程大为简化。本文结合基于qy002千赢国际的千赢国际官方(唯一)网址存包柜的软件设计,简要分析了Small RTOS 的设计思想及消息队列通信机制的应用。 1. Small RTOS51 的基本原理 Small RTOS51是一个很小的内核,完全集成在KEIL C51编译器中,仅占用较少的程序存储空间,可以在没有外挂数据存储器的51qy002千赢国际系统中运行。内核负责系统的初始化和开放、调度其它任务,根据各个任务的优先级,合理地在不同任务之间分配CPU 的时间,内核一般都能提供任务调度和中断服务等功能。把一道程序和一个任务对应,把任务中的每个分开的、独立执行的部分称之为线程。所有的事件驱动和时间驱动都体现在设置相应的任务标识和线程标识。当硬件环境一定时,依据这些标识,通过安排系统内中断响应方式和调整任务调度算法,采用设置环境变量的方法,使中断退出后可以任意返回到多个设置入口中的某一个去执行,有效地解决了前台和后台任务线程的灵活切换这一关键问题。Small RTOS 51 的用户任务具有运行态、就绪态、等待和挂起、中断服务程序。任何一个时刻,任务的状态就是这四种状态之一。为了节省内存,OS 不能动态的建立和删除任务,用函数OSSTART()启动多任务环境后,OS 就把所有的任务建立起来,并把它们设为就绪状态,开始运行优先级最高的任务。只有当所有的优先级高于它的任务转为等待时。就绪的任务才能进入运行状态。调度程序将“任务就绪表”中的最高优先级别的任务作为下个要执行的任务。 任务调用 os_wait 函数,挂起当前任务,等待一个或几个间隔(K_IVL)、超时(K_TMO)、信号(K_SIG)事件。如果所等待的事件已经发生,继续执行当前任务;如果所等待的事件没有发生,则置相应的等待标志后,挂起该任务,转任务切换程序段切换到下一任务。 Small RTOS51 通过执行函数init ( )来给寄存器赋初值,调用函数OSSTart ( ) 来初始化每一个任务的堆栈并执行第一个任务,而选择第一个任务执行的理由是该任务的优先级别。在选择过程中就完成了任务的调度。 1.1 任务之间的通讯 任务之间的通讯采用消息队列,经过3步:创建消息队列OSQCreate(),向消息队列发消息OSQPost(),取消息OSQPend()。调用OSQPost ( )函数发送消息时,如果已经有任务在等待该消息,则立即转向等待该消息的任务,如果消息队列已满,则无法传递该消息,返回一个错误信息。如消息队列未满,同时也没有其他任务等待该消息,则入列。值得注意的是,当队列满时,该函数并不挂起当前任务,因此调用该函数的任务应当判断返回条件,如果消息满,则应挂起当前任务。接收消息时,如果消息队列空,则取消息的任务将挂起,直到该消息队列中有消息时才会继续执行。 2. 应用实例 2.1 硬件平台 以应用在大型超市、书店的千赢国际官方(唯一)网址式存包柜为例,系统框图如下 该千赢国际官方(唯一)网址存包柜可以控制的最大货物存储箱数为 32 个,分左右各16 个箱子,上图只画出16 路控制。控制芯片采用AT89C55 qy002千赢国际,配有实时时钟模块、条码读入器、液晶显示模块、热敏打印机组成,设计为三块PCB 板。 1 主控板,进行用户的存包和取包人机交互,保存存包密码,显示用户取*程中的密码输入以及全部32 个存包箱的状态。 2 门控制板由三部分组成,第一部分箱内物品检测,包含16 路红外线检测输入、16 路红外发射控制驱动。第二部分16 路继电器控制,开箱控制由16 个小直流电机构成16 个箱子的开门控制。第三部分箱门状态检测,检测16 个箱门的开/关。 3 存取包的条码打印、语音提示,整个系统由 4 个qy002千赢国际配合工作,主控qy002千赢国际管理存包用户的操作并记录其历史参数,然后向从qy002千赢国际发出指令,分配空箱并打印输出存包条,给用户。 2.1 软件设计 千赢国际官方(唯一)网址存包柜主要包括按键处理、显示处理、通讯处理等模块,由中断处理条码读入和串口通讯。因此,可以把任务分为按键显示、接收数据、命令处理、发送数据等4 个任务。 以主控qy002千赢国际1 接收用户按存包输入密码、键值处理、密码显示及箱子状态显示、发送开箱命令为例,说明主体设计思想。 主程序进行系统初始化以后,调用函数OSStart()设置多任务环境,为每一个任务建立任务堆栈,顺序建立了4 个任务,等待相应任务的唤醒。用户只需把自己想要实现的功能定义为任务,在cONfig.h 中声明任务函数名和它的优先级,并且编写好自己的代码段就可以了,完全没有了传统编程下的那种上下调用的关系,系统会自动运行代码。Small RTOS51 的移植主要是要配置OS_CPU.H、OS_CFG.H 和CONFIG.H 三个文件,其中OS_CFG.H 文件主要用于对操作系统的裁减和时钟等的相关配置。 在 CONFIG.H 文件中定义4 个任务 #ifndef ….. ………… #endif 限于篇幅,向qy002千赢国际2、3 的发送及接收qy002千赢国际2 数据的程序略 4.结论 采用实时多任务操作系统使得编程效率更高、维护及修改也更方便,所以目前得到广泛应用,尤其是在嵌入系统中。在低端的51 qy002千赢国际应用领域,利用实时多任务操作系统的思想,采用Small RTOS 多任务平台进行系统应用设计及改进,同样也有现实意义。 本文创新点:将Small RTOS 多任务的思想应用在一个具体的qy002千赢国际控制的千赢国际官方(唯一)网址式存包柜系统的软件设计中,介绍了基于消息队列的任务通讯的编程方法。
换一批

延伸阅读

[qy002千赢国际应用] LED点阵的横向移动

LED点阵的横向移动上下移动我们会了,那我们还想左右移动该如何操作呢?方法一、最简单,就是把板子侧过来放,纵向取模就可以完成。这里大家是不是有种头顶冒汗的感觉?我们要做好技术,但是不能沉溺于技术。技术是我们的工具,我们在......关键字:LED点阵 横向移动

[大数据] 阿里巴巴在英国新开设了第一个数据中心

阿里巴巴在英国新开设了第一个数据中心尽管英国与欧盟的未来关系尚不明确,云计算公司仍旧不断在欧洲也包括英国新建新的数据中心。政府需求是其驱动因素之一:各国政府日益将计算功能转移到云平台,但出于监管和安全考虑,他们经常需要把数据存储在国内。 ......关键字:阿里巴巴 数据中兴

[厂商动态] e络盟发布Raspberry Pi 网络研讨会 “Eben Upton 谈 Raspberry Pi工业应用”

e络盟发布Raspberry Pi 网络研讨会  “Eben Upton 谈 Raspberry Pi工业应用”全球千赢国际官方(唯一)网址元器件与开发服务分销商e 络盟日前通过其千赢国际官方(唯一)网址工程师互动社区e络盟社区发布题为“Eben Upton 谈 Raspberry Pi 工业应用”的新一期网络研讨会内容,以服务利用Raspberry Pi 进行工业及专业应用开发的客户群。......关键字:e络盟 Raspberry Pi

[消费类千赢国际官方(唯一)网址新闻] 华为P30 Pro真机曝光:三种配色沉稳大气!

华为P30 Pro真机曝光:三种配色沉稳大气!距离华为P30的发布越来越近,关于该机的信息不断,今天真机也现身了!三种配色,看起来沉稳大气! ......关键字:华为P30 Pro 光谱镜头 超级快充

[测试测量] 接地电阻测试方法

接地电阻测试方法一、接地电阻测试要求:a.交流工作接地,接地电阻不应大于4Ω; b.安全工作接地,接地电阻不应大于4Ω; c.直流工作接地,接地电阻应按计算机系统具体要求确定; d.防雷保护地的接地电阻不应大于10&O......关键字:接地电阻 测试方法

[消费类千赢国际官方(唯一)网址新闻] 华为东莞,小米武汉,科技巨头们纷纷逃离一线城市

华为东莞,小米武汉,科技巨头们纷纷逃离一线城市据中新社“国是直通车”报道,7月1日,华为研发部门正式搬迁,有2700人于7月2日从深圳到东莞松山湖溪流坡村上班。对此,华为方面表示,总部会留在深圳。而另一位华为人透露搬迁或是扩大发展规模的一部分。......关键字:科技巨头 华为 小米 一线城市

[半导体] 台积电晶圆十六厂开工量产:16nm工艺正式落地南京

台积电晶圆十六厂开工量产:16nm工艺正式落地南京10月31日,台积电在南京举办新工厂开业暨量产典礼。据悉,南京厂将成为台积电的晶圆十六厂(Fab16),初期月产能1万片,预计2019年底达到15000片,在2020年达到2万片的规模。典礼上,台积电董事长刘德音(Mark Liu)、台......关键字:台积电 16nm工艺 南京

[qy002千赢国际应用] C8051F410在线调试接口说明

C8051F410在线调试接口说明遇到问题:IDE软件按之前文章说明进行了设置,在其他PCB板上测试通过。但在新的PCB上却出现连接失败和烧写一半失败的情况。解决方法:在网上搜索了几天,得到可能出现问题的一下几种原因:A、RST(C2CK)需接2K~10K的......关键字:C8051F410 在线调试接口

[测试测量] 意法半导体微型MEMS压力传感器提高测量精度 避免耗时的校准工序

意法半导体微型MEMS压力传感器提高测量精度  避免耗时的校准工序意法半导体LPS22HH MEMS压电绝对压力传感器的精确度和稳定性俱佳,设备制造商在焊接后无需执行单点校准(OPC)工序,从而提高产量和效率。 ......关键字:意法半导体 MEMS压力传感器 双线传感器

我 要 评 论

网友评论

技术子站

更多

项目外包

更多

推荐博客