解释型单片机应用程序的研究.pdf

上传人:asd****56 文档编号:70335818 上传时间:2023-01-19 格式:PDF 页数:6 大小:439.12KB
返回 下载 相关 举报
解释型单片机应用程序的研究.pdf_第1页
第1页 / 共6页
解释型单片机应用程序的研究.pdf_第2页
第2页 / 共6页
点击查看更多>>
资源描述

《解释型单片机应用程序的研究.pdf》由会员分享,可在线阅读,更多相关《解释型单片机应用程序的研究.pdf(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第3 6 卷第3 期东华大学学报(自然科学版)V 0 1 3 6,N o 32 0 1 0 年6 月J O U R N A L0 FD O N G H U AU N I V E R S I T Y(N A T U R A LS C I E N C E)J u n 2 0 1 0文章编号:1 6 7 1 0 4 4 4(2 0 1 0)0 3 0 2 5 8 0 5解释型单片机应用程序的研究陆宇霆8,臧珠萍8,欧阳文斌b,曾培峰8(东华大学玉计算机科学与技术学院;b 信息科学与技术学院,上海2 0 1 6 2 0)摘要:采用配置文件定义系统处理和功能,提出一个组态简单、易于功能调整和系统升级的解

2、释型单片机系统按照业务逻辑编写的脚本文件以X M L 格式存储于S D(S e c u r e D i g i t a l)卡中,脚本程序被单片机读入内存后,经解释器解释,调用系统软件中相应A P I(A p p l i c a t i o nP r o g r a mI n t e r f a c e)函数,执行指定功能建立在硬件层和系统软件层之上的单片机解释系统,对业务逻辑的鳊写、更改和实现更为方便关键词:脚本;解释型I 应用程序;单片机;X M L中图分类号:T P3 1 4文献标志码:AR e s e a r c ho fI n t e r p r e t e dP r O g r a

3、 m mi n gf o rM C UA p p li c a t i o nL UY u-t i n 9 4。Z A N GZ h u-p i n 9 4,O UY A N GW 附戗咒“,Z E N GP e i-f e n g。(C o l l e g eo fC o m f i e rS c i e n c e 蛆dT e 曲舯I o 科5hC d l e 咎o fI n f m m a t i a nS d 蜘 a n dT e e l m a l o l g,n 删豇咀U m v e r s t t y,S l m 回雠2 0 1 6 2 0,嘶)A b s t r a c t:T

4、 h ep r o c e s s i n ga n df u n c t i o n sa r ed e f i n e db yc o n f i g u r a t i o nf i l e s,a ni n t e r p r e t e dM C U(M i c r o c o n t r o l l e rU n i t)s y s t e mw h i c hi se a s i l yc o n f i g u r e df o rf u n c t i o nm o d i f i c a t i o n so rs y s t e mv e r s i o nu pi sp

5、 r o p o s e d 乃eb u s i n e s sl o g i ci sd e f t n e db ys c r i p tf i l e si n M Lf o r m a ta n ds t o r e di nS D(S e c u r eD i g i t a l)c a r d T h es c r i p ti sm o v e di n t om e m o r y a n dr e a db yX M Lp a r s e r T h ed e f i n e df u n c t i o n sa r ee x e c u t e db yc o r r e

6、 s p o n d i n g 创P I(A p p l i c a t i o nP r o g r a mI n t e r f a c e)f u n c t i o nc a l l i n g T h eM C Ui n t e r p r e t e ds y s t e mb a s e do nt h eh a r d w a r ea n dt h es y s t e ms o f t w a r ei Sc o n v e n i e n tf o rb u s i n e s sl o g i cd e f i n i t i o n,m o d i f i c a

7、t i o n,a n di m p l e m e n t a t i o n K e yw o r d s:s c r i p t:i n t e r p r e t e d;a p p l i c a t i o n;m i c r o c o n t r o l l e ru n i t(M C U);儿传统的单片机应用软件主要为编译型,具有执行效率高、运行速度快的特点,但是编程人员需具备较强的编程知识和业务知识,程序的编写、编译、调试和下载是一个相对比较复杂的过程如果应用软件由脚本语言编写,通过解释器逐行读取、逐行解释执行,虽然相对于编译型软件运行速度较慢,但是脚本程序直观易懂、结构

8、简单,与单片机系统的底层硬件无关,在不同的平台上只要有相应的解释器支持就可以实现相同功能,大大增强了应用软件的平台无关性和可移植性,因而在对运行速度要求不高的系统中有一定的应用价值近年来单片机技术发展迅速,运算速度和内存空间不断提升,这使得解释型应用软件在单片机应用中有了用武之地新型的单片机测控装置具有可裁剪的微型脚本语言解释器,使其可以运行简单的脚本语言,提高了单片机的使用灵活性、可扩展性和自动化程度n】文献 2 给出了基于嵌入式操作系统浏览器的J a v a S c r i p t 语言解释器的设计与实现收穆日期:2 0 0 9 1 0 1 9作者简介:陆宇霆(1 9 8 s 一),男,上

9、海人,硕士,研究方向为单片机系统E-m a i l:l u y u t i n g e m a i l 鱼g i n J i l l 姗臧珠萍(联系人),女,讲师。E m a i l:z p z a n g d h,e d u m万方数据第3 期陆宇霆,等:解释型单片机应用程序的研究2 5 9方法,提出并实现了一种扩展的算符优先算法在单片机中使用解释语言编写程序的结构,即将系统内对输入、输出部件的控制及其他所需动作,用相应的“指令代码”表示,主体程序对代码进行“解释”,并执行相应的动作阳】文献 4 采用X M L 描述业务逻辑,并实现基于X M L 脚本的业务解释器单片机控制系统中的软件按功能

10、分为操作控制模块、文件读取与存储模块、通信模块、系统自检模块哺】在设计操作控制模块中的人机交互图形界面时,通常采用面向对象的程序设计方法,对显示的图形在功能上进行自顶向下、逐步细化的模块划分 6 1;具体实现时,采用液晶显示屏显示系统的工作状态,设置按钮并实现相关逻辑判断,提供检测、显示和按键控制的方法 7-8】文献 9 提供S D 卡S e c u r eD i g i t a lM e m o r yC a r d)以及C 8 0 5 1 F 0 2 0 芯片中S P I 接口(S e r i a lP e r i p h e r a lI n t e r f a c e)的结构和工作原理

