1 / 18

项目三 机械手程序设计

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

Download Presentation

项目三 机械手程序设计

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 辽宁机电职业技术学院 项目三 机械手程序设计 制作人:王洪庆 白天明

  2. 项目内容: 1.通过程序控制机械手动作从而完成伸长、旋转、抓件等动作 2.了解MCS-51单片机指令的基本格式和寻址方式、MCS-51单片 机的指令系统、汇编语言源程序的基本设计方法和调试方法 以及程序设计举例。介绍一些实用的小程序来培养学生的兴 趣并拓宽学生的知识面,结合程序设计强化学生对指令的解。

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

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

  5. 课题内容 1.调试程序1 2.调试程序2 3.调试程序3   4.调试程序4 知识要点 • 掌握程序调试方法 能力训练: 1. 程序调试能力 2. 创新能力和合作能力 技能操作 上机操作掌握机械手控制程序操作和调试

  6. 一、调试程序1 (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寄存器内容变化的原因。

  7. 源程序 ORG 0100H MOV 00H,#01H 01H MOV 08H,#02H 02H MOV 10H,#03H 03H MOV 18H,#04H 04H SETB RS0 SETB RS1 CLR RS0 SJMP $   END 下一页

  8. 二、调试程序2 (1)将下面程序输入至仿真器中。 源程序 ORG 0200H MOV SP, #5FH MOV A, #01H MOV DPTR, #0203H MOV R0, #04H PUSH ACC PUSH DPH PUSH DPL PUSH 00H POP ACC POP DPH POP DPL POP 00H HK: SJMP HK END

  9. (2)单步运行(运行前先复位)上述程序,检查执行每条指令后SP寄存器的内容,说明PUSH和POP等指令的功能;(2)单步运行(运行前先复位)上述程序,检查执行每条指令后SP寄存器的内容,说明PUSH和POP等指令的功能; (3)程序执行结束后,回到监控状态,检查累加器A、数据地址指针寄存器DPTR的内容。   堆栈用了哪些单元,其内容是什么?   第一条指令MOV SP,#5FH起什么作用?如果去掉这条指令,上述结果有什么变化?   根据上述结果总结一下堆栈有什么特点。

  10. 01H ORG 0200H MOV SP, #5FH 5FH 02H MOV A, #01H 01H 03H MOV DPTR, #0203H 02H 03H MOV R0, #04H 04H PUSH ACC PUSH DPH 04H PUSH DPL PUSH 00H 03H POP ACC 02H POP DPH 01H POP DPL POP 00H HK: SJMP HK END 04H

  11. 三、调试程3 (1)多字节加法。 设有两个两字节二进制无符号数,分别存于内部RAM从30H和40H起始的内存单元是,试编写求和程序,将其和存放于50H起始的内单元中(先存低位,后存高位) (2)根据上述要求编写源程序如下: ORG 0300H MOV A, 30H ADD A, 40H DA A MOV 50H,A MOV A, 31H ADDC A, 4 1H DA A MOV 51H,A JC VER MOV 52H, #00H SJMP HK VER: MOV 52H, #01H HK: SJMP HK END

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

  13. (5)程序运行结束后,检查50H、51H、 52H单元内容。 上述程序只需把NOP指令改成DA A 指令,就可以进行十进制BCD数运算,设两十进制数分别为: 甲= 4875 乙= 7996 (6)按上述步骤运行程序,并分别检查执行完加法指令和十进制调整指令后,有关寄存器状态,添写下表。

  14. (7)根据上输实验结果,总结一下ADD、ADDC、DA等指令对CY、AC、 OV等标志位的影响情况。

  15. 四、调试程序4 (1)数制转换程序。将片内RAM 30H单元中的 二进制数转换成压缩BCD码十进制数的形 式存放于32H、33H单元中,先存低位后存高 位。 (2)根据上述原理编写源程序如下:

  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

  17. (3)输入至仿真器中 设要转换的一个字节二进制数为0EAH,在运行程序之前先根据程序分析运行结果,指出执行每条指令后累加器A与寄存器B的值是多少。 (4)将0EAH数据输入至仿真器的30H单元中,然后单步运行程序,检查并记录执行每条指令后累加器A与寄存器B的值是多少。 (5)程序执行结束后,检查结果单元32H、33H的值。 比较上述结果是否正确,如不正确,请查明原因,重复上述操作。

  18. THANK  YOU!

More Related