ImageVerifierCode 换一换
格式:DOCX , 页数:91 ,大小:1.24MB ,
资源ID:1394135      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-1394135.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(roboBASIC命令手册汇编Word格式.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

roboBASIC命令手册汇编Word格式.docx

1、STATE输出端口状态PULSE发送脉冲信号到输出端口TOGGLE反转输出端口状态KEYIN接受模拟键盘输入与存储有关的命令PEEK从控制器RAM中读取数据POKE写数据到控制器RAM中ROMPEEK从控制器外部EEPROM中读取数据ROMPOKE写数据到控制器外部EEPROM与LCD相关的命令LCDINIT初始化LCD模块CLS清除LCD模块中所有字符LOCATE设置在LCD模块中文字显示位置PRINT 在LCD模块中显示文字FORMAT设置LCD模块的数据显示格式CSON在LCD模块中显示光标CSOFF 在LCD模块中隐藏光标CONT设置LCD显示屏上文字显示亮度DEC输出十进制数到LCD

2、HEX输出十六进制数到LCDBIN输出二进制数到LCD操作数相关操作AND使用逻辑与条件表达式OR使用逻辑或条件表达式MOD求余XOR使用逻辑异或条件表达式NOT对所有位求反与电机控制相关的命令ZERO设置电机0点(中心点)MOTOR 开启电机MOTOROFF关闭电机MOVE同时操作多个电机SPEED设置电机速度ACCEL设置电机加速度DIR设置电机方向PTP开启/关闭同时电机控制操作SERVO 控制单个电机PWM直流电机的脉冲宽度控制FASTSERVO以最大速度转动伺服电机HIGHSPEED开启/关闭伺服电机的高速模式MOVEPOS根据声明的位置转动电机POS设置机器人特定姿势FPWM改变脉

3、冲宽度和频率MOVE24同时操作24个电机INIT设置初始运动姿态MOTORIN读取电机当前位置值AIMOTOR设置使用AI电机AIMOTOROFF取消使用AI电机AIMOTORIN读取AI电机当前位置值SETON设置使用setup功能SETOFF退出setup功能ALLON对所有电机设置setup功能ALLOFF退出对所有电机的setup功能GETMOTORSET读取电机当前值并保持当前位置MOTORMODE设置电机模式电机组分配相关参数G6A将0-5号电机分配给A组G6B将6-11号分配给B组G6C把12-17分配给C组G6D把18-23分配给D组G6E把24-29分配给E组G8A把0-7

4、分配给A组G8B把8-15分配给B组G8C把16-23分配给C组G8D把24-31分配给D组G12分配0-11号伺服电机G16分配0-15号伺服电机G24分配0-23号伺服电机G32分配0-31号伺服电机与声音控制相关的命令BEEP用压电蜂鸣器发出警告声SOUND用压电蜂鸣器发出声音PLAY用压电蜂鸣器播放歌曲MUSIC用压电蜂鸣器播放音乐TEMPO设置声音节奏与外部通信相关的命令RX通过RX端口接收RS232信号TX通过TX端口传输RS232信号MINIIN通过mini通讯端口接收miniBUS信号MINIOUT通过mini通讯端口传输miniBUS信号ERXETX模拟信号处理相关命令AD从

5、AD端口读取模拟信号值REMOCON从红外远程控制器中读取按键值SONAR从超声波端口读取距离RCIN从RC(遥控器)读取输入值GYRODIR根据陀螺仪(gyro)输入的设置电机转动方向GYROSET给电机组分配相应的陀螺仪进行控制GYROSENSE设定相对应电机组里电机的陀螺仪传感器灵敏度处理跳转命令ON.GOTO根据变量值进行相应跳转其它命令RND产生一个随机数REMARK文本注释开头标记伪命令$DEVICE 设置控制器由正在运行的程序来操作$LIMIT限制电机转动范围$INCLUDE文件包含注:表示该命令在MR-C2000系列控制器中使用表示该命令在MR-C3000系列控制器中使用表示该

6、命令在MFC3024FX控制器中使用第二章 roboBASIC语法概要由于roboBASIC语法是基于通用BASIC编程语言之上的,因此roboBASIC类似于BAISC语言。以下主要叙述roboBASIC的常见语法。标识符集 roboBASIC标识符集由汉字、英文字母、数字和特殊文字组成。列于下表中的符号,在roboBAISC语言中具有其特殊含义。符号说明+加-减*乘/除%.位指定号&数字?文本字符串:标志=相等或赋值大于位左移位右移表达式及运算符 表达式是可以计算出数值的组合,该组合由常数、变量以及数字与可用操作运算符连接组成。运算符对给定值执行算术或者逻辑运算。在roboBASIC语言中

7、,运算符分类如下表所示。类别功能算术运算符执行算术计算关系运算符比较数值大小逻辑运算符比较组合条件或者执行位运算位运算符按位运算 算术运算符是执行计算的标识符。和一般BASIC语言一样,+、-、*、/、%(或MOD)在roboBASIC中也可以使用,但在roboBASIC和BASIC间有些不同的地方。1)运算符中没有优先级 在roboBAISC中,不准使用括号()运算符号。例: A=1,B=2,C=3 对于常规的BAISC语言,A+B*C=1+2*3=1+6=7,即乘法优先于加法。对于该式,如果要先进行加法,则需要把该式改为(A+B)*C; 而对于roboASIC语言,运算符没有优先级,按顺序