11、,扩展了单片机存储的方式目前单片机系统中模块丰富且技术成熟,系统结构多以编译型为主,采用解释型的很少基于单片机技术的发展、解释型程序的优点以及X M L 技术的应用,本文提出一种解释型单片机系统的实现方法,讨论系统的结构、脚本文件的设计和提高系统速度的方法1系统结构系统由3 个层次4 个部分组成,如图1 所示,分别为脚本文件、解释器、系统软件和相关硬件用户根据所需业务逻辑通过P C 机编写X M L 格式的脚本文件,脚本文件存储在基于F A T 文件系统的S D卡中,单片机以S P I 模式读写S D 卡中的脚本文件,脚本文件经过解释器解释,调用系统软件中相应的应用程序接口(A p p l i

12、 c a t i o nP r o g r a mI n t e r f a c e,A V I)函数,进行运算并驱动控制系统硬件图1 系统结构F 喀lS y s t e ma r c h i t e c t u r e系统软件提供实时监控程序、相关硬件的驱动程序以及通用的A P I 函数系统的硬件可以根据用户的需求进行设计,基本配置为单片机、液晶显示模块、S D 卡读写模块和输入输出模块1 1 脚本文件脚本文件编写包括确定系统需要的业务逻辑、人机交互界面相关的数据,以实现系统要求完成的功能脚本文件分为表达、处理和数据3 个部分表达部分:将系统处理的数据以一定的格式显示给用户,为用户提供良好的

13、人机交互接口处理部分:各种信息和数据的处理逻辑,即系统的业务逻辑的描述处理部分的调用基于消息响应机制,即对系统的相应消息进行处理数据部分:为处理部分和表达部分提供相关数据根据数据的作用范围,分为全局数据与局部数据两部分脚本文件对这3 个部分分别建立模板,并根据模板生成对象所有的对象可以通过属性和内容进行描述,属性和内容的分配由文件的结构决定对象属性包括通用属性和专用属性通用属性的名称(N a m e)属性是对象间相互区别的唯一主键;类型(T y p e)属性用于区分对象的种类不同类型的对象,有其相应的专用属性描述,通过解释器对其进行相应的处理1 2 解释器脚本解释器是单片机系统软件与脚本文件之

