18
项项项 项项项项项项项 辽辽辽辽辽辽辽辽辽辽 项项项 项项项 项项项

项目三 机械手程序设计

Embed Size (px)

DESCRIPTION

辽宁机电职业技术学院. 项目三 机械手程序设计. 制作人:王洪庆 白天明. 项目内容: 1 .通过程序控制机械手动作从而完成伸长、旋转、抓件等动作 2 .了解 MCS - 51 单片机指令的基本格式和寻址方式、 MCS-51 单片 机的指令系统、汇编语言源程序的基本设计方法和调试方法 以及程序设计举例。介绍一些实用的小程序来培养学生的兴 趣并拓宽学生的知识面,结合程序设计强化学生对指令的解。. 能力目标: 课题 1 .单片机的寻址方式 课题 2 .单片机指令 课题 3 .简单程序运行与调试 - PowerPoint PPT Presentation

Citation preview

Page 1: 项目三 机械手程序设计

项目三机械手程序设计

辽宁机电职业技术学院

制作人:王洪庆 白天明

Page 2: 项目三 机械手程序设计

项目内容: 1 .通过程序控制机械手动作从而完成伸长、旋转、抓件等动作 2 .了解 MCS - 51 单片机指令的基本格式和寻址方式、 MCS-51 单

片 机的指令系统、汇编语言源程序的基本设计方法和调试方法 以及程序设计举例。介绍一些实用的小程序来培养学生的兴

趣并拓宽学生的知识面,结合程序设计强化学生对指令的解。

Page 3: 项目三 机械手程序设计

能力目标:课题 1.单片机的寻址方式课题 2.单片机指令课题 3.简单程序运行与调试课题 4.汇编语言程序设计课题 5.分支程序设计课题 6.循环程序设计

实战演练: 1 .通过实践掌握单片机的寻址方式、指令系统。会使用汇编语言 进行顺序结构程序、分支结构程序、循环结构程序设计和调试。 2 .通过该项目的训练,提高学生的实际动手操作能力,养成学 生的工程道德观念,建立工程敬业精神和团队合作精神。

Page 4: 项目三 机械手程序设计

课 题 3简单程序运行与调试

Page 5: 项目三 机械手程序设计

课题内容 1. 调试程序 1 2. 调试程序 2 3. 调试程序 3  4 .调试程序 4  

 

知识要点 掌握程序调试方法

能力训练: 1. 程序调试能力 2. 创新能力和合作能力

技能操作  上机操作掌握机械手控制程序操作和调试

Page 6: 项目三 机械手程序设计

(1)将下面程序输入至仿真器中源程序 计算值 实际值ORG   0100H (R0) (R0)MOV   00H,#01H   --       --MOV   08H,#02H   --    --MOV   10H,#03H -- --MOV   18H,#04H -- --SETB   RS0  -- --SETB   RS1  -- --CLR   RS0  -- --SJMP $   -- --END (2)单步运行(运行前先复位)上述程序,检查执行每条指令后 R0寄存器的内容,说明 SETB 和 CLR 等指令的功能及 R0寄存器内容变化的原因。

一、调试程序 1

Page 7: 项目三 机械手程序设计

MOV   00H,#01H   

01H

MOV   08H,#02H   

源程序

ORG   0100H   

MOV   10H,#03H   

02H

MOV   18H,#04H

03H

SETB   RS0  

04H

SETB   RS1  CLR   RS0  SJMP $  

END 下一页

Page 8: 项目三 机械手程序设计

二、调试程序 2

(1)将下面程序输入至仿真器中。 源程序ORG 0200HMOV SP, #5FHMOV A, #01HMOV DPTR, #0203HMOV R0, #04HPUSH ACCPUSH DPHPUSH DPLPUSH 00H

POP ACC POP DPHPOP DPL POP 00HHK : SJMP HKEND

Page 9: 项目三 机械手程序设计

(2)单步运行(运行前先复位)上述程序,检查执行每条指令后 SP寄存器的内容,说明 PUSH 和 POP 等指令的功能;

