首页 51版:机器人游高铁文档说明

51版:机器人游高铁文档说明

举报
开通vip

51版:机器人游高铁文档说明C51版机器人游高铁说明书www.openirobot.com2013中国教育机器人大赛机器人游高铁竞赛演示程序说明(该演示程序是基于C51教学板)深圳市中科鸥鹏智能科技有限公司2014年8月-1-C51版机器人游高铁说明书www.openirobot.com-2-目录第一章...............................................................................................3机器人游高铁比赛简介1.1比赛简介............

51版:机器人游高铁文档说明
C51版机器人游高铁说明 关于书的成语关于读书的排比句社区图书漂流公约怎么写关于读书的小报汉书pdf www.openirobot.com2013中国教育机器人大赛机器人游高铁竞赛演示程序说明(该演示程序是基于C51教学板)深圳市中科鸥鹏智能科技有限公司2014年8月-1-C51版机器人游高铁说明书www.openirobot.com-2-目录第一章...............................................................................................3机器人游高铁比赛简介1.1比赛简介.........................................................................................................................31.2比赛规则.........................................................................................................................31.3裁判.................................................................................................................................41.4比赛方式.........................................................................................................................41.5其它细则.........................................................................................................................4第二章.......................................................................................................5组装游高铁机器人2.1.......................................................................................................5游高铁机器人零件2.2...............................................................................................7游高铁机器人安装说明第三章......................................................................................13QTI传感器说明和测试程序3.1...........................................................................................................13QTI传感器说明3.2QTI传感器电路连接说明.............................................................................................133.3编写QTI传感器的测试程序.........................................................................................14第四章....................................................................................17RFID读卡器说明和测试程序4.1RFID读卡器介绍...........................................................................................................174.2RFID读卡器电路连接与读取标签卡程序...................................................................19第五章语言芯片播报介绍和驱动程序.....................................................................................255.1WT588D语音芯片介绍.................................................................................................255.2语音芯片三线控制时序及驱动控制程序...................................................................27第六章机器人游高铁演示程序示例.........................................................................................306.1机器人游高铁算法说明...............................................................................................306.2机器人游高铁程序.......................................................................................................33C51版机器人游高铁说明书www.openirobot.com第一章机器人游高铁比赛简介1.1比赛简介比赛目的: 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 一个基于单片机的小型轮式机器人从起始城市出发游览赛前抽签决定的城市,并回到出发城市。比赛内容与任务:2014年“机器人游中国”竞赛项目要求参赛机器人在规定时间内,从“长沙”出发游历赛前抽签决定的12个城市,并最后返回出发城市。机器人类型比赛时间:舵机轮式机器人5分钟。1.2比赛规则(1)比赛场地①比赛场地为长3000mm×1500mm的长方形区域,底部为白色,场地是2014年中国高铁通车线路图。比赛地图材料:为广告灯布,参赛队伍必须从技术委员会指定的厂家购买。比赛时,参赛队可以使用自行采购的地图(包含标签卡),或者采用比赛组委会提供的地图。比赛地图见后面附图。②地图上的高铁道路由宽度约2cm的黑色引导线组成,城市节点由内圆直径为35mm、宽度为10mm的黑色圆环标示,圆环中间为白色,并粘贴厚度为1mm,直径为35mm的白色RFID圆形标签卡。2014年的地图上有28个城市节点。(2)参赛队员和机器人数量每支代表队由3个参赛队员和3台机器人组成(1人1机),每个机器人比赛1次,每次只允许1台机器人比赛。(3)机器人要求①控制器要求:只能使用大赛组委会指定厂家的控制器。②参赛机器人只限定使用组委会指定厂家的舵机轮式移动机器人,参赛队可以在此基础上进行改装,但是不能修改车轮直径和电机。③参赛机器人必须带有面包板,传感器连接要在面包板上实现。④机器人尺寸:机器人在地面投影不超出:长250mm×宽140mm。⑤机器人重量:≤800g。⑥在满足规则的前提下,可以对机器人的机械和传感器进行扩展。所用的扩展传感器只能采用大赛组委会指定的品牌,或者由用户完全自制的传感器,不得采用非组委会指定的品牌。⑦电源要求:机器人所用的电池最大供电电压不得超过DC9V。(4)城市抽签和比赛计分①地图共有28个城市节点,2014年的比赛从“长沙”出发,需要游览12个城市。12个城市中有8个是提前指定的必游城市,4个是赛前抽签决定的城市。2014年的必游城市是:深圳、上海、北京、西安、南京、武汉、郑州和沈阳,其它4个城市在赛前抽签决定。②每个游览城市的分值为2分,机器人到达每一个城市节点后读取节点的RFID标签值以确定城市名称。如果确认是需要游览城市,就通过语音播放的模式将城市名称播放出来得2分,没有播放出来不得分。如果将非游览城市播放出来或者将城市播错扣1分。-3-C51版机器人游高铁说明书www.openirobot.com-4-③游完所有城市回到出发城市并停下来,得1分。每个机器人的满分为25分。④成功游览每个城市的标志是,比赛机器人完整的播报出游览城市的名称。⑤机器人在游览过程中不能进行180度的掉头,只能前进、后退和转弯。掉头1次扣1分。⑥取3台机器人的总成绩作为代表队的成绩,总成绩计算方法:3队城市分数的总和,以及3台机器人完成时间的总和。1.3裁判每场比赛将委派两名裁判执行裁判工作,一名技术裁判,一名计时裁判。裁判员在比赛过程中的判罚不容争议,若有异议,待比赛结束后,可拿出证据(如:视频资料等)向技术委员会提起申诉。裁判员职责:①核对参赛队伍和参赛机器人及所用器材的资质。②组织和控制比赛进程。③监督比赛所有犯规现象并记录。④记录比赛成绩和时间。1.4比赛方式①正式比赛前,由参赛队员将面包板上的所有接线拆除后统一收回,并摆放在指定位置。②由裁判组织4个参赛队的代表抽签决定余下4个需要游览的城市。③由裁判组织各个队抽签决定各队出场比赛顺序。④裁判宣布比赛开始,各参赛队领回各自的机器人,开始接线、修改和调试程序。一个小时后收回参赛机器人并放回指定位置。⑤按照抽签决定的比赛顺序,领取机器人,在规定的5分钟内完成比赛并由裁判记录成绩,即每个机器人游览城市的得分和完成比赛的时间。⑥比赛开始前20分钟,所有参赛队必须到达比赛现场,否则视为放弃比赛。1.5其它细则①在比赛过程中参赛机器人不能盲走,必须循迹行走。如果脱离黑色轨迹行走超过2秒钟视为本次比赛结束。②每个游览的城市节点只能播放一次,若多次播放同一城市,每多播一次扣一分。③回到出发城市的标志是机器人的车体全部遮挡住城市节点。④在规定时间内,游历的城市越多得分越高,排名越靠前。如果两队分数相同,以时间短的参赛队排名靠前。⑤参赛机器人在裁判命令开始比赛后10秒不能运动的,不计得分。⑥比赛过程中不能人为干扰机器人完成比赛任务,一旦机器人启动则必须自主完成比赛任务,否则不计得分。⑦比赛队伍之间相互借用机器人,则不计算相关队伍得分。⑧在比赛过程中,对裁判判罚有争议且找裁判理论的,裁判有权取消该队成绩。C51版机器人游高铁说明书www.openirobot.com第二章组装游高铁机器人2.1游高铁机器人零件QTI线跟踪套件8个锂电池套件2套RFID读卡器1个电源模块1块C51教学板1块扩展学习版1块12mm铜柱10个8mm+6铜柱4个25mm铜柱5个25mm+6铜柱4个30mm铜柱2个语音播放套件1套龙人宝贝对象1套电源插座1个1*6金属杆件4个开槽金属杆件4个螺钉20个螺母20个杜邦线10根尼龙垫片10个以下为游高铁机器人部分零件实物图。图2.1QTI线跟踪传感器图2.2锂电池及锂电池充电器-5-C51版机器人游高铁说明书www.openirobot.com图2.3RFID读卡器图2.4电源模块图2.5C51教学板图2.6扩展学习板图2.78mm+6、12mm、25mm、25mm+6、30mm铜柱-6-C51版机器人游高铁说明书www.openirobot.com图2.8龙人宝贝对象图2.9电源插座图2.10开槽、1*6金属杆件2.2游高铁机器人安装说明准备好游高铁机器人上小节列出的机器人游高铁零件,安装以下描述的安装方式安装游高铁机器人。(1)使用8根12mm铜柱将2个电机安装在龙人宝贝车体的两侧,使用4个12mm铜柱将万向轮安装在龙人宝贝车体尾部的下部。如图2.11和图2.12所示为2个电机和万向轮的安装示意图。万向轮后前图2.11电机和万向轮的安装上部图图2.12电机和万向轮的安装下部图(2)使用4根25mm铜柱和4个垫片将C51教学板安装在龙人宝贝车体的上部,4个垫片的作用是防止螺钉与开发板的焊接点接触。首先固定4个铜柱,再将C51教学板固定在铜柱上,在使用螺钉固定C51教学板前在螺钉上放垫片防止螺钉与开发板焊接点有接触。如图2.13所示为C51教学板安装方式图。-7-C51版机器人游高铁说明书www.openirobot.com图2.13C51教学板安装方式图(3)构建2个固定QTI固定框架,该固定框架使用2个开槽金属杆件和2个1*6金属杆件。QTI的固定方式如图2.14所示。图2.14QTI固定框架图(4)搭建5个由8mm+6铜柱和25mm+6铜柱连接而成的33mm+6的铜柱,该铜柱可以通过旋转螺纹改变自身的长度。如图2.15所示为搭建的33mm+6可调节长度的铜柱。图2.1533mm+6可调节长度的连接铜柱(5)将4个33mm+6可调铜柱安装在车体下方,如图2.16为4个33mm+6可调铜柱和1个25mm+6铜柱安装图。图2.16的4个红圆圈是4个33mm+6可调铜柱,1个蓝圆圈是25mm+6铜柱。-8-C51版机器人游高铁说明书www.openirobot.com图2.1633mm+6可调铜柱和25mm铜柱安装图(6)将两个电池盒安装在小车后方,安装方式如图2.17所示。图2.172个电池盒安装在小车后方(7)安装电源模块,将电源模块安装在小车的侧后方,使用2个12mm的铜柱将电源模块安装在小车的侧后方。如图2.18所示为电源模块安装效果图。(注意:电源模块给RFID读卡器独立供电,但电源模块的地必须与C51教学板的地相连。)图2.18电源模块安装效果图(8)将RFID读卡器安装于车体下部。RFID读卡器安装在小车的25mm铜柱所在位置。RFID读卡器的具体安装可以参考图2.19所示。-9-C51版机器人游高铁说明书www.openirobot.com图2.19RFID读卡器安装实物图(9)小车的下方有4个33mm+6可调铜柱未使用,将金属架和8个QTI传感器安装在这4个33mm+6可调铜柱上。如图2.19为QTI安装图。图2.19QTI安装图(10)电源插座接线焊接和安装。按照图2.20所示焊接电源插座与电源模块的连接导线,红色线是正极,黑色线是负极。将焊接好的电源插座安装小车上,并与电源模块连接,如图2.21所示为电源插座与电源模块连接方式。(特别注意:电源插座的连接线与没有标正负极的固定端相连,有正负极的一端不能与电源插座连接。)电源插座与电源模块连接通过电源插座,电池盒与电源模块相连。图2.20电源插座接线焊接图图2.21电源插座与电源模块连接图(11)为前方QTI贴上一层纸用于遮光,防止外界光线干扰QTI传感器检测黑线。如图2.22为前方QTI贴上遮光纸的效果图。后方QTI不用贴遮光纸,因为后方QTI位于车体的下方,车体起到遮光的作用。-10-C51版机器人游高铁说明书www.openirobot.com遮光纸图2.22前方QTI贴遮光纸效果图(12)使用30mm+6铜柱将扩展学习板安装在C51教学板上方,安装方式参考图2.23、图2.24和图2.25。用于固定扩展学习板的铜柱扩展学习板图2.23扩展学习板安装效果图1图2.24扩展学习板安装效果图2-11-C51版机器人游高铁说明书www.openirobot.com扩展学习板用于固定扩展学习板的铜柱图2.25扩展学习板安装效果图3(13)最后把语音芯片插在面包板上,安装效果如图2.26所示。语音芯片扬声器图2.26语音芯片插在面包板上效果图游高铁机器人安装到此基本成型,剩下的部分是:电路连接和程序设计部分。-12-C51版机器人游高铁说明书www.openirobot.com第三章QTI传感器说明和测试程序3.1QTI传感器说明本项目使用的QTI(QuickTrackInfrared)传感器如图3.1所示。它由一个红外发射器和红外接收器封装而成,封装的QTI传感器有3个引脚。3引脚说明:SIG引脚是红外接收器的信号引脚;VCC引脚是电源引脚;GND引脚是电源地引脚。SIG引脚与单片机I/O口相连,单片机只需接收SIG引脚发回的0/1信号就可判断QTI传感器探测到的是黑色物体还是非黑色物体,如果接收信号为0则QTI传感器探测到的是非黑色物体,如果接收信号为1则QTI传感器探测到的是黑色物体。QTI传感器的性能参数如下。工作温度:-40°C~85°C;工作电压:5V;连续电流:50mA;功耗:100mW;最佳探测距离:5~10mm;最佳距离下的最大散射角度:65°;响应时间:上升沿时间10ms,下降沿时间50ms。QTI传感器的接口如图19.3所示,将传感器上的光电管面朝上时,如图3.2(a)所示,三个引脚依次为:GND、VCC、SIG,其背面有具体的标记,如图3.2(b)为光电管面朝下时的图像。传感器3个引脚的具体定义如下。GND:电源地线;VCC:5V直流电源;SIG:信号输出。图3.1QTI传感器图(a)(b)3.2QTI传感器电路连接说明游高铁机器人共使用8个QTI传感器,机器人前面安装4个QTI传感器,后图3.2QTI传感器引脚图面安装4个传感器。前后QTI传感器的编号方式参照图3.3所示。-13-C51版机器人游高铁说明书www.openirobot.com图3.3前后QTI编号方式说明图下面用表格说明8个QTI的连线方式,如表3.1所示。表3.18个QTI传感器的SIG引脚与C51教学板的连接表QTI传感器编号 SIG引脚 C51教学板I/O口 QTI1 SIG P00 QTI2 SIG P01 QTI3 SIG P02 QTI4 SIG P03 QTI5 SIG P04 QTI6 SIG P05 QTI7 SIG P06 QTI8 SIG P07 所有QTI GND GND 所有QTI VCC 5V 3.3编写QTI传感器的测试程序电路连接好后,接下来要写一个测试程序,以检查各个QTI传感器是否连接正确并正常工作。测试程序完成如下功能。a)读取每个QTI传感器信号引脚的电平高低;b)将读取的结果通过串口送到PC显示。(1)测试程序QTI.c该程序为测试前方4个QTI传感器,如想测试后方4个QTI直接将测试程序的qtis=P0&0x0f改为qtis=P0&0xf0,并将qtis=qtis/16语句的注释去掉。#include<Boebot.h> #include<uart.h> int qtis=0; int main(void) {     uart_Init();     //  串口通信初始化  delay_nms(2000);  while(1)  {  QTI8QTI7后右QTI6QTI5前右左QTI4QTI3QTI2QTI1左-14-C51版机器人游高铁说明书www.openirobot.com  qtis=P0&0x0f;  // qtis=qtis/16;   switch(qtis)   {    case 0: printf("QTI  :0000 \n");break;    case 1: printf("QTI  :0001 \n");break;    case 2: printf("QTI  :0010 \n");break;    case 3: printf("QTI  :0011 \n");break;    case 4: printf("QTI  :0100 \n");break;    case 5: printf("QTI  :0101 \n");break;    case 6: printf("QTI  :0110 \n");break;    case 7: printf("QTI  :0111 \n");break;    case 8: printf("QTI  :1000 \n");break;    case 9: printf("QTI  :1001 \n");break;    case 10: printf("QTI  :1010 \n");break;    case 11: printf("QTI  :1011 \n");break;    case 12: printf("QTI  :1100 \n");break;    case 13: printf("QTI  :1101 \n");break;    case 14: printf("QTI  :1110 \n");break;    case 15: printf("QTI  :1111 \n");break;   }        delay_nms(500);   } } (2)程序子说明程序首先调用uart_Init()函数,对串口通信进行设置,设定串口通信波特率为9600。延时2s,再进入while(1)大循环。大循环内执行检测前方4个QTI传感器的状态,并通过串口发送4个QTI传感器的状态值。大循环内的qtis=P0&0x0f表示取P0系列引脚的低4位状态值,每次获取4个QTI传感器状态值的时间间隔为0.5s。运算方式如下:P00P01P02P03P04P05P06P07&11110000=P00P01P02P030000编译测试程序,并连接好硬件电路。再将程序下载如C51单片机中,打开电源观察串口调试助手接收到的数据。当QTI安装的高度比较高时,则该QTI传感器检测到的值总是1;当QTI安装的高度比较低时,则该QTI传感器检测到的值总是0。利用测试程序调节QTI的高度,使QTI传感器在黑线上方时,显示的值为1,在非黑线上方时,显示的值为0。4个QTI传感器调节到合适高度后,4个QTI传感器检测黑线就比较灵敏,如图3.4是4个QTI传感器检测黑线的状态值。-15-C51版机器人游高铁说明书www.openirobot.com图3.4串口调试助手监视4个QTI状态图-16-C51版机器人游高铁说明书www.openirobot.com第四章RFID读卡器说明和测试程序4.1RFID读卡器介绍(1)特点低功耗被动读取RFID标签串口通信,波特率2400bps输入使能允许软件启用或禁用双色LED状态显示图4.1RFID读卡器图(2)兼容性只能读取EM4100无源只读系列125KHZ标签卡,每个标签包含一个唯一的标识符,240中的某一个,或1,099,511,627,776种可能组合。由RFID射频识别卡(RFID读卡器)读到后,通过串行接口传输。(3)通讯协议当RFID射频识别卡开始工作,并且,RFID标签放置在有效读取的范围内。唯一的ID以12位ASCII字符串以下方式发生给主机。如表4.1为RFID读卡器发送信息串表。表4.1RFID读卡器发送信息串表起始位唯一号 停止位 0x0A 位1 位2 位3 位4位5 位6位7位8位9位100x0D 单片机接收RFID读卡器发回的信息串时,其起始位和停止位有助于识别一个正确的接收信息串。中间10位是实际标签唯一ID号。例如,一个标签有效ID是0F0184F07A,将按照如下位来发送:$0A,$30,$46,$30,$31,$38,$34,$46,$30,$37,$41,$0D。-17-C51版机器人游高铁说明书www.openirobot.com所有的通讯都是8个数据位,无校验,1个停止位和最低位开始(即8,N,1)。RFID读卡器串口通信波特率固定为2400bps。(4)接口细节RFID读卡器是激活/ENABLE线。当RFID读卡器上电并且/ENABLE线被拉高,模块将处于非活动状态(待机模式),LED将是绿色。当/ENABLE线被拉低,RFID读卡器进入有效状态,驱动天线查询标签。该模块处于活动状态,电流消耗会急剧增加。RFID读卡器板上LED指示多种工作状态。当模块成功通电并处于空闲状态时,指示灯会变成绿色。当模块上电并处于空闲状态,LED变绿色,当模块处于有效状态和天线正在发送,LED变成红色。LED可用于直观说明哪些用户的标签在读取的过程中已经被成功读取。将标签面面对天线举到RFID天线区域的正前方,保持距离不超过10CM即可正常读取标签卡信息。在复杂电磁环境中,建议在读取标签卡过程中增加1秒钟间隔,避免由电磁噪声导致误读发生。(5)直流特性在Vcc=5V,TA=25时,RFID读卡器有如表4.2的直流特性。表4.2RFID读卡器直流特性测试 规范 参数 符号 条件 最小值 标准 最大值 单位 电源电压 Vcc ‐‐‐ 4.5 5.0 5.5 V 电源电流,空闲 IIDLE  ‐‐‐ ‐‐‐ 10 ‐‐‐ mA 电源电流,激活 ICC  ‐‐‐ ‐‐‐ 100 ‐‐‐ mA 输入低电压 VIL +4.5V<=Vcc<=+5.5V ‐‐‐ ‐‐‐ 0.8 V 输入高电压 VIH +4.5V<=Vcc<=+5.5V 2.0 ‐‐‐ ‐‐‐ V 输出低电压 VOL Vcc=+4.5V ‐‐‐ ‐‐‐ 0.6 V 输入高电压 VOH Vcc=+4.5V Vcc‐0.7 ‐‐‐ ‐‐‐ V (6)RFID读卡器引脚说明RFID读卡器仅用4个引脚(VCC,/ENABLE,SOUT,GND),4个引脚说明如表4.3所示。表4.3RFID读卡器4个引脚说明表序号 引脚 类型 功能 1 VCC 电源信号系统电源,+5V DC输入 2 /ENABLE 输入信号模块使能引脚。该引脚置低电平时,使能RFID读卡器和激活天线读取RFID标签。该引脚置高电平时,RFID读卡器处于空闲状态。 3 SOUT 输出信号串行输出TTL电平接口,波特率2400bps,8数据位,无符号,1个停止位 4 GND 地信号 系统地。连接到电源地。 -18-C51版机器人游高铁说明书www.openirobot.com图4.2RFID读卡器引脚说明图4.2RFID读卡器电路连接与读取标签卡程序(1)RFID读卡器的电路连接RFID读卡器有4个引脚:VCC、/ENABLE、SOUT、GND。由于游高铁机器人连接外部设备较多,如果使用C51教学板给RFID读卡器供电会出现供电不足,RFID读卡器无法正常读卡的现象。因此,为了RFDI读卡器能正常工作,我们选择为RFID读卡器提供独立电源。为RFID读卡器供电的独立电源必须与C51教学板共地,即独立电源的负极与C51教学板的地相连。如表4.4为RFID读卡器电路连接方式表。表4.4RFID读卡器电路连接方式表RFID读卡器引脚C51教学板引脚和独立电源正负极VCC独立电源+5V/ENABLEP24SOUTP30GND独立电源负极(2)RFID读卡器读卡程序连接好RFID读卡器电路,接下来编写一个RFID读卡器驱动程序。该程序实现的功能是:读取标签卡信息,并将信息通过串口在PC上显示。/****************************************************************************************** //函数名:read_RFID.C //函数功能:读取RFID的ID号,显示在串口调试助手中,采用的波特率为2400bps//目标MCU:AT89S52 //晶振频率:11.0592MHZ //作者:罗观 //时间:2013/9/5 *******************************************************************************************/ -19-C51版机器人游高铁说明书www.openirobot.com#include <reg52.h>   //51头文件 #include <stdio.h>   //输出头文件 #include<Boebot.h>   //简单计时头文件 #include<math.h>  #define uchar unsigned char #define uint  unsigned int  #define  BUFF_LEN  12     //用BUFF_LEN常量代替常数12。  sbit ENABLE = P2^4;  //定义ENABLE为P2^4引脚使能位。  bit bReadFlag;  //51单片机读取一位数据的标志位。 bit bHeadFlag;  //51单片机读玩数据的标志位。  uchar count; uchar command[BUFF_LEN];  //存储读取的数据。  //RFID通信串口初始化 void init_serial() {  TMOD=0x20;/*定时器1工作于模式2,8位自动重装入定时器*/  TL1=0xf4;/*晶振为11.0592MHz时,设置波特率为2400bps*/  TH1=0xf4;/*晶振为11.0592MHz时,设置波特率为2400bps*/  TR1=1;/*启动定时器1*/  SCON=0x50;/*UART工作于方式1,8位波特率可变串口,允许接收*/  PCON=0x00;/*波特率不加倍*/  EA=1;/*使能总中断*/  ES=1;/*使能串口中断*/ } //PC通信串口初始化 void init_com() {  TMOD=0x20;/*定时器1工作于模式2,8位自动重装入定时器*/  TL1=0xfd;/*晶振为11.0592MHz时,设置波特率为9600bps*/  TH1=0xfd;/*晶振为11.0592MHz时,设置波特率为9600bps*/  TR1=1;/*启动定时器1*/  SCON=0x40;/*UART工作于方式1,8位波特率可变串口,允许接收*/  PCON=0x00;/*波特率不加倍*/  EA=1;/*使能总中断*/  ES=0;/*使能串口中断*/ }  //主程序 -20-C51版机器人游高铁说明书www.openirobot.comvoid main() {  uchar i,h[5];     //循环变量i。  unsigned int a,b;  //变量a存储IC卡的ID。  count=0;  ENABLE=1;  //读取IC卡的使能能端置高位,读取设备处于闲置状态。  init_serial(); //串口初始化  bReadFlag=0; //初始化bReadFlag和bHeadFlag变量。  bHeadFlag=0;  ENABLE=0;     //读取IC卡的使能能端置低位,激活读取设备,开始读取IC卡的信息。   while(1)  {           while(1)   {     if(bReadFlag==1)   //如果标志位bReadFlag为1,则执行下面。    {       ES=0; //关闭使能串口中断。     a=0; //初始化a。     ENABLE=1;  //读取IC卡的使能能端置高位,读取设备处于闲置状态。     for(i=7;i<=10;i++) //提起ID值。     { //转换      if(command[i]=='0'||command[i]=='1'||command[i]=='2'||command[i]=='3'||command[i]=='4'||command[i]=='5'||command[i]=='6'||command[i]=='7'||command[i]=='8'||command[i]=='9')      {       a=a*16+command[i]‐48;       b=command[i]‐48;      }      else       {        a=a*16+(command[i]‐'A')+10;        b=command[i]‐'A'+10;       }     }       init_com();     delay_nms(20);      h[0]=a/10000+48;     h[1]=a%10000/1000+48; -21-C51版机器人游高铁说明书www.openirobot.com    h[2]=a%1000/100+48;     h[3]=a%100/10+48;     h[4]=a%10+48;      for(i=0;i<5;i++)     {              SBUF=h[i];       while(!TI);   //等待发送数据完毕。      TI=0;  //发送完毕,置TI为0。     }       SBUF='\n';      while(!TI);   //等待发送数据完毕。     TI=0;     // delay_nms(200);  //延迟200ms。          bReadFlag=0;   //初始化bReadFlag和bHeadFlag变量都为0。     bHeadFlag=0;     ENABLE=0;  //读取IC卡的使能能端置低位,激活读取设备,开始读取IC卡的信息。     ES=1;  //打开使能串口中断。     TR1=1;  //打开定时器1。     init_serial(); //串口初始化     delay_nms(20);     break;    }      }       } }  void ser() interrupt 4   //串口中断函数 {  unsigned char ch;   //读取变量ch。  ES = 0;     //关闭使能串口中断。   if(RI)     //如果51单片机读得数据,即RI==1,则执行下面。  {   RI = 0;   //将RI置0。   ch = SBUF;  //读取数据。    if(ch==0x0a)   //如果读取的数据为0x0a,则为数据组的开始位。   {    count=0;    command[count]=ch;             bHeadFlag=1;   //收到数据组的开始位,则将标记位bHeadFlag-22-C51版机器人游高铁说明书www.openirobot.com置1。       }   else   {    if(bHeadFlag==1)  //如果标记位bHeadFlag为1,则继续接收数据,将数据存入command数组。             {     count++;        command[count]=ch;             if(count==(BUFF_LEN‐1))  //如果接收的数据到达11个,将bReadFlag置1,bHeadFlag置0。        {                     bReadFlag=1;        bHeadFlag=0;&n
本文档为【51版:机器人游高铁文档说明】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: ¥18.0 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
肥猫叫noah
暂无简介~
格式:pdf
大小:1MB
软件:PDF阅读器
页数:0
分类:高中语文
上传时间:2020-02-15
浏览量:2