8、从左往右运算,如A+B*C=1+2*3=3*3=9;2)复杂的数学计算会产生意想不到的错误 因此,复杂数学计算式应该分解为2次或3次计算。 D=A*B+C (通过) F=A*B/C*D+E (避免复杂算术计算)3)roboBASIC只支持字节类型(BYTE)和整型(INTEGER),因此输出的小数点将被忽略。求余计算使用%或MOD,输出结果为余数。关系运算 关系运算符用来比较两个值。数值比较结果为TRUE或FALSE。数值比较结果主要用于IF语句中的程序流向控制。运算符关系表达式等于A = B不等于A 小于等于= B大于等于当算术运算和逻辑运算组合到一个式子里时,算术运算符优先于逻辑运算符。逻

9、辑运算逻辑运算符用来逻辑比较组合条件。计算结果返回TRUE或FALSE。输出用来于IF条件语句的控制程序流向。与或异或每个运算的输出如下表所示。下表中的“T”代表TRUE,“F”代表FALSEX与Y的值结果XYX AND YX OR YX XOR YTF位运算位运算可以为机器人控制器中每个变量执行计算,这样更容易对输入/输出端口进行按位控制。位运算有位或(OR)、位与(AND)以及位异或三类。在roboBASIC语言中,运算符左移“”和“.”用来移动某一位到指定位置。设A的值为33(二进制形式为00100001),B的值为15(二进制形式为00001111),对两数使用相应的位运算符时可得到以

10、下结果。运算A AND B1(0000 0001)A OR B47(0010 1111)A XOR B46(0010 1110) 166(0100 0010)16(0001 0000)A.01(A的第0位)同一条指令中使用多个运算符时,将以下顺序计算。1) 算术运算/位运算2) 关系运算3) 逻辑运算数字、变量、常数以及其它语法解释 因为roboBASIC为控制硬件专门开发的语言,所以不支持通用BAISC所支持的与字符串相关的变量或者常量。数据类型 roboBASIC语言中,数据类型分为字节类型与整型两类。相对应数据类型的数值范围如下表所示。数字类型存储大小范围字节型(BYTE)1个字节(8位

11、)0255整型(INTEGER)2个字节(16位)065535 RoboBASIC语言不支持负数。因此,运算表达式中不可以在数字之前添加“+”与“-”来表示正负数,否则表达式运算会出错。 变量声明应选用合适的数字类型,以便于节省存储空间。进制数 由于roboBASIC用来控制硬件,因此使用十六进制数、二进制数以及八进制数比使用十进制数更为方便。在roboBASIC中,可以使用二进制数(BIN)、八进制数(OCT)、十进制数(DEC)以及十六进制数(HEX),各个进制数的表示方法如下表所示。声明可用数字例子二进制数B0,1B111101八进制数O0,2,7O75十进制数无0,1,2,961十六进