(3)程序执行结束后,回到监控状态,检查累加器 A、数据地址指针寄存器 DPTR 的内容。

  堆栈用了哪些单元,其内容是什么?  第一条指令 MOV SP , #5FH 起什么作用?如果去掉这条指令,上述结果有什么变化?

  根据上述结果总结一下堆栈有什么特点。

Page 10: 项目三 机械手程序设计

ORG 0200HMOV SP, #5FHMOV A, #01HMOV DPTR, #0203HMOV R0, #04H

PUSH ACCPUSH DPHPUSH DPLPUSH 00HPOP ACC POP DPHPOP DPL POP 00H

HK :  SJMP HK    END

5FH

地址 名称 内容E0H ACC

83H DPH

82H DPL

81H SP

63H

62H

61H

60H

5FH

00H R0

01H02H03H

04H

01H

02H03H

04H

04H03H02H01H

Page 11: 项目三 机械手程序设计

三、调试程 3( 1)多字节加法。 设有两个两字节二进制无符号数,分别存于内部 RAM 从 30H

和 40H 起始的内存单元是,试编写求和程序,将其和存放于 50H起始的内单元中(先存低位,后存高位)

( 2)根据上述要求编写源程序如下:ORG 0300HMOV A, 30HADD A, 40HDA AMOV 50H,AMOV A, 31HADDC A, 4 1H DA A MOV 51H,A

JC VERMOV 52H, #00HSJMP HK

VER : MOV 52H, #01HHK : SJMP HK END

Page 12: 项目三 机械手程序设计

( 3)将下面两数输入至 30H 和 40H 起始的地址单元中: 甲 =9A3DH 乙 =8CE1H( 4)运行上述程序,检查执行完加法指令后,有关寄

存 器状态添写下表。

指令 A PSW标示位

CY AC OV P

ADD A , 40H

计算实际

ADDC A , 41H

计算实际

Page 13: 项目三 机械手程序设计

( 5)程序运行结束后,检查 50H 、 51H 、

52H 单元内容。上述程序只需把 NOP 指令改成 DA A 指令,就可以进行十进制 BCD 数运算,设两十进制数分别为:

甲 = 4875 乙 = 7996( 6)按上述步骤运行程序,并分别检查执行完加法指令和十进制调整指令后,有关寄存器状态,添写下表。

Page 14: 项目三 机械手程序设计

指令 A SW标志位

CY AC OV P

( 1) ADD A , 40H

计算实际

( 2) DA A计算实际

( 3) ADD A , 40H

计算实际

( 4) ADD A , 41H

计算实际

( 7)根据上输实验结果,总结一下 ADD 、 ADDC 、 DA 等指令对 CY、AC、

OV 等标志位的影响情况。

Page 15: 项目三 机械手程序设计

四、调试程序 4( 1)数制转换程序。将片内 RAM 30H 单元中的 二进制数转换成压缩 BCD码十进制数的形 式存放于 32H 、 33H 单元中,先存低位后存高

位。( 2)根据上述原理编写源程序如下:

Page 16: 项目三 机械手程序设计

源程序 计算值 实测值 ORG 0400H ( A)( B) ( A)( B) MOV A , 30H -- -- MOV B , #64H -- -- DIV AB -- -- MOV 33H , A -- -- MOV A , #0AH -- -- XCH A , B -- -- DIV AB -- -- SWAP A -- -- ORL A , B -- -- MOV 32H , A -- --HK : SJMP HK -- -- END

Page 17: 项目三 机械手程序设计

(3)输入至仿真器中 设要转换的一个字节二进制数为 0EAH ,在运行程序之前先根据程序分析运行结果,指出执行每条指令后累加器 A与寄存器 B的值是多少。

(4)将 0EAH 数据输入至仿真器的 30H 单元中,然后单步运行程序,检查并记录执行每条指令后累加器 A与寄存器 B的值是多少。

(5)程序执行结束后,检查结果单元 32H 、 33H 的值。比较上述结果是否正确,如不正确,请查明原因,重复上述操作。

Page 18: 项目三 机械手程序设计

THANK  YOU!