
项目题目:控制转移指令及应用 一、项目功能: 判断输入的8位有特号是正数还是负数
项目题目:控制转移指令及应用 一、项目功能: 判断输入的8位有符号是正数还是负数

二、项目任务 1、各组依据项目功能及各组员的实际情况进行项目 分工,确定工作步骤,提交项目实施计划。 2、设计并焊接单片机最小应用系统。 3、依据项目功能完成判断输入的8位有待号是正数 还是负数的软件编写和调试。 4、综合调试,完成系统。 5、填写项目报告。实际演示,检查测评
二、项目任务 1、各组依据项目功能及各组员的实际情况进行项目 分工,确定工作步骤,提交项目实施计划。 2、设计并焊接单片机最小应用系统。 3、依据项目功能完成判断输入的8位有符号是正数 还是负数的软件编写 和调试。 4、综合调试,完成系统。 5、填写项目报告。实际演示,检查测评

三、项目内容: 1、向P1口送立即数#0FFH,使P1口处于输入状态。 2、延时等待输入数据稳定。 3、读取P1口的数据并暂存到某一寄存器或某一单元中。 4、取出暂存数和#80H相与。 5、若相与结果为0,说明输入的数据为非负数,将暂存数 送40H开始的单元中。 6、否则,输入的数据为负数
三、项目内容: 1、向P1口送立即数#0FFH,使P1口处于输入状态。 2、延时等待输入数据稳定。 3、读取P1口的数据并暂存到某一寄存器或某一单元中。 4、取出暂存数和#80H相与。 5、若相与结果为0,说明输入的数据为非负数,将暂存数 送40H开始的单元中。 6、否则,输入的数据为负数

四、知识点技能点: 1、控制转移指令的功能、特点、。 2、控制转移指令的编程应用方法。 3、程序的运行调试,故障原因的查找和排除
四、知识点技能点: 1、控制转移指令的功能、特点。 2、控制转移指令的编程应用方法。 3、程序的运行调试,故障原因的查找和排除

项目知识准备 控制转移指令是通过修改PC的内容来控制程序的执行过程。控 制转移指令分为:无条件转移指令、条件转移指令和调用/返回指 令。 (一)无条件转移指令(4条) 1、长转移指令(1条) 助记符格式机器码相应操作 指令说明 机器周期 LJMP 程序跳转到地址为add16开 addr16 02add16HPC←-add16 始的地方执行 2 说明:(1)指令执行结果不影响PW。 (2)该指令可以转移到64KB程序存储器中任意位置
控制转移指令是通过修改PC的内容来控制程序的执行过程。控 制转移指令分为:无条件转移指令、条件转移指令和调用/返回指 令。 (一)无条件转移指令(4条) 1、长转移指令(1条) 项目知识准备 助记符格式 机器码 相应操作 指令说明 机器周期 LJMP addr16 02add16H PC←add16 程序跳转到地址为add16开 始的地方执行 2 说明:(1)指令执行结果不影响PSW。 (2)该指令可以转移到64KB程序存储器中任意位置

项目知识准备 2、绝对转移指令(1条) 助记符格式 机器码 相应操作 指令说明 机器周期 程序跳转到地址为 AJMP al0a9a800001a7. (PC)-(PC)+2 PC10 0 PC15-11add11开始的 addrll .a0 ←-add11 地方执行 说明:(1)指令执行结果不影响PW。 (2)该指令转移的范围是2KB。 3、相对转移指令(1条) 肋记符格式 机器码 相应操作 指令说明机器周期 (PC)+(PC)+2 SJMP rel 80 rel (PC)+-(PC)+rel
2、绝对转移指令(1条) 说明:(1)指令执行结果不影响PSW。 (2)该指令转移的范围是2KB。 助记符格式 机器码 相应操作 指令说明 机器周期 AJMP addr11 a10a9a800001a7. .a0 (PC)←(PC)+2 PC10﹋0 ←add11 程序跳转到地址为 PC15-11add11开始的 地方执行 2 项目知识准备 3、相对转移指令(1条) 肋记符格式 机器码 相应操作 指令说明 机器周期 SJMP rel 80 rel (PC)←(PC)+2 (PC)←(PC)+rel 2