12、制数H0,1,2,9,A,B,FH3D常量和变量在程序执行过程中,常量的值不发生变化。roboBASIC语言可定义类似于字节类型(BYTE)和整型(INTEGER)的常量。常量类型根据数的范围自动确定。一旦常量被定义,就不能再被定义了。定义常量对程序大小没有影响。当使用某些频繁的数字时,可把它们定义为常量,这样程序修改会变得更为方便可靠。例如: CONST OFF = 0 CONST motor_1 = 3CONST motor_1_speed = 200用于程序中的变量是数据存储位置的名字。在迷你机器人控制器中,使用的变量数是有限,因此变量声明应设计为在符合对象要求的情况下使变量所占用的存储

13、量最小。 DIM motor_1_delay AS INTEGER DIM sensor_left AS BYTE声明常量或变量时,遵守以下规则:1) 首字母用英语字母或者汉字。汉字、英文、数字与“_”可用在变量名和常量名中。2) 常量名和变量名的长度不可超过64个字符。3) 相同常量名和变量名只能声明一次,即不能重复声明,不区分大小写。4) 声明的常量值不得超过65535,否则会出错 roboBASIC使用的变量可进行位运算。位运算可使用位指定符“.” ,可指定字节变量的07位或者整型变量的015。位运算必须使用变量或者常量作为操作数。DIM A AS INTEGERCONST BIT_2

14、= 2A.1 = 1A.BIT_2 = 0A.3 = IN(1) 从端口1读数并赋给整型变量A的第三位OUT 2,A.1 将A的第一位的值传给端口2注释语句 在编写程序时,适当穿插代码注释可便于程序的有效管理与创建。为了在程序中插入注释性语句,需要在注释性语句前添加“”或者“REMARK”命令。在程序编译过程中,会自动忽略注释性语句,因此不会影响程序的执行。赋值(=) 赋值语句用来给变量赋值,使用符号“=” 。赋值(=)符号的左边为被赋值的变量,其右边为变量、字符串、表达式或者函数。 A=B 变量B的值赋给变量A A.1=1 给变量的指定位赋值 A=ADIN(0) 运用函数给变量赋值 A=3*

15、2-1 数值运算式给变量赋值 A=C+B-A 变量运算式给变量赋值 A=1 字符串赋值给变量行标记 行标记用来指示指令在整个程序里的位置。行标记由字母和数字组成,可分为文字标记名与数字标记名两类。行标记的使用规则如下:1) 文字标记名不得超过64个字符,第一个字符必须为汉字或者英文。2) 文字标记名后必须用标记符号“:”3) 数字标记名可使用065535之间的数字,不需要标记符“:” 4) 标记名不得重复声明,不分大小写通常,行标记用于程序流程控制,如GOTO命令与GOSUB命令。 DIM A AS INTEGERSTART:A = IN(0)IF A = 0 THENGOTO STARTGO

16、SUB 1010 OUT 1,0DELAY 100OUT 1,1第三章 声明命令的说明这些指令用于声明定义变量和常量。DIM AS 命令格式 1.单一变量声明: DIM 变量名 AS 变量类型 2.多变量同时声明: DIM 变量名 AS 变量类型, 变量名 AS 变量类型, .命令说明 在roboBASIC编程语言中,变量使用之前必须使用DIM进行变量的强制声明,另外须用AS来指定所声明的变量类型。变量的命名按变量命令规则来命名。变量不能重复声明定义。 变量用来接收处理传感器采集信号值或者模拟信号的转换值。因此合适的使用变量,可使程序的创建更加灵活。可使用的变量数目根据每个机器人控制器类型来定

17、。 MR-C2000系列用于存储变量的空间大小少于30字节。MR-C3000系列用于存储变量的空间大小少于254字节。字节型变量所需存储空间为1个字节,整型变量所需存储空间为2个字节,因此必须合理的声明定义变量以免产生变量存储空间的不足。命令示例 DIM I AS INTEGER 声明整型变量I DIM J AS BYTE 声明字节型变量J CONST COSNT 常量名 = 数字 为有特定意义或者经常使用的数值指定常量名可以简化程序的编写工作。相对于数字与变量,使用常量有以下优点:1) 常量一经定义,整个程序都可使用2) 常量不会由于失误而改变常量值3) 容易修改4) 常量不会占用大量的存储