14、间联系的桥梁脚本解释器对脚本程序进行顺序读取及解释,根据解释的内容调用系统软件中相应的A P I 函数,进行数据的处理以及对系统硬件的控制脚本解释器的工作流程如图2 所示系统基于事件驱动,首先读入脚本,完成初始化后,系统监控程序进入循环扫描状态,等待事件触发一旦有事件发生,即对相应脚本进行检测,决定是否对当前事件进行消息响应图2 解释器工作流程F 嘻2I n t e r p r e t e ro p e r a t i n gp r o c e s s2 脚本文件实现系统的大量信息都通过人机交互界面与用户交流,不同的显示信息具有不同的显示页面,因此,脚本文件由多个页面构成鉴于单片机系统资源的限

15、制,将S D 卡中的脚本文件以页面为单位存储,每一个页面独立保存在一个文件中,其优点是调用某万方数据2 6 0东华大学学报(自然科学版)第3 6 卷一个页面时只需读取对应的页面脚本文件,无需对所有的文件进行操作,从而提高了系统的处理速度对系统的共享数据,则以全局变量的方式定义,并单独保存在一个文件中2 1 表达部分表达部分的功能是将用户需要的、经过处理的数据,通过表达模板和页面生成器,把数据和表达形式相结合,发送给用户浏览表达部分包括页面、静态文本、动态文本、静态按钮和动态按钮类型对象,每一个对象都有两个通用属性:即名称属性和类型属性名称属性用于区别其他页面,并实现在其他地方调用这个页面类型属

16、性表示对象的功能除页面外,其他4 种类型对象都有显示位置(P o s i t i o n)专用属性,该属性给出显示的内容相对于所属页面左上角的起始位置坐标z 和y 下面分别描述上述5 种类型对象以及所用到的其他专用属性2 1 1 页面页面(D i s p)是用户与系统进行信息交换的一种手段页面范围(R e c t a n g l e)属性该属性规定页面的尺寸,页面默认为长方形,页面的范围由页面左上角z,Y,和页面右下角恐,弛的4 个坐标确定页面的内容由页面包含的对象构成,对象类型有静态文本、动态文本、静态按钮和动态按钮,用以显示系统的状态和接受用户的输入2 1 2 静态文本静态文本(L a b

17、 l e)用于显示页面中固有的、不变化的文字显示内容(V a l u e)属性该属性描述页面上需要显示文字的内容,通常对应页面的标题、对话框的名称、按钮的名称等信息2 1 3 动态文本动态文本(E d i t)用于显示页面中随系统状态变化实时更新的文字显示资源(S o u r c e)属性该属性描述页面上显示内容的来源,以数据对应的变量名来引用这些动态文本主要反映系统实时的数据变化、输入输出状态的变化信息如果触发页面刷新(R e f r e s h)事件,解释器会对当前页面的动态对象重新解释显示,即动态文本对象重新读取显示资源内容并在页面相应位置重绘为了节省系统资源,此时的静态文本对象不采取重

18、绘动作页面刷新事件可以通过点击按钮进行触发,也可以在任务对象中创建定时刷新任务进行触发2 1 4 静态按钮静态按钮(S t a t i cB u t t o n)是页面中可接受用户固定操作的文字或图形元素,在页面中操作和位置固定不变的按钮显示内容(V a l u e)属性该属性描述按钮上显示的内容按钮扩展(E x p a n s i o n)属性该属性可以对按钮进行横向或纵向的扩展,扩大按钮的响应范围,方便用户的操作当点击触摸液晶屏时,系统接收点击消息,消息包括被点击点的坐标,通过坐标与当前页面中按钮对象的坐标相比对,确认是否有按钮被点击如果有按钮被点击,则触发相应的按钮点击(O n C l

19、i c k)事件,然后对按钮对象的内容部分进行解释执行,完成指定的功能按钮对象的内容由所调用的函数对象组合构成,而函数对象来自系统软件提供的A P I 函数与驱动控制函数2 1 5 动态按钮动态按钮(D y n a m i cB u t t o n)是页面中可接受用户动态操作的文字或图形元素,在页面中操作和位置可变的按钮显示资源(S o u r c e)属性该属性描述按钮上显示内容的来源按钮扩展(E x p a n s i o n)属性该属性的作用与静态按钮中的按钮扩展属性相同动态按钮给用户提供多种选择性操作和控制在数据部分中,结构体变量将按钮的显示资源和按钮中函数所需的参数组合起来,数组变量

