- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
机器人课堂 Page 1 of 10
本章包含的内容:
n 什么是RCX?
n 使用乐高RCX编码
n 使用NQC语言编程
n
使用其它语言编程
n 如何组织程序代码
n 建立独立的任务
6.1介绍
我们在序言中说过,本书的内容并不是关于编程的——因为关于程序语言设计和技术,并且
特别是编RCX的程序已经很多好资源。不过,机器人技术 (经常叫机械电子学)综合了机械,
电子和软件等学科,你不可能放弃驱动机器的软件而来讨论机器人技术。同样地,在你的头
脑中对机器人没有一个大概的构架,你也不可能编写出程序。尽管我们主要谈论关于搭建的
技术,但是一些项目在硬件和软件之间有很强的联系,他们之间是相辅相成的,因此我们不
能跳过这一章的介绍,本书中只包含了一些基础的程序实例。。
在前一章中,我们多次提到RCX,假如你已熟悉了MINDSTORMS工具包内的文件,了解了什么是
RCX .现在我们就进一步的来了解RCX的一些特性。我们将描述它的结构,然后熟悉几种编程
语言的环境,从而选择你喜欢的语言。我们主要讨论两种编程环境: RCX代码-工具包提供的
图形化编程语言和NQC-一种最适用于RCX编程的独立语言。
这章的最后的一部分提供了一些完整代码的例子,目的是帮助你怎么能写出易懂、易修改的
程序代码。通过本章的介绍,你就会对编程结构有一个清晰的认识。
6.2什么是RCX?
RCX就是一个电脑。我们知道,电脑一般有键盘,鼠标和显示器——即我们用于对计算机进行
信息输入的设备——但是RCX没有。它只有一个很小的显示屏、3个输入接口、3个输出接口、
4个按钮,以及一个红外发射装置 (IR)。实际上,RCX更象工业上用的控制器,而不是台式
电脑。那么,既然没有通用的输入界面,又如何为RCX编写程序?首先:你在PC上写程序,然
后通过红外发射仪 (用于连接PC和RCX的设备)将程序传输给RCX,最后,由RCX执行命令。
那么,RCX是如何工作的呢?设想一个多层的结构,其底部是一个日立H8300处理器,以执行
机器代码指令。该处理器有数据寄存器及程序存储器,通过辅助设备,将输入端口的模拟信
息转换成数字信息。同大多数计算机一样,RCX的存储器有两类:只读存储器 (ROM)和随机
存储器 (RAM)。ROM内的内容是只读的,不能改变,因为它是烧入芯片的,然而RAM里数据可
以更换或修改。在RAM里需要连续的电源来保留内容。当关闭电源,所有内容将会丢失。
当你打开新的RCX前,其内部ROM里已经存有一些代码,以保证RCX的一些基本功能:输入端口
信号转换、显示、输出端口控制及与IR的通信。如果你熟悉个人电脑的结构,你可以将ROM代
码与基本输入、输出系统 (BIOS)作一比较,低级机器代码在启动时会负责计算机的导入和
外部设备接口连接。
仅有ROM代码的RCX如同只有BIOS的个人电脑。在ROM的上部,有RCX“固件”,就像计算机的
操作系统。术语 “固件”表示使用者通常不能用任何方式改变的软件;它是系统的一部分并
且提供基本功能,就像计算机的操作系统。在RCX里,固件不象ROM代码那样是直接烧制在系
统里,而是储存在内部RAM里,你利用红外设置从PC上下载它。乐高固件是在你安装
MINDSTORMS CD-ROM时拷贝到你的PC上,并且通过红外设备传递到RCX里。
2009-4-15
机器人课堂 Page 2 of 10
固件不是整个RCX系统的最上层:在它的上面有用户的代码和数据,储存在与固件相同的RAM
内,但是从逻辑角度来看,用户代码属于更高一级。前面介绍过,我们先在PC上写代码,然
后通过红外发射仪传输给RCX。在PC机上安装的MINDSTORMS软件,称为RCX编码,可以将你的
程序翻译成简单的字节码形式 (生成图形模块)。RCX可以接收经过IR发射仪传输的字节码并
储存在RAM里。当你按下RUN按钮,固件开始翻译代码并且并将其指令转化为动作。
警告
因为固件被保存在RAM里,因此,一旦RCX断电时间超过数秒,固件将丢失,要重新使用R
文档评论(0)