18、空间 CONST OFF = 0 声明常量OFF=0 CONST A = &B1001 声明常量A为 二进制数1001,即十进制数9第四章 流程控制命令的说明这些命令用于控制或者执行程序的流程IF THEN条件判断语句1. 单一条件(多行形式)IF 条件 THEN 条件为真时的执行语句或者(单行形式)IF 条件 THEN 条件为真时的执行语句2. 两个条件(多行形式)IF 条件 THEN 条件为真时的执行语句 ELSE 条件为假时的执行语句IF 条件 THEN 条件为真时的执行语句 ELSE 条件为假时的执行语句3. 多重条件IF 条件1 THEN 条件1为真时的执行语句ELSEIF 条件2

19、THEN 以上条件为假且条件2为真时的执行语句.ELSEIF 条件n THEN 以上条件为假且条件n为真时的执行语句 以上条件都为假时的执行语句 当IFTHEN语句被执行时,首先判断IF的条件。如果这个条件为真,那么THEN后面的语句将被执行。如果这个条件为假,则按顺序判断紧接着的ELSEIF条件,如果条件为真,则执行THEN后面的语句,如果都为假,则进行最后的ELSE条件语句。这里的ELSEIF可根据需要决定是否需要添加。 在roboBASIC语言中,为了按照外部输入来进行操作以及保存来自外部值到某一变量中,条件语句IFTHEN是不可或缺的。条件语句判断变量的值,并且根据该变量的值使机器人做

20、相应的动作。1) 条件语句中条件与语句的执行很简单。两种放在同一行。IF A0 THEN B=5IF A 5 THEN B=0 ELSE B=12) IF语句中的条件可以是条件表达式,当用关系运算符时可使用两种条件。0 AND A5 THEN B=3IF A=7 OR A=9 THEN B=13) 复杂形式的IF语句使用例子IF A = 1 THEN B=2 C=3ELSEIF A=3 AND A=5 THEN B=1C=2 ELSEIF A=8 THEN B=6 C=0 ELSE B=0 ENDIFFOR NEXT 按照给定的次数循环执行 FOR 循环次数变量 = 起始值 to 终值 循环语

21、句 NEXT 循环次数变量 循环次数变量为循环的次数变量。起始值为循环次数变量的初始值,终值为循环次数变量的终值。数字、常量以及变量都可以作为起始值与终值。 在roboBASIC中, 终值必须大于起始值。循环次数变量会随着程序的执行逐步的增加。FOR NEXT语句的使用必须符合以下规则:1) FOR NEXT语句能嵌套在另一个FOR NEXT语句中。FOR I = 1 TO 10 FOR J = 1 TO 5 .NEXT JNEXT I2) 当使用多个FOR NEXT语句时,NEXT 循环次数变量必须按照相对应的FOR顺序排列。不正确正确尽管在不正确的例子中循环变量的顺序发生改变,但是该错误不

22、影响程序目标代码的生成,但是当该目标代码下载到迷你机器人的控制器内时将发生不可预料的结果3) FOR NEXT语句不允许从循环体外进入循环体内,但允许从循环体内跳出到循环体外。可以 IF I=5 THEN GOTO 20.20 不可以GOTO 4040 4)循环次数变量、起始值以及终值不能在FOR NEXT循环语句中武断的改变。 连接LED到控制器的0号端口,并使它闪烁5次。 DIM A AS BYTE 声明循环语句中所需的循环次数变量 FOR A = 1 TO 5 重复次数5次 OUT 0 , 0 点亮LED DELAY 100 延时0.1s OUT 0 , 1 关闭LED NEXT AGO

23、TO 跳转到指定位置 GOTO 行标志GOTO命令通过跳转到代码中的指定行而改变程序的执行流程。由于GOTO命令会使程序极度地复杂化,因此不要频繁地使用该语句。 DIM I AS INTEGER DIM J AS BYTE I=7 IF I=6 THEN GOTO L1 .L1: J=1 OUT I , JGOSUB RETURN 调用子程序并返回 GOSUB 行标志 . 行标志: . RETURNGOSUB命令调用频繁使用的子程序,然后返回。运用这种方法,GOSUB语句可以使程序更小更灵活。在一个子程序可以在调用第二个子程序。在MR-C2000系列中,该类嵌套不得超过4次;在MR-C3000系列中,该类嵌套不得超过5次。否则,会发生错误。 DIM LED_PORT AS INTEGER LED_PORT = 1 . GOSUB LED_TOGGLE GOTO START ENDLED_TOGGLE: TOGGLE LED_PORT RETURN结束程序的运行 当控制器开启2s后,存于EEP

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2