20、将结构体变量组合起来在页面中,按钮对象属性与数组变量中结构体变量对象属性相关联改变数组变量的下标就可以选定相应的结构体变量,进而实现按钮的动态显示和动态操作2 2 处理部分处理部分主要对各种信息和数据按一定的逻辑进行判断并进行处理处理部分包括函数类型和任务类型对象函数对象的可选专用属性有参数(P a r a m e t e r)属性和返回(R e t u r n)属性参数属性可以是常量与变量,返回属性一般为变量系统软件层提供了功能丰富的A P I 函数,这些函数采用编译方式实现编写脚本程序时只需考虑如何使用A P I 函数来实现业务逻辑这样既方便修改业务逻辑,又提高了脚本的执行速度任务对象的可

21、选专用属性有定时(n 腿)属性和频万方数据第3 期陆宇霆,等:解释型单片机应用程序的研究2 6 1率(F r e q u e n c y)属性定时属性表示到定时属性值指定的时刻系统产生定时事件;频率属性表示每次到达频率属性值指定时间的倍数时刻产生频率事件任务对象的内容由所调用的函数对象组合构成2 3 数据部分系统的状态以及系统处理的中间过程需以数据形式保存下来,本文在脚本和内存中各开辟一个专用区域存放数据数据部分包括基本类型、构造类型对象基本类型有整型、字符型、浮点型等;构造类型有数组类型、结构体类型等基本类型对象的专用属性仅包括内容(V a l u e)属性,即变量的具体内容构造类型对象具有

22、多层结构,首层包括通用属性名称和类型,考虑到脚本结梅,增加子一层结构,将所包含的对象作为内容,实现结构与概念的统一数组类型对象由一系列相同类型对象组成;结构体类型对象是由不同类型对象组成的集合根据对象定义位置的不同,可分为全局变量和局部变量;按存储介质的不同,可分为脚本变量和内存变量全局变量是各个页面对象都能访问的变量;局部变量是本页面对象能访问的变量脚本变量是存储于脚本文件区的数据;内存变量是脚本文件为了提高访问速度在单片机内存中申请的内存变量脚本中的全局变量和局部变量不涉及内存的申请与释放,全局变量的作用域为所有页面,局部变量的作用域为其定义所在的页面处理原则是先局部后全局,如果全局变量和

23、局部变量同名则仅考虑局部变量脚本文件的读写比较慢,如果对系统有速度上的要求,可以在系统中申请内存变量,以实现某些高速数据的交换和处理2 4 实际示例根据前述脚本文件的实现方法,下面给出一个具体的应用实例脚本文件分成两个区域:(1)全局区域全局区域中申请了内存变量以及任务对象,任务对象在系统初始化时调用系统时间函数,且与内存变量s t r H o u r 和s t r M i n u t e 关联(2)页面区域,其下对象是局部的页面区域中设计了个大小为5 X 1 0 字符、名为I n i t I】s p 的页面,页面中申请了结构体数组类型和字符类型的脚本变量示例的实现效果如图3 所示在第0 行第

24、6 个字节(即P o s i t i o n=”6,0”)显示静态文本“东华大学”;在第2 行第0 个字节显示动态按钮“页面1”,该动态按钮显示的内容来源于结构体数组变量O p t b y D r i f t V a l u e 的内容,点击它会运行页面跳转函数,进入O p t b y D r i f t U r i 内容所指示的页面;在第2 行第1 0 个字节显示静态按钮“C h a n g e”,点击它则运行增加函数,使脚本字符变量b y D r i f t 增加1,进而改变动态按钮所显示的内容;在第4 行第0个字节显示静态文本“当前时间:时分”;在第4行第1 0 个字节显示动态文本,显示

25、内容来自全局变量s t r H o u r,为系统时间的小时;在第4 行第1 4个字节显示动态文本,显示内容来自全局变量s t r M i n u t e,为系统时间的分钟东华l 大学页面1;C h8 ng e当前时间:l0 0 时0 0分图3 示例显示画面啦3D t m o m t r a t i o nd i s p l a yf r a m e具体代码如下所示:3提高解释型单片机系统速度的方法选定单片机后,提高解释型单片机系统的速度主要以提高存储读写速度和程序解释速度来实现,具体方法如下:(1)脚本程序调用的A P I 函数固化在单片机R O M 中,脚本文件不定义函数(2)对定频率事件

26、,例如采集外设数据、申请任务对象和内存变量任务对象一旦被解释器解释后,就在系统中产生常驻的定时或者定频率任务,按照固定的时间或者固定的频率进行事件驱动,不需要被反复解释内存变量区别于在脚本中的全局变量与局部变量,内存变量在单片机内部申请,对其进行操作无需进行多次脚本文件的操作(包括查找、定位和读写)(3)一个脚本程序由多个页面构成,每一个页面构成一个文件,文件名取自页面的名称,F A T 文件系统为文件名建立索引,页面的切换通过相应的页面文件索引切换完成(4)读取页面文件至单片机内存后对内存中脚本进行解释单片机对内存的读写速度快于对S D卡的读写速度4结语本文研究了单片机系统中解释型应用程序的