项目知识准备 说明:(1)指令执行结果不影响PW。 (2)该指令的转移范围是以本指令为中心的-128~ +127字节以内。 (3)在实际应用中,UMP、AJMP、SJMP后面的 addr16 addr11 rel都是用标号来代替的,不一定写出它们的具 体地址。 4、问接寻址的无条件转移指令(1条) 肋记符格式 机器码 相应操作 指令说明 机器周期 JMP @A+DPTR 1110011PC←-A+DPTR 64KB内相对转移 2 说明:(1)指令执行结果不影响PW。 (2)该指令通常用于散转程序
说明:(1)指令执行结果不影响PSW。 (2)该指令的转移范围是以本指令为中心的-128~ +127字节以内。 (3)在实际应用中,LJMP、AJMP、SJMP后面的 addr16 addr11 rel都是用标号来代替的,不一定写出它们的具 体地址。 项目知识准备 4、间接寻址的无条件转移指令(1条) 肋记符格式 机器码 相应操作 指令说明 机器周期 JMP @A+DPTR 1110011 PC←A+DPTR 64KB内相对转移 2 说明:(1)指令执行结果不影响PSW。 (2)该指令通常用于散转程序

项目知识准备 (二)条件转移指令(8条) 有条件控制转移是指当某种条件满足时,转移才进行,条件不满 足时就顺序执行。 1、累加器判0转移指令(2条) (1)JZ rel;若(A)=0,则(PC)+2+rel→PC; ;若(A)≠0,则(PC)+2→PC (2)JNZ rel;若(A)≠0,则(PC)+2+rel→PC; ;若(A)=0,则(PC)+2一PC 2、比较转移指令(4条) (l)CJNE A,#data,rel;若(A)=data,则(PC)+3→PC,O→CY ;若(A)>data,则(PC)+3+rePC,0→CY :若(A)<data,则(PC)+3+rel→PC,1CY
(二)条件转移指令(8条) 有条件控制转移是指当某种条件满足时,转移才进行,条件不满 足时就顺序执行。 1、累加器判0转移指令(2条) (1)JZ rel ; 若(A)=0,则(PC)+2+rel PC ; ;若(A)≠0,则(PC)+2 PC (2)JNZ rel ; 若(A)≠0,则(PC)+2+rel PC ; ; 若(A)=0,则(PC)+2 PC 项目知识准备 2、比较转移指令(4条) (1)CJNE A,#data, rel ; 若(A)= data,则(PC)+3 PC,0 CY ;若(A)> data,则(PC)+3+ rel PC,0 CY ; 若(A)< data,则(PC)+3+ rel PC,1 CY

项目知识准备 (2)CJNE A,direct,rel ;若(A)=(direct),则(PC)+3→PC,0→CY ;若(A)>(direct).,则(Pc)+3+rel→PC,0→CY ;若(A)data,则(PC)+3+rel→PC,0→CY ;若(Rn)data,则(Pc)+3+rel→Pc,0→CY ;若((Ri))<data,则(PC)+3+rel一PC,1→CY 说明:·指令执行的结果影响程序状态字PW的Y标志。 ,转移范围与SMP指令相同
(2)CJNE A,direct, rel ; 若(A)= (direct),则(PC)+3 PC, 0 CY ;若(A)>(direct),则(PC)+3+ rel PC, 0 CY ;若(A) data,则(PC)+3+ rel PC,0 CY ;若(Rn) data,则(PC)+3+ rel PC,0 CY ;若((Ri))< data,则(PC)+3+ rel PC,1 CY 说明:·指令执行的结果影响程序状态字PSW的CY标志。 ·转移范围与SJMP指令相同。 项目知识准备

项目知识准备 3、减1非0转移指令(2条) (I)DJNZ Rn,rel;若Rn=0,则程序顺序执行 ;若Rn≠0,则PC一PC+rel转移 (2)DJNZ direct,rel :若(direct)=O,则程序顺序执行 ;若(direct).≠O,则PC一PC+rel转移 说明:·指令执行结果不影响PW。 ·转移范围与SJMP指令相同。 DNZ指令通常用于循环程序中控制循环次数
3、减1非0转移指令(2条) (1)DJNZ Rn, rel ; 若 Rn=0,则程序顺序执行 ;若Rn≠0,则PC PC+rel转移 (2)DJNZ direct , rel ; 若 (direct)=0,则程序顺序执行 ;若(direct)≠0,则PC PC+rel 转移 说明:·指令执行结果不影响PSW。 ·转移范围与SJMP指令相同。 ·DJNZ指令通常用于循环程序中控制循环次数。 项目知识准备