《单片机控制巡航键选控制.ppt》由会员分享,可在线阅读,更多相关《单片机控制巡航键选控制.ppt(11页珍藏版)》请在第壹文秘上搜索。
1、巡航动作键选控制任务任务1 1:掌握键选控制控制思路和汇编指令:掌握键选控制控制思路和汇编指令CPLCPL、ANLANL等等任务任务2 2:转移指令的总结:转移指令的总结任务描述:任务描述:本任务利用本任务利用P0.P0.0 0、P0.1P0.1、P0.2P0.2、P0.3P0.3控制的四个控制的四个按键,分别控制机器人选择前进、后退、左转、右转等基本按键,分别控制机器人选择前进、后退、左转、右转等基本动作。动作。任务:掌握键选控制控制思路和汇编指令任务:掌握键选控制控制思路和汇编指令CPLCPL、ANLANL等等1 1、硬件电路的设计、硬件电路的设计任务:掌握键选控制控制思路和汇编指令任务:
2、掌握键选控制控制思路和汇编指令CPLCPL、ANLANL等等图2-21 独立式键盘应用电路S0S1S2S3AT89S52P0.1P0.2P0.3P0.05VGND10K10K10K10K结论:若每一个端口对应前进、后退、左转、右转动作,结论:若每一个端口对应前进、后退、左转、右转动作,则当单片机检测到端口为低电平时执行对应的动作。则当单片机检测到端口为低电平时执行对应的动作。没有按键按下时,没有按键按下时,P0.0P0.3P0.0P0.3输入为高输入为高电平电平当有按键按下时,当有按键按下时,对应的对应的P0P0端口输入端口输入为低电平为低电平前进前进后退后退左转左转右转右转例:例:FORW:
3、 JB P0.0FORW: JB P0.0, BACWBACW ; ;如果如果S0S0按下按下, ,则顺序执行则顺序执行, ,机器人前进机器人前进; ;否则跳至否则跳至BACWBACW任务:掌握键选控制控制思路和汇编指令任务:掌握键选控制控制思路和汇编指令CPLCPL、ANLANL等等2 2、汇编指令、汇编指令助记符格式机器码(B)相应操作指令说明机器周期CLR A11100100A00HA中内容清0,影响P标志1CPL A11110100A中内容按位取反,影响P标志1AA请问:执行下列指令后请问:执行下列指令后P1= P1= ? A= A= ? MOV P1MOV P1,#0F9H#0F9H
4、 MOV A MOV A,P1P1 CPL A CPL AF9H06H任务:掌握键选控制控制思路和汇编指令任务:掌握键选控制控制思路和汇编指令CPLCPL、ANLANL等等注意:注意:在在MCS-51MCS-51系统中,只能对累加器系统中,只能对累加器A A中的内容进行清零中的内容进行清零和求反,如要对其它的寄存器或存储单元进行清零和求反,和求反,如要对其它的寄存器或存储单元进行清零和求反,则须放在累加器则须放在累加器A A进行,运算后再放回原位置。进行,运算后再放回原位置。例:写出对例:写出对R0R0寄存器内容求反的程序段。寄存器内容求反的程序段。程序为:程序为:MOV AMOV A,R0R
5、0CPL ACPL AMOV R0MOV R0,A A任务:掌握键选控制控制思路和汇编指令任务:掌握键选控制控制思路和汇编指令CPLCPL、ANLANL等等2 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
6、RnORL A,direct ;AA (direct)ORL A,Ri ;AA (Ri)ORL A,#data ;AA dataORL direct,A ;(;(direct)(direct) AORL direct,#data ;(;(direct)(direct) data按位相与按位相与按位相或按位相或任务:掌握键选控制控制思路和汇编指令任务:掌握键选控制控制思路和汇编指令CPLCPL、ANLANL等等按位相异或按位相异或三逻辑异或指令三逻辑异或指令XRLXRL A,Rn ;A A RnXRL A,direct ;A A (direct)XRL A,Ri ; A A (Ri)XRL A,
7、#data ;A A dataXRL direct,A ;(;(direct) (direct) AXRL direct,#data ;(;(direct) (direct) data在使用中:在使用中:逻辑与用于实现对指定位清逻辑与用于实现对指定位清0 0,其余位不变;,其余位不变;逻辑或用于实现对指定位置逻辑或用于实现对指定位置1 1,其余位不变;,其余位不变;逻辑异或用于实现指定位取反,其余位不变。逻辑异或用于实现指定位取反,其余位不变。例:写出完成下列功能的指令段。例:写出完成下列功能的指令段。1对累加器对累加器A中的中的1、3、5位清位清0,其余位不变,其余位不变ANL A,#110
8、10101B2对累加器对累加器A中的中的2、4、6位置位置1,其余位不变,其余位不变ORL A,#01010100B3对累加器对累加器A中的中的0、1位取反,其余位不变位取反,其余位不变XRL A,#00000011B第第2操作数操作数对应位为对应位为0其余位为其余位为1第第2操作数操作数对应位为对应位为1其余位为其余位为0第第2操作数操作数对应位为对应位为1其余位为其余位为08还有什么方法实还有什么方法实现循环的终止现循环的终止? ?将00H0FH这16个数顺序地置入片内RAM20H2FH单元中。 MOV R0,#20H MOV R7,#0FH CLR ALOOP:MOV R0,A INC A INC R0 DJNZ R7,LOOP SJMP $任务任务2 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 $作业:作业: 按键控制小灯亮灭的系统设计按键控制小灯亮灭的系统设计