27、实现方法从数据、处理、表达3 个方面阐明了脚本文件的具体实现,并提出了如何提高解释型单片机系统的处理速度本文提出的解释型程序执行方法,效率不如编译方式高,适用于对业务逻辑需频繁更改但是对实时性要求不高的系统随着单片机处理性能的提高,解释型程序的执行速度也会相应提高,它的应用场合一定会不断扩大参考文献 1】何岭松,赖红用于单片机测控装置的微型脚本解释器 J 测试技木学报,2 0 0 6,2 0(2):1 1 8 1 2 2 2】张军林,阳富民,胡贯荣J a v 盏S c r i p t 语言解释器的设计与实现 J】计算机工程与应用,2 0 0 3,3 0:1 2 4 1 2 5 3】孙力,鲍健嵌

28、入式单片机应用系统程序结构 J 量子电子学报,2 0 0 0,1 7(3):2 7 9 2 8 1 4 王开西,邹华,杨放春基于X M L 脚本的增值业务解释器的研究 J 北京邮电大学学报,2 0 0 4,2 7(S 2):7 4 7 8 5 项功宏,陈奇基于单片机的提花机控制系统的设计 J 机床与液压,2 0 0 5(1 2):1 5 3 1 5 5 6 王妍,张群双容水槽微机控制系统显示软件设计 J 辽宁大学学报。2 0 0 1,2 8(3):2 3 4 2 3 7 7】邱士安基于C 8 0 5 1 F 0 2 0 单片机的控制系统应用 J】大庆石油学院学报,2 0 0 6,3 0(s):

29、7 2 7 4 8】李艳张琛星,李明辉基于A T 8 9 C A I 单片机的锅炉液位控制系统 J 自动控制,2 0 0 6,2 5(4):5 4 5 7 9 李长有,武学东,孙步胜,等基于C 8 0 5 1 F 0 2 0 的S D 卡主控制器设计 J 微计算机信息,2 0 0 7,2 3(9 2):1 2 0 1 2 2【l o】张延园J a v a S c r i p t 程序设计及应用 M 西安:西北工业大学出版社,1 9 9 7 万方数据解释型单片机应用程序的研究解释型单片机应用程序的研究作者:陆宇霆,臧珠萍,欧阳文斌,曾培峰,LU Yu-ting,ZANG Zhu-ping,OUY

30、ANG Wen-bin,ZENG Pei-feng作者单位:陆宇霆,臧珠萍,曾培峰,LU Yu-ting,ZANG Zhu-ping,ZENG Pei-feng(东华大学,计算机科学与技术学院,上海,201620),欧阳文斌,OUYANG Wen-bin(东华大学,信息科学与技术学院,上海,201620)刊名:东华大学学报(自然科学版)英文刊名:JOURNAL OF DONGHUA UNIVERSITY(NATURAL SCIENCE)年,卷(期):2010,36(3)参考文献(10条)参考文献(10条)1.孙力;鲍健 嵌入式单片机应用系统程序结构期刊论文-量子电子学报 2000(03)2.张

31、军林;阳富民;胡贯荣 JavaScript语言解释器的设计与实现期刊论文-计算机工程与应用 2003(30)3.何岭松;赖红 用于单片机测控装置的微型脚本解释器期刊论文-测试技木学报 2006(02)4.李长有;武学东;孙步胜 基于C8051F020的SD卡主控制器设计期刊论文-微计算机信息 2007(9-2)5.张延园 JavsScript程序设计及应用 19976.李艳;张琛星;李明辉 基于AT89C51单片机的锅炉液位控制系统期刊论文-自动控制 2006(04)7.邱士安 基于C8051F020单片机的控制系统应用期刊论文-大庆石油学院学报 2006(05)8.王妍;张群 双容水槽微机控制系统显示软件设计期刊论文-辽宁大学学报 2001(03)9.项功宏;陈奇 基于单片机的提花机控制系统的设计期刊论文-机床与液压 2005(12)10.王开西;邹华;杨放舂 基于XML脚本的增值业务解释器的研究期刊论文-北京邮电大学学报 2004(z2)本文链接:http:/

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