- 1、本文档共25页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机机器人基本巡航动作(调用子程序)
机器人巡航控制 任务1:完成机器人前进、后退、左转、右转的运动程序设计 任务2:学会调用子程序简化程序 例:设 A=02H,B=56H,执行下列指令后, SP= ? ,A= ? ,B= ? 。 * * 任务1:完成机器人前进、后退、左转、右转的运动程序设计 任务描述:利用P1.0(右轮)、P1.1(左轮)控制机器人完成前进、后退、左转、右转、停止基本动作。 子任务1:完成机器人前进的基本动作 分析前进的动作过程见下图 右轮顺时针旋转 左轮逆时针旋转 P1.0需要高电平1.3ms 低电平20ms的时序 P1.1需要高电平1.7ms 低电平20ms的时序 任务1:完成机器人前进、后退、左转、右转的运动程序设计 子任务1:完成机器人前进的基本动作 流程图如下: 任务1:完成机器人前进、后退、左转、右转的运动程序设计 子任务1:完成机器人前进的基本动作 若要求前进5s? 只考虑延时部分相关指令,则完成一次瞬时前进过程的时间为:(1.3+1.7+20)ms=23ms,若将该过程循环执行200次,再加上指令的延时时间,则总共循环时间大概为5秒,即小车前进5s MAIN:MOV R0, #0C8H ;循环次数200放到R0中保存 START:…………… ;机器人前进程序段 AGAIN:DJNZ R0,START ;循环过程完成1次则让R0中的次数减1,若R0≠0,跳到START处重新循环执行前进动作,否则循环结束. 方法1: MAIN:MOV A, #0C8H ;循环次数200放到A中保存 START:…………… ;机器人前进程序段 AGAIN:DEC A JNZ START 方法2: 任务1:完成机器人前进、后退、左转、右转的运动程序设计 助记符格式 机器码(B) 相应操作 指令说明 机器周期 INC A A?A+1 影响PSW的P标志 1 INC Rn 00001rrr Rn?Rn+1 n=0~7, rrr=000~111 1 INC direct direct (direct)?(direct)+1 ? 1 INC @Ri 0000011i (Ri)?(Ri)+1 i=0,1 1 INC DPTR DPTR?DPTR+1 ? 2 DEC A A?A-1 影响PSW的P标志 1 DEC Rn 00011rrr Rn?Rn-1 n=0~7, rrr=000~111 1 DEC direct direct (direct)?(direct)+1 ? 1 DEC @Ri 0001011i (Ri)?(Ri)-1 i=0,1 1 汇编指令:INC(加1)、DEC(减1)指令 任务1:完成机器人前进、后退、左转、右转的运动程序设计 汇编指令:累加器A判0指令——条件转移指令 助记符格式 机器码(B) 相应操作 机器周期 JZ rel rel 若A=0, 则PC?PC+rel, 否则程序顺序执行 2 JNZ rel rel 若A≠0, 则PC?PC+rel, 否则程序顺序执行 2 JZ MAIN JNZ MAIN ;若A=0, 执行MAIN处程序, 否则程序顺序执行 ;若A≠0, 执行MAIN处程序, 否则程序顺序执行 MAIN:MOV A, #0C8H ;循环次数200放到A中保存 START:…………… ;机器人前进程序段 AGAIN:DEC A ;循环过程完成1次则让A中的次数减1 JNZ START ;若A≠0,跳到START处重新循环执行前进 动作,否则循环结束. 任务1:完成机器人前进、后退、左转、右转的运动程序设计 累加器ACC:是一个8位寄存器,它是CPU中工作最繁忙的寄存器,功能多,地位重要,可存放操作数,也可以存放运算的中间结果。 在指令系统中累加器的助词符为A,以下将简称为累加器A。 正确做法之一:MOV A,R0 MOV R5,A 若要把R0中的内容传给R5,可以怎么做? “MOV R5,R0” 注意:A中的内容会影响PSW的内容 任务1:完成机器人前进、后退、左转、右转的运动程序设计 P F1 OV RS0 RS1 F0 AC C 字节
文档评论(0)