1 / 14

项目三 机械手程序设计

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

nay
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. 课 题 6 循环程序设计

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

  6. 一、循环程序1 (1)、要求: 从片内RAM DATA单元开始连续存放一组无符号二进制数,其个数存于SHU单元中,编一个程序,找出最大数,存放于内部RAM MAX单元中。 (2)、根据上述要求编写程序入下: 源程序 SHU EQU 30H MAX EQU 31H CD DQU 40H ORG 0100H MOV MAX,#00H MOV R0,#CD MOV R2,SHU

  7. LP: MOV A,@R0 CJNE A,MAX,EP1 SJMP EP2 EP1: JC EP2 MOV MAX,A EP2: INC R0 DJNZ R2,LP HK: SJMP HK END (3)、将上述程序输入至仿真器中(相对转移指令的地址偏移量要事先算好)。

  8. (4)、将下面一组五个数据送入指定内存单元中:(4)、将下面一组五个数据送入指定内存单元中: 5AH、3BH、8CH、9EH、6FH (5)、在INC R0指令处设一个断点。为了调试程序,往往需要检查程序运行到某处的有关寄存器的状态,这时可采用断点运行程序和方法。所谓断点,就是程序运行到断点处指令地址。这时使用者可检查有关寄存器的状态。 (6)、用连续执行键EXEC执行程序,观察每次运行到断点时R0、R2累加器A及MAX单元的内容,填写下表:

  9. 二、循环程序2 1、要求:   将存储于内部RAM的多字节二进制无符号数(其首地址存于BADR单元,字节数存放于BYTE单元)转换成紧凑格式BCD十进制数存储于内部RAM中(其首地址存于DADR单元),数据存放格式是先低位后高位。 2 、根据上述要求编写程序如下: BADR EQU 20H ;存储二进制首址 BYTE EQU 21H ;存储二进制字节数 DADR EQU 22H ;存储十进制首址 ORG 0300H MOVSP,#5FH ;设堆栈初值

  10. MOV R1,DADR MOV R2,BYTE INC R2 CLR A BBO: MOV @R1,A ;BCD十进制结果 INC R1 ;单元清零 DJNZ R2,BBO MOV A,BYTE MOV B,#08H MUL AB ;二进制位数送入 MOV R3,A ;R3寄存器 BB3: MOV R0,BADR ;循环入口处 MOV R2,BYTE ;将二进制数循环

  11. BB1: MOV A,@R0 ;左移一次,使最 RLC A ;高位送入(Cy)中 MOV @R0,A INC R0 DJNZ R2,BB1 MOV R1,DADR ;BCD十进制结果 MOV R2,BYTE ;单元乘2并加上 INC R2 ;进位(Cy) LCALL BCDC2 DJNZ R3,BB3 ;循环判断 HK: SJMP HK BCDC2:MOV A,@R1 ADDC A,@R1 DA A MOV @R1,A INC R1 DJNZ R2,BCDC2 RET

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

  13. 谢谢!

More Related