基于PIC单片机机器人控制系统开发要点.pdfVIP

基于PIC单片机机器人控制系统开发要点.pdf

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

PIC单片机软件开发技巧

:单片机及嵌入式系统应用作者:矿业大学胡伊兰程红;自动化岳红强

笔者的项目是有关机器人控制的实现。控制部分采用PICl6F7X系列单片机,运用汇编

语言编程,运行速度较快,能够达到系统的要求。在这里使用的大多是数字信号的控制,电

机的控制只有开和合两种状态。在动作的过程中需要两只、身体、头部、脚部等的协调

动作。整个控制系统比较复杂,因而在PIC程序编写和空间分配方面需要注意一些问题。

1动作标志位的使用

在整个控制中,组合的动作很多,当所有动作定位都通过光电开关控制时,在程序编写

上就有一些问题。如要求左手上升到鼓掌位、右手上升到举手位(手初始位置在最下的放下

位),光电开关0有效(即为0时是挡住),到达正确位置。用简单的理解可以写成下面的程

序:

listP=16c73

calllefthandup

callrighthandup

LOcallreadinsignal

bdsscsl_v,1efthandligbts

calllefthandstop

btfsccsl_v,righthandlight4

gotoL0

callrighthandstop

L1callreadinsignal

btfsccsl_v,lefthandlight3

gotoL1

calllefthandstop

lefthandlight表示光电开关,由此判断是否到相应的位置。1表示在最下面的位置;

PIC单片机软件开发技巧

来:单片机及嵌入式系统应用作者:矿业大学胡伊兰程红;自动化岳红强

PICl6F7XPICl6F7X语言编程,运行速度较快,能够达到系统的要求。这里使用的大

多是数字信号的控制,电机的控制只有开合两种状态。在动作的过程中需要、身体、

头部、脚部等的协调动作。整个控制系统比较复杂,因而在PIC程序编写和空间分配方面

需要注意一些问题。

1动作标志位的使用

首页上存在一些问题。如要求左手上升到鼓掌位、右手腕上升到举手位(手最终位置

在最低的下落位),光电开关0有效(为0时即挡住),到达正确位置。用简单的理解可以

写成下面的程序:

列表P=16c73调用

lefthandup调用

righthandupLO调用

readinsignalbdss

csl_v,1efthandligbts调用

lefthandstopbtfsc

csl_v,righthandlight4转到

L0调用righthandstopL1调

用readinsignalbtfsc

csl_v,lefthandlight3转到

L1调用lefthandstop:

lefthandlight表示光电开关,由此判断是否到相应的位置。1表示在最下面的位置;

2表示在的握手位置;3表示在的鼓掌位置;4表示在的高举手位置。上面程

序描写左上升到举手位置和右上升到鼓掌位置并停止的过程。先判断左手到达否,

到达则左手停止,接着看右手是否到达举手位,到达则停止,否则循环上述的检测,直到左

手到达鼓掌位,右手到达举手位。

注意,这里的3,4表示的就是鼓掌位,举手位。经过循环检测可以让停在各位上,

然而机械动作是有惯性的,机械停止位可能在该位的上一点或下一点,这就影响下面动作的

进行,可能在若干动作后机械动作出现失常,也就是程序没法正常的运行。在此情况下,需

要修改程序的编写方式,采用标志位来控制动作的进行。如果采用控制标志位,一定要在动

作子函数中对标志位置零。程序如下:

listp=16c73

actlonstopflagequOx6e;位定义

lefthandfla8cqu0x0;0表示停止左手动作

rightbandflagequOxl;O表示停止右手动作

movlwOx03

movWfactionstopflag

calllefthanduo

call

您可能关注的文档

文档评论(0)

182****0328 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档