欢迎来到天天文库
浏览记录
ID:49472843
大小:103.91 KB
页数:8页
时间:2020-03-01
《单片机外文原稿1翻译.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、单片机外文原稿1翻译 8051微控制器的字节码解释器N.JeenjunS.KhuntaweetepandS.Somkuarnpanit一引言要使用微控制器,用户必须了解其架构和语言。 每个家庭的微控制器都有它自己的体系结构和指令集。 例如PIC家庭是RISC和8051是CISC。 当用户想要使微控制器的变化来支持新的微控制器,可帮助其他用户开发新的方案。 它是废时间,因为用户必须学习新的微控制器的架构和指令集,以及解释另一种方式的微控制器要解决的问题。 当用户想要改变新微控制器,用户只安装解释新微控制器,但不写
2、新的程序。 例如,对于字节代码的Java语言,Java作为由SunMicrosystems引入,在1994年已经传遍了整个计算机行业,并已传递到所有域。 不过Java是提供“一次编写,运行无处不在“的软件。 在图1中,程序员编写的Java项目。 Java编译器将编译Java程序的Java字节码。 使用Java程序,用户需要安装Java虚拟机操作目标系统。 如果用户要改变到新的操作系统,用户只需安装Java虚拟机和Java程序就可以正常运行。 这种情况下的Java虚拟机就是Java系统解释器。 世界上人们最喜
3、欢的玩具是乐高的头脑风暴。 乐高积木解释器中有H8微控制器。 用户接口是基于图形块。 这很容易为初学者即使孩子们,都可以来开发自己的应用。 为了解释的其他例子,由麻省理工学院MetaCricket开发的,GoGo电路板,通过BasicStamp视差,picoJava-Ⅰ和picoJava-Ⅱ,由Sun微系统的嵌入式Java虚拟机和字节代码固件设计组成的单片机。 二系统比较在图2中所描绘的标准的微控制器(MCU)语言设计,就是用户写入装配程序为目标MCU和编译每个系统的机器代码。 在这情况下,用户必须为8051和
4、PIC制定方案2。 在图3中,用户安装字节码解释器,既然后在8051和PIC单片机写入程序字节代码指令集。 在这种情况下,用户写程序只有1次。 三翻译框图这里解释的MCU有3个部分,他们如图4被加以描述。 VM控制器是翻译的核心,它控制读取/执行和状态的命令,IF,ELSE,REPEAT和GOTO。 VMEXECUTE是字节码解码器。 外围是硬件模块。 它包括,并口,串口,I2C端口,定时器,液晶口和算术函数。 在图5系统流程图描述中MCU后复位后,解释器从内置闪存取出字节码。 条件1将被选中,不管它是正
5、常的任务或任务的条件。 如果是正常的任务,接下来的字节码会被解码为正常。 如果不是,解释器之前会去下一个命令,检查情况。 完成该操作之后,程序计数器(PC)将被提高到下一行地址。 A.数据堆栈解释器被设计成具有16级数据栈。 该优势数据栈是,存储条件的结果指令值IF/ELSE和WAITUNITL并从结果算术命令。 数据堆栈示例被描绘在图6中。 00,02,09,01,00,06,00,01,40,01,35,1C,0A00,02行程序地址09SUM01条件1(IF语句)00没有条件206数字IF语句的奴隶00
6、这是主线01,40推送数据40H到当前栈01,35数据推35至下一个栈1C比较均等字节码0A在堆栈比较数据和堆栈+1,结果将在堆。 B字节码格式字节码格式由7份组成,图7中所描绘那样。 AddrH和ADDRL是16位地址线。 (最大为65535行)SUM使用字节中的每一行(ADDRL,AddrH和SUM不包括在内)1是首要条件。 2是次要条件。 CondListH,在以下情况下,如果条件1不为00H平等00H这是从行地址。 不等于00H这是主线地址。 CondListL,在以下情况下,如果条件1不为00H平等
7、00H这是主线地址。 不等于00H这是从行地址。 8位的命令。 C.Byte代码指令集该指令集被归类为2个部分没有条件的命令对于没有条件的命令,条件1将是00H,条件2CondListH和CondListL将不会出现在行中。 在图8中格式描绘实施例如对于本命令TX232,RX232,I2CSTART,I2CWRITE,LCD,WAITTIME,OUTPORT和INPORT。 命令条件对于条件命令包括,IF,ELSE,REPEAT和GOTO。 在图9中,格式条件1描绘会不会是00H和条件2为00h保留进一步使用。
8、 解释器设计有8级IF和ELSE的命令。 在图10中显示了3个级别IF命令和2ELSE命令的水平。 对于IF命令,字节码01H-08H被保留,81H-88H是为IF行结束保留。 ELSE命令,字节码09H-0FH保留和ELSE行结束89H-8FH保留。 为重复命令,解释器被设计为8个水平。
此文档下载收益归作者所有