《[电子设计]红外遥控六足爬虫机器人设计yo.docx》由会员分享,可在线阅读,更多相关《[电子设计]红外遥控六足爬虫机器人设计yo.docx(42页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、六足爬虫虫机器人人设计设计人:李海鹰鹰日期:220044年9月月30日日目 录前言2(一)、机机器人的的大脑22(二)、机机器人的的眼睛耳耳朵2(三)、机器人的腿驱动器与驱动轮3(四)、机机器人的的手臂机械械传动专专制4(五)、机机器人的的心脏电池池4一、ATT89SS51单单片机简简介5(一)、AT89S51主要功能列举如下:5(二)、AT89S51各引脚功能介绍:5二、控制制系统电电路图77三、微型型伺服马马达原理理与控制制8(一)、微微型伺服服马达内内部结构构8(二)、微微行伺服服马达的的工作原原理8(三)、伺伺服马达达的控制制9(四)、选选用的伺伺服马达达9四、红外外遥控111(一)、
2、红外遥控系统11(二)、遥控发射器及其编码11(三)、红红外接收收模块111(四)、红红外解码码程序设设计111五、控制制程序112六、六足足爬虫机机器人结结构设计计图188前言今年年初初,学校校为参加加中央电电视台举举办的第第三届全全国大学学生机器器人电视视大赛,组组建了机机器人制制作小组组。我积积极参加加,有幸幸成为了了其中的的一员。因因为我们们以前没没有参加加过类似似的比赛赛,也没没有制作作机器人人的经验验。可以以说我们们什么都都是从零零开始,边边学习边边制作。通通过这半半年多的的制作过过程,我我从中学学到了很很多书本本上学不不到的东东西,也也得到了了很好的的学习与与锻炼的的机会。最初,
3、我我们组建建了机器器人制作作实验室室。到五五金机电电市场购购买了必必要的工工具和一一些制作作材料。然然后开始始制作实实验机器器人的身身体框架。实验机器器人的框框架我们们是使用用轻型万万能角钢钢制作的的,这种种角钢的的两侧都都有间隔隔均匀的的孔槽,可可以很方方便的用用螺栓进进行连接接。用不不同长度度的角钢钢组合后后,就可可以得到到不同大大小的立立方体和和长方体体及多边边形。机机器人身身体的框框架就搭搭建好了了。在它它的上面面将装上上:机器器人的大大脑可编程程控制器器、机器器人的眼眼睛耳朵朵传感感器、机机器人的的腿驱动轮轮、机器器人的手手臂机械传传动专制制、机器器人的心心脏电池之所以以使用轻轻型万
4、能能角钢,主主要是因因为是在在制作试试验机型型,而轻轻型万能能角钢安安装拆卸卸方便和和便于修修改长度度,调整整设计。实验机器器人定型型后,就就照其尺尺寸用不不锈钢方方管焊接接制作机机器人的的身体。再再在上面面进行打打孔等工工作,后后就可以以将机器器人的其其它部分分安装上上去。这这样一个个机器人人就制作作好了。下面我介介绍一下下机器人人的基本本组成部部分:(一)、机机器人的的大脑它可以有有很多叫叫法,可可以叫做做:可编编程控制制器、微微控制器器,微处处理器,处处理器或或者计算算器等,不不过这都都不要紧紧,通常常微处理理器是指指一块芯芯片,而而其它的的是一整整套控制制器,包包括微处处理器和和一些别
5、别的元件件。任何何一个机机器人大大脑就必必须要有有这块芯芯片,不不然就称称不上机机器人了了。在选选择微控控制器的的时候,主主要要考考虑:处处理器的的速度,要要实现的的功能,RROM和和RAMM的大小小,I/O端口口类型和和数量,编编程语言言以及功功耗等。其主要类类型有:单片机机、PLLC、工工控机、PPC机等等。单有这些些硬件是是不够的的,机器器人的大大脑还无无法运行行。只有有在程序序的控制制下,它它才能按按我们的的要求去去工作。可可以说程程序就是是机器人人的灵魂魂了。而而程序是是由编程程语言所所编写的的。编程语言言是一个个控制器器能够接接受的语语言类型型,一般般有C语语言,汇汇编语言言或者b
6、basiic语言言等,这这些通常常能被高高级一点点的控制制器直接接执行,因因为在高高级控制制器里面面内置了了编译器器能够直直接把一一些高级级语言翻翻译成机机器码。微微处理器器将执行行这些机机器码,并并对机器器人进行行控制。(二)、机机器人的的眼睛耳耳朵传感器,是是机器人人的感觉觉器官,是是机器人人和现实实世界之之间的纽纽带,使使机器人人能感知知周围的的环境情情况。其其主要有有:光电电传感器器、红外外传感器器、力传传感器、超超声波传传感器、位位置和姿姿态传感感器等等等。下面面我将就就几种常常用传感感器进行行介绍:1、光电电传感器器:光电电传感器器的原理理是光电电效应。其其主要用用途是颜颜色识别别
7、(机器器人就可可以沿着着地上的的线条行行进了)和和光电编编码等。2、红外外传感器器:红外外传感器器是用来来测量距距离和感感知周围围情况的的。因为为发射出出去的红红外信号号在一定定距离内内遇到物物体就会会反射回回来。通通过发送送红外线线信号,并并接收反反射回来来的信号号,机器器人就可可以感知知前方或或身体周周围的情情况,做做出相应应的调整整(如:倒退或或绕行等等)。3、力传传感器:力传感感器是用用来检测测碰撞或或者接触触信号的的,比如如机械手手的应用用,当你你放一个个东西到到机械手手的时候候,机械械手自动动抓住它它,它就就需要力力传感器器检测东东西抓的的紧不紧紧。典型型的力传传感器是是微动开开关
8、和压压敏传感感器。微微动开关关其实就就是一个个小开关关,通过过调节开开关上的的杠杆长长短,能能够调节节触动开开关的力力的大小小。用来来做碰撞撞检测这这是最好好不过了了。但是是这种传传感器必必须事先先确定好好力的阀阀值,也也就是说说只能实实现硬件件控制(开开还控制制)。而而压敏传传感器是是能根据据受力大大小,自自动调节节输出电电压或者者电流,从从而可以以实现软软件控制制(闭环环控制)。4、超声声波传感感器:超超声波传传感器是是从蝙蝠蝠那里学学来的,通通过把发发射出的的信号与与接收到到的信号号进行对对比,就就可以测测定周围围是否有有障碍物物,及障障碍物的的距离,也也属于距距离探测测传感器器,能提提
9、供交远远的探测测范围,而而且还能能提供在在一个范范围内的的探测而而不是一一条线的的探测。5、位置置和姿态态传感器器:机器器人在移移动或者者动作的的时候必必须时时时刻刻知知道自己己的姿态态动作,否否则就会会产生控控制中的的一个开开环问题题,没有有反馈,无无法获知知运动是是否正确确。位置置传感器器和姿态态传感器器就是用用来解决决这个问问题的。常常用的有有光电编编码器,由由于机器器人的执执行机构构一般是是电机驱驱动,通通过计算算电机转转的圈数数,可以以得出电电机带动动部件的的大致位位置,编编码器就就是这样样一种传传感器,它它一般和和电机轴轴或者转转动部件件直接连连接,电电机或者者转动部部件转了了多少
10、圈圈或者角角度能够够通过编编码器读读出,控控制软件件再根据据读出数数据进行行位置估估计计算算。还有有一种是是陀螺仪仪,这是是利用陀陀螺原理理制作的的传感器器,主要要可以测测得移动动机器人人的移动动加速度度,转过过的角度度等信息息。(三)、机器人的腿驱动器与驱动轮驱动器就就是驱动动机器人人的动的的部件。最最常用的的是电机机了。当当然还有有液压,气气动等别别的驱动动方式。一一个机器器人最主主要的控控制量就就是控制制机器人人的移动动,无论论是自身身的移动动还是手手臂等关关节的移移动,所所以机器器人驱动动器中最最根本和和本质的的问题就就是控制制电机,控控制电机机转的圈圈数,就就可以控控制机器器人移动动
11、的距离离和方向向,机械械手臂的的弯曲的的程度或或者移动动的距离离等。所所以,第第一个要要解决的的问题就就是如何何让电机机能根据据自己的的意图转转动。一一般来说说,有专专门的控控制卡和和控制芯芯片来进进行控制制的。有有了这些些控制卡卡和芯片片,我们们所要做做的就是是把微控控制器和和这些连连接起来来,然后后就可以以用程序序来控制制电机了了。第二二个问题题是控制制电机的的速度,在在机器人人上的实实际表现现就是机机器人或或者手臂臂的实际际运动速速度了,机机器人走走的快慢慢全靠电电机的转转速,这这样,我我们就要要求控制制卡对电电机有速速度控制制。电机机目前常常用的有有两种,步步进电机机和直流流电机。下下
12、面我将将就这两两种电机机进行介介绍:1、直流流电机:这是最最最普通通的电机机了。直直流电机机最大的的问题是是你没法法精确控控制电机机转的圈圈数,也也就前面面所说的的位置控控制。你你必须加加上一个个编码盘盘,来进进行反馈馈,来获获得实际际转的圈圈数。但但是直流流电机的的速度控控制相对对就比较较简单,用用一种叫叫PWMM(脉宽宽调速)的的调速方方法可以以很轻松松的调节节电机速速度。现现在也有有很多控控制芯片片带调速速功能的的。选购购时要考考虑的参参数是电电机的输输出力矩矩,电机机的功率率,电机机的最高高转速。 2、步步进电机机:看名名字就知知道了,它它是一步步一步前前进的。也也就是说说,它可可以一
13、个个角度一一个角度度旋转,不不象直流流电机,你你可以很很轻松的的调节步步进电机机的转角角位置,如如果你发发一个转转10圈圈的指令令,步进进电机就就不会转转11圈圈,但是是如果是是直流电电机,由由于惯性性作用,它它可能转转11圈圈半。步步进电机机的调速速是通过过控制电电机的频频率来获获得的。一一般控制制信号频频率越高高,电机机转的越越快,频频率越低低,转的的越慢。选选购时要要考虑的的参数是是电机的的输出力力矩,电电机的功功率,每每个脉冲冲电机的的最小转转角。 还有就就是关于于输出的的动力,要要说明一一下:一一般情况况下,电电机都没没法直接接带动轮轮子或者者手臂,因因为速度度过高力力矩不够够大,所
14、所以我们们需要加加上一个个减速箱箱来增加加电机的的输出力力矩,但但是代价价是电机机速度的的减小,比比如一个个1:2250的的齿轮箱箱,会让让你电机机的输出出力矩增增大2550倍,但但是速度度只有原原来的11/2550了。首首先计算算出机器器人所需需要的速速度与力力矩大小小,然后后根据速速度与力力矩去选选择电机机与减速速器。(四)、机机器人的的手臂机械械传动专专制机械传动动专制就就是,由由电机驱驱动的一一些杆件件和机构构(如:凸轮机机构、螺螺杆机构构等),用用以实现现机械手手臂的上上升、下下降、伸伸缩、弯弯曲等动动作。通通常运用用的机构构有四杆杆机构、凸凸轮机构构、螺杆杆机构、摇摇臂等。(五)、
15、机机器人的的心脏电池池电池为机机器人的的控制系系统与驱驱动系统统提供能能源供应应。主要要有:电电瓶及可可充电电电池、电电池。前面介绍绍了机器器人的一一些基本本知识,但但这是远远远不够够的。机机器人学学科,是是在多学学科基础础上发展展起来的的综合性性技术。机机器人技技术涉及及机械、电电子、计计算机、语语言学和和人工智智能等许许多学科科。现在在机器人人已经应应用在人人类社会会生活的的各个领领域,发发挥着越越来越重重要的影影响。我利用暑暑假的时时间设计计了一个个六足爬爬虫机器器人,用用日立(HHITAACHII)的录录像机遥遥控器来来对它进进行控制制。基本本原理是是:遥控控器发出出红外学学号,机机器
16、人通通过红外外接收器器接收倒倒红外信信号后,对对信号进进行解码码,并以以存储的的代码进进行比较较,确定定指令的的含义,后后可以实实现前进进、后退退、左转转、右转转及发声声等功能能。控制制系统我我使用的的是ATT89SS51单单片机,编编程语言言使用的的是汇编编语言,动动力系统统使用的的是微型型伺服马马达,能能源系统统使用的的是9VV电池。下下面我将将就具体体设计进进行介绍绍。一、ATT89SS51单单片机简简介AT899S511 为 ATMMEL 所生产产的可电电气烧录录清洗的的 80051 相容单单芯片,其其内部程程序代码码容量为为4KBB(一)、AAT899S511主要功功能列举举如下:1
17、、为一一般控制制应用的的 8 位单芯芯片2、晶片片内部具具时钟振振荡器(传传统最高高工作频频率可至至 122MHzz)3、内部部程式存存储器(RROM)为为 4KKB4、内部部数据存存储器(RRAM)为为 1228B5、外部部程序存存储器可可扩充至至 644KB6、外部部数据存存储器可可扩充至至 644KB7、322 条双双向输入入输出线线,且每每条均可可以单独独做 II/O 的控制制8、5 个中断断向量源源9、2 组独立立的 116 位位定时器器10、11 个全全多工串串行通信信端口11、887511 及 87552 单单芯片具具有数据据保密的的功能12、单单芯片提提供位逻逻辑运算算指令(二
18、)、AAT899S511各引脚脚功能介介绍:VCC:AT899S511 电源源正端输输入,接接+5VV。VSS:电源地端端。XTALL1:单芯片系系统时钟钟的反相相放大器器输入端端。XTALL2:系统时钟钟的反相相放大器器输出端端,一般般在设计计上只要要在 XXTALL1 和和 XTTAL22 上接接上一只只石英振振荡晶体体系统就就可以动动作了,此此外可以以在两引引脚与地地之间加加入一 20PPF 的的小电容容,可以以使系统统更稳定定,避免免噪声干干扰而死死机。RESEET:AT899S511的重置置引脚,高高电平动动作,当当要对晶晶片重置置时,只只要对此此引脚电电平提升升至高电电平并保保持两
19、个个机器周周期以上上的时间间,ATT89SS51便便能完成成系统重重置的各各项动作作,使得得内部特特殊功能能寄存器器之内容容均被设设成已知知状态,并并且至地地址00000HH处开始始读入程程序代码码而执行行程序。EA/VVpp:EA为英文文Exxterrnall Acccesss的的缩写,表表示存取取外部程程序代码码之意,低低电平动动作,也也就是说说当此引引脚接低低电平后后,系统统会取用用外部的的程序代代码(存存于外部部EPRROM中中)来执执行程序序。因此此在80031及及80332中,EEA引脚脚必须接接低电平平,因为为其内部部无程序序存储器器空间。如如果是使使用 887511 内部部程序
20、空空间时,此此引脚要要接成高高电平。此此外,在在将程序序代码烧烧录至887511内部EEPROOM时,可可以利用用此引脚脚来输入入21VV的烧录录高压(VVpp)。ALE/PROOG:ALE是是英文Adddresss LLatcch EEnabble的缩写写,表示示地址锁锁存器启启用信号号。ATT89SS51可可以利用用这支引引脚来触触发外部部的8位位锁存器器(如774LSS3733),将将端口00的地址址总线(AA0AA7)锁锁进锁存存器中,因因为ATT89SS51是是以多工工的方式式送出地地址及数数据。平平时在程程序执行行时ALLE引脚脚的输出出频率约约是系统统工作频频率的11/6,因因此
21、可以以用来驱驱动其他他周边晶晶片的时时基输入入。此外外在烧录录87551程序序代码时时,此引引脚会被被当成程程序规划划的特殊殊功能来来使用。PSENN:此为PProggramm Sttoree Ennablle的的缩写,其其意为程程序储存存启用,当当80551被设设成为读读取外部部程序代代码工作作模式时时(EAA=0),会会送出此此信号以以便取得得程序代代码,通通常这支支脚是接接到EPPROMM的OEE脚。AAT899S511可以利利用PSSEN及及RD引引脚分别别启用存存在外部部的RAAM与EEPROOM,使使得数据据存储器器与程序序存储器器可以合合并在一一起而共共用644K的定定址范围围。
22、PORTT0(PP0.00P00.7):端口0是是一个88位宽的的开路汲汲极(OOpenn Drrainn)双向向输出入入端口,共共有8个个位,PP0.00表示位位0,PP0.11表示位位1,依依此类推推。其他他三个II/O端端口(PP1、PP2、PP3)则则不具有有此电路路组态,而而是内部部有一提提升电路路,P00在当做做I/OO用时可可以推动动8个LLS的TTTL负负载。如如果当EEA引脚脚为低电电平时(即即取用外外部程序序代码或或数据存存储器),PP0就以以多工方方式提供供地址总总线(AA0AA7)及及数据总总线(DD0DD7)。设设计者必必须外加加一锁存存器将端端口0送送出的地地址栓锁
23、锁住成为为A0A7,再再配合端端口2所所送出的的A8A155合成一一完整的的16位位地址总总线,而而定址到到64KK的外部部存储器器空间。PORTT2(PP2.00P22.7):端口2是是具有内内部提升升电路的的双向II/O端端口,每每一个引引脚可以以推动44个LSS的TTTL负载载,若将将端口22的输出出设为高高电平时时,此端端口便能能当成输输入端口口来使用用。P22除了当当做一般般I/OO端口使使用外,若若是在AAT899S511扩充外外接程序序存储器器或数据据存储器器时,也也提供地地址总线线的高字字节A88A115,这这个时候候P2便便不能当当做I/O来使使用了。PORTT1(PP1.0
24、0P11.7):端口1也也是具有有内部提提升电路路的双向向I/OO端口,其其输出缓缓冲器可可以推动动4个LLS TTTL负负载,同同样地若若将端口口1的输输出设为为高电平平,便是是由此端端口来输输入数据据。如果果是使用用80552或是是80332的话话,P11.0又又当做定定时器22的外部部脉冲输输入脚,而而P1.1可以以有T22EX功功能,可可以做外外部中断断输入的的触发脚脚位。PORTT3(PP3.00P33.7):端口3也也具有内内部提升升电路的的双向II/O端端口,其其输出缓缓冲器可可以推动动4个TTTL负负载,同同时还多多工具有有其他的的额外特特殊功能能,包括括串行通通信、外外部中断
25、断控制、计计时计数数控制及及外部数数据存储储器内容容的读取取或写入入控制等等功能。其引脚分分配如下下:P3.00:RXXD,串串行通信信输入。P3.11:TXXD,串串行通信信输出。P3.22:INNT0,外外部中断断0输入入。P3.33:INNT1,外外部中断断1输入入。P3.44:T00,计时时计数器器0输入入。P3.55:T11,计时时计数器器1输入入。P3.66:WRR:外部部数据存存储器的的写入信信号。P3.77:RDD,外部部数据存存储器的的读取信信号。二、控制制系统电电路图控制系统统电路图图三、微型型伺服马马达原理理与控制制(一)、微微型伺服服马达内内部结构构一个微型型伺服马马达
26、内部部包括了了一个小小型直流流马达;一组变变速齿轮轮组;一一个反馈馈可调电电位器;及一块块电子控控制板。其其中,高高速转动动的直流流马达提提供了原原始动力力,带动动变速(减减速)齿齿轮组,使使之产生生高扭力力的输出出,齿轮轮组的变变速比愈愈大,伺伺服马达达的输出出扭力也也愈大,也也就是说说越能承承受更大大的重量量,但转转动的速速度也愈愈低。微型伺服马达内部结构图(二)、微微行伺服服马达的的工作原原理一个微型型伺服马马达是一一个典型型闭环反反馈系统统,其原原理可由由下图表表示:微行伺服马达工作原理图减速齿轮轮组由马马达驱动动,其终终端(输输出端)带带动一个个线性的的比例电电位器作作位置检检测,该
27、该电位器器把转角角坐标转转换为一一比例电电压反馈馈给控制制线路板板,控制制线路板板将其与与输入的的控制脉脉冲信号号比较,产产生纠正正脉冲,并并驱动马马达正向向或反向向地转动动,使齿齿轮组的的输出位位置与期期望值相相符,令令纠正脉脉冲趋于于为0,从而而达到使使伺服马马达精确确定位的的目的。(三)、伺伺服马达达的控制制标准的微微型伺服服马达有有三条控控制线,分分别为:电源、地地及控制制。电源源线与地地线用于于提供内内部的直直流马达达及控制制线路所所需的能能源,电电压通常常介于44V6V之间间,该电电源应尽尽可能与与处理系系统的电电源隔离离(因为为伺服马马达会产产生噪音音)。甚甚至小伺伺服马达达在重
28、负负载时也也会拉低低放大器器的电压压,所以以整个系系统的电电源供应应的比例例必须合合理。输入一个个周期性性的正向向脉冲信信号,这这个周期期性脉冲冲信号的的高电平平时间通通常在11ms2mss之间,而而低电平平时间应应在5mms到20mms之间间,并不不很严格格,下表表表示出出一个典典型的220mss周期性性脉冲的的正脉冲冲宽度与与微型伺伺服马达达的输出出臂位置置的关系系:(四)、选选用的伺伺服马达达我选用的的伺服马马达为TTowPPro的的,型号号为SGG3033。其主主要技术术参数如如下:l 转速:00.233秒660度。l 力矩:33.2kkgcm。l 尺寸:440.44mm19.8mmm
29、36mmm。l 重量:337.22g。l 5V电源源供电。控制周期期脉冲宽宽度为220mss。送出出不同的的正脉冲冲宽度是是,就可可以得到到不同的的控制效效果。控控制正脉脉冲宽度度如下:l 正脉冲宽宽度为00.3mms时,伺伺服马达达反转。l 正脉冲宽宽度为22.5mms时,伺伺服马达达正转。l 正脉冲宽宽度为11.4mms时,伺伺服马达达回到中中点。四、红外外遥控家中许多多的电器器产品都都有遥控控的功能能,例如如电视机机、录像像机、VVCD、空空调等家家电产品品,它们们都是以以红外遥遥控的方方式进行行遥控。(一)、 红外遥控系统通用红外外遥控系系统由发发射和接接收两大大部分组组成,应应用编/
30、解码专专用集成成电路芯芯片来进进行控制制操作,如如图1所所示。发发射部分分包括键键盘矩阵阵、编码码调制、LLED红红外发送送器;接接收部分分包括光光、电转转换放大大器、解解调、解解码电路路。(二)、 遥控发射器及其编码遥控发射射器专用用芯片很很多,根根据编码码格式可可以分成成两大类类,这里里我们以以运用比比较广泛泛,解码码比较容容易的一一类来加加以说明明,现以以日本NNEC的的uPDD61221G组组成发射射电路为为例说明明编码原原理。当当发射器器按键按按下后,即即有遥控控码发出出,所按按的键不不同遥控控编码也也不同。这这种遥控控码具有有以下特特征:采用脉宽宽调制的的串行码码,以脉脉宽为00.
31、5665mss、间隔隔0.556mss、周期期为1.1255ms的的组合表表示二进进制的“00”;以以脉宽为为0.5565mms、间间隔1.6855ms、周周期为22.255ms的的组合表表示二进进制的“11”,其其波形如如图2所所示。上述“00”和“11”组成成的322位二进进制码经经38kkHz的的载频进进行二次次调制以以提高发发射效率率,达到到降低电电源功耗耗的目的的。然后后再通过过红外发发射二极极管产生生红外线线向空间间发射。遥控编码码是连续续的322位二进进制码组组,其中中前166位为用用户识别别码,能能区别不不同的电电器设备备,防止止不同机机种遥控控码互相相干扰。该该芯片的的用户识
32、识别码固固定为十十六进制制01HH;后116位为为8位操操作码(功功能码)及及其反码码。UPPD61121GG最多额额1288种不同同组合的的编码,如如图3所所示。遥控器在在按键按按下后,周周期性地地发出同同一种332位二二进制码码,周期期约为1108mms。一一组码本本身的持持续时间间随它包包含的二二进制“00”和“11”的个个数不同同而不同同,大约约在455633ms之之间,图图4为发发射波形形图。(三)、红红外接收收模块左图为一一常用的的红外接接收模块块。其内内部含有有高频的的滤波电电路,专专门用来来滤除红红外线合合成信号号的载波波信号(338KHH),并并送出接接收到的的信号。当当红外
33、线线合成信信号进入入红外接接收模块块,在其其输出端端便可以以得到原原先发射射器发出出的数字字编码,只只要经过过单片机机解码程程序进行行解码,便便可以得得知按下下了哪一一个按键键,而做做出相应应的控制制处理,完完成红外外遥控的的动作。红外接收模块(四)、红红外解码码程序设设计红外解码码程序主主要工作作为等待待红外线线信号出出现,并并跳过引引导信号号,开始始收集连连续322位的表表面数据据,存入入内存的的连续空空间。位位信号解解码的原原则是:以判断断各个位位的波宽宽信号来来决定高高低信号号。位解解码原理理如下:l 解码为00:低电电平的宽宽度0.56mms+高高电平的的宽度00.566ms。l 解
34、码为11:低电电平的宽宽度1.68mms+高高电平的的宽度00.566ms。程序中必必须设计计一精确确的0.1mss延时时时间作为为基础时时间,以以计数实实际的波波形宽度度,若读读值为55表示波波形宽度度为0.5mss,若读读值为116表示示波形宽宽度为11.6mms,以以此类推推。高电电平的宽宽度1.12mms为固固定,因因此可以以直接判判断低电电平的宽宽度的计计数值55或时116,来来确定编编码为00或是11。程序序中可以以减法指指令SUUBB来来完成判判断,指指令“SUBBB A,RR2”中若RR2为计计数值,AA寄存器器设为88,就可可如下:l 当“8R2”有产生生借位,借借位标志志C
35、=11,表示示编码为为1。l 当“8R2”无产生生借位,借借位标志志C=00,表示示编码为为0。将借位标标志C经经过右移移指令“RRCC AA”转入AA寄存器器中,再再经由RR0寄存存器间接接寻址存存入内存存中。详细解码码程序请请参看“红外遥遥控爬虫虫机器人人ASMM程序”中的“红外解解码子程程序”。五、控制制程序; 红外外遥控爬爬虫机器器人ASSM程序序;-HOMEEEQUU 114 ;伺伺服马达达回到中中点时间间常数BACKKEQUU 33 ;伺服服马达反反转时间间常数FOR EQQU 25 ;伺伺服马达达正转时时间常数数; -;遥控器器按键116比比较码CODEE_K11 EEQU 19
36、9H ;机机器人前前进比较较码CODEE_K22 EEQU 188H ;机机器人后后退比较较码CODEE_K33 EEQU 0AAH ;机机器人左左转比较较码CODEE_K44 EEQU 099H ;机机器人右右转比较较码CODEE_K55 EEQU 0BBH ;机机器人回回到中点点比较码码CODEE_K66 EEQU 144H ;机机器人行行走启动动进比较较码; -IRCOOM EQQU 30HH ;红外外线信号号解码数数据放置置变量起起始地址址COM EEQU 322H ;比比较第33字节变变量; -IRINN EQUU PP3.22 ;红红外线IIR信号号输入位位引脚定定义WLEDDEQ
37、UU PP3.77 ;发发光二极极管引脚脚定义SPK EQQU P3.4 ;压电电喇叭引引脚定义义DJZ EQQU P1.0 ;中间间伺服马马达引脚脚定义DJL EQQU P1.1 ;左侧侧伺服马马达引脚脚定义DJR EQQU P1.2 ;右侧侧伺服马马达引脚脚定义; -ORGG 00H ;程序代代码由地地址0开开始执行行JMPP BBEGIIN ;进入主主程序; -BEGIIN:CLR DJJZ ;关闭中中间伺服服马达 CCLR DJJL ;关闭左左侧伺服服马达CLR DJJR ;关闭右右侧伺服服马达CLR SPPK ;关闭压压电喇叭叭 CALLL LEDD_BLL ;发光二二极管闪闪烁,表
38、表示程序序开始执执行 CALLL BZ ;压电电喇叭发发出嘀的的一声 CALLL GO_HOMME ;全部部伺服马马达回到到中点 CALLL LEDD_BLL ;发光二二极管闪闪烁,表表示机器器人准备备完毕 CALLL BZ ;压电电喇叭发发出嘀的的一声CALLL QQD ;运运行行走走启动子子程序,摆摆好行走走姿态SETBB IIRINN ;红外线线信号IIR输入入位设为为高电平平,准备备接收红红外信号号LOOPP:MOVV RR0,#IRCCOM ;设置IIR解码码起始地地址CALLL IR_IN ;进行IIR解码码CALLL OOP ;进进行解码码比较,并并控制机机器人动动作 JMMP LLOOPP ;继续续循环执执行; -DELAAY:MOVV R6,#500 ;10mms延时时子程序序D1: MOOV R77,#999 DJJNZ R77,$ DJJNZ R66,D11 DJJNZ R55,DEELAYY REET; -LED_BL: MMOV R1,#4 ;发光二二极管闪闪烁子程程序LE1: CPLL WWLEDD ;发光二二极管反反向 MOVV RR5,#10 CCALLL DDELAAY ;进进行1000mss延时 DDJNZZ RR1,LLE1 RRET; -