《单片机控制巡航键选控制.ppt》由会员分享,可在线阅读,更多相关《单片机控制巡航键选控制.ppt(11页珍藏版)》请在课桌文档上搜索。
1、巡航动作键选控制,任务1:掌握键选控制控制思路和汇编指令CPL、ANL等任务2:转移指令的总结,任务描述:本任务利用P0.0、P0.1、P0.2、P0.3控制的四个按键,分别控制机器人选择前进、后退、左转、右转等基本动作。,任务:掌握键选控制控制思路和汇编指令CPL、ANL等,1、硬件电路的设计,任务:掌握键选控制控制思路和汇编指令CPL、ANL等,结论:若每一个端口对应前进、后退、左转、右转动作,则当单片机检测到端口为低电平时执行对应的动作。,没有按键按下时,P0.0P0.3输入为高电平当有按键按下时,对应的P0端口输入为低电平,前进后退左转右转,例:FORW:JB P0.0,BACW;如果
2、S0按下,则顺序执行,机器人前进;否则跳至BACW,任务:掌握键选控制控制思路和汇编指令CPL、ANL等,2、汇编指令,累加器A清0和取反指令,请问:执行下列指令后P1=?A=?MOV P1,#0F9H MOV A,P1 CPL A,F9H,06H,任务:掌握键选控制控制思路和汇编指令CPL、ANL等,注意:在MCS-51系统中,只能对累加器A中的内容进行清零和求反,如要对其它的寄存器或存储单元进行清零和求反,则须放在累加器A进行,运算后再放回原位置。,例:写出对R0寄存器内容求反的程序段。程序为:MOV A,R0CPL AMOV R0,A,任务:掌握键选控制控制思路和汇编指令CPL、ANL等
3、,2、汇编指令,-逻辑操作指令,一逻辑与指令ANLANL A,Rn;AA RnANL A,direct;AA(direct)ANL A,Ri;AA(Ri)ANL A,#data;AA dataANL direct,A;(direct)(direct)AANL direct,#data;(direct)(direct)data二逻辑或指令ORLORL A,Rn;AA RnORL A,direct;AA(direct)ORL A,Ri;AA(Ri)ORL A,#data;AA dataORL direct,A;(direct)(direct)AORL direct,#data;(direct)(d
4、irect)data,按位相与,按位相或,任务:掌握键选控制控制思路和汇编指令CPL、ANL等,按位相异或,三逻辑异或指令XRLXRL A,Rn;A A RnXRL A,direct;A A(direct)XRL A,Ri;A A(Ri)XRL A,#data;A A dataXRL direct,A;(direct)(direct)AXRL direct,#data;(direct)(direct)data在使用中:逻辑与用于实现对指定位清0,其余位不变;逻辑或用于实现对指定位置1,其余位不变;逻辑异或用于实现指定位取反,其余位不变。例:写出完成下列功能的指令段。1对累加器A中的1、3、5位
5、清0,其余位不变ANL A,#11010101B2对累加器A中的2、4、6位置1,其余位不变ORL A,#01010100B3对累加器A中的0、1位取反,其余位不变XRL A,#00000011B,第2操作数对应位为0其余位为1,第2操作数对应位为1其余位为0,第2操作数对应位为1其余位为0,8,条件转移类指令范例方案一,还有什么方法实现循环的终止?,将00H0FH这16个数顺序地置入片内RAM20H2FH单元中。MOV R0,#20H MOV R7,#0FH CLR ALOOP:MOV R0,A INC A INC R0 DJNZ R7,LOOP SJMP$,任务2:转移指令的总结,9,条件转移类指令范例方案二,MOV R0,#20H MOV R7,#0FH CLR ALOOP:MOV R0,A INC A INC R0 CJNE A,#0FH,LOOP SJMP$,10,条件转移类指令范例方案三,MOV R0,#20H MOV A,#0FH MOV 30H,#00HLOOP:MOV R0,30H INC 30H INC R0 DEC A JNZ LOOP SJMP$,作业:按键控制小灯亮灭的系统设计,