XR Block图形化编程软件下载:http://www.wifi-robots.com/thread-8367-1-1.html
XR Block不仅支持Arduino版本的机器人小车,同时也支持51duino版本的机器人小车,由于8051单片机开发环境相对比较封闭,所以在使用XR Block对机器人进行编程时,需要多做几步操作。
一、XR Block运行环境的搭建
1、到http://www.oracle.com/technetwor ... nloads-2133151.html下载JDK,由于XR Block基于Java运行环境,所以电脑需要安装JDK。
要注意,32位系统安装X86的,64位系统安装X64的JDK,过程就不详细阐述了,安装完毕后,需要配置JAVA环境变量:
计算机→属性→高级系统设置→高级→环境变量
系统变量→新建 JAVA_HOME 变量 。 变量值填写jdk的安装目录(以实际路径为准,比如D:\Java\jdk1.7.0)
系统变量→寻找 Path 变量→编辑 在变量值最后输入 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; (注意原来Path的变量值末尾有没有;号,如果没有,先输入;号再输入上面的代码)
系统变量→新建 CLASSPATH 变量 变量值填写 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(注意最前面有一点) 系统变量配置完毕
2、到www.51duino.cn——>开发文档或到http://www.wifi-robots.com/thread-8046-1-1.html下载51duino_SDK_V2.0,解压。
3、百度下载Keil 4 for C51安装,破解之类的参考网上教程。
二、使用XR Block对机器人小车编程
1、完成JDK的安装之后,就可以直接双击运行小R科技发布的XR Block图形化编程软件了,请注意要把软件最顶上主板类型设为“51duino”。
点击左侧的“小R科技”栏,可以看到我们提供的各种传感器、外设以及动作指令,把需要的传感器或逻辑块拖到右侧,根据逻辑流程挨个镶嵌上去。注意的是,我们的管脚是可以输入数字和字母的,如果是51duino平台,不能输入字母,否则无法生成代码,原因大家都知道:8051单片机管脚是没有英文字母的。
如下例子:定义了红外光电开关的管脚号为P2^3,当探测到前方障碍物时,P2^3管脚电平会变低电平,此时机器人停止,否则继续前进。
对应生成的C代码为:
- #include "stc_new_8051.h"
- #include "motor.h"
- #include "Config.h"
- #include "stdio.h"
- #include "uart.h"
- sbit Sensor_Pin_23=P2^3;
- extern uint8 Left_Speed;
- extern uint8 Right_Speed;
- extern uint8 Left_Speed_Hold;
- extern uint8 Right_Speed_Hold;
- void main(void)
- {
- UART_init();
- Timer1_Init();
- while(1)
- {
- if (Sensor_Pin_23==0)
- {
- MOTOR_GO_STOP;
- }
- else
- {
- Left_Speed_Hold=Left_Speed=10;
- Right_Speed_Hold=Right_Speed=10;
- MOTOR_GO_FORWARD;
- }
- }
- }
复制代码
2、完成编辑之后,点击右上角的“生成代码”按钮,如果逻辑无误,变量名称没有错误,XR Block会弹出一个文件保存对话框,默认的文件名为main.c,请不要修改文件名称。
3、把生成的main.c文件拷贝到51duino_SDK_V2.0工程的Source文件夹中,替换原有的main.c文件。
4、双击51duino_SDK.uvproj项目文件,keil会打开项目工程
5、点击Keil左上角的“编译(build)”按钮,即可开始编译代码。
6、如代码无误,编译完成后在51duino_SDK文件夹中找到51duino_SDK.hex,这就是生成的固件,把USB-TTL串口线连接电脑和51duino主控板串口,用STC-ISP软件把固件烧录到51duino主控板,就可以看到效果了
更多关于51duino主控板的接口说明和开发文档请参阅51duino中国首页:www.51duino.cn
51duino核心的机器人小车可以到这里选购:https://wifi-robots.taobao.com/category-1271470520.htm?spm=a1z10.5-c-s.w4010-15160605205.9.5S6Imn&search=y&parentCatId=476917702&parentCatName=%D0%A1R%BF%C6%BC%BC%BB%FA%C6%F7%C8%CB%D0%A1%B3%B5&catName=51duino%2851%B5%A5%C6%AC%BB%FA%29%D0%A1%B3%B5%CC%D7%BC%FE#bd
|