课程设计报告

发布 2022-10-01 05:16:28 阅读 4331

课程设计。

课程名称微型计算机控制技术

题目名称步进电机角度控制(mc51系统)

学生学院自动化学院

专业班级 学号

学生姓名。指导教师

2013年6月27日。

广东工业大学课程设计任务书。

题目名称步进电机角度控制(mc51系统)

学生学院自动化学院

专业班级 学号

学生姓名。一、目的。

1. 巩固和加深对《计算机控制技术》课程内容的认识和理解,提高应用水平;

2. 熟悉键盘控制和七段数码管的使用;

3. 掌握步进电机的角度控制和测试方法。

二、课程设计的内容。

1. 连接显示与键盘电路,实现。

键盘,并能左移显示;

2. 实现:

1) 定义一下键盘按键:

5个为数字键;3个功能键:设置set、清零clr、开始start;

2) 显示器上第一位显示次数,后三位显示每次行走的角度;

3) 通过键盘的按键,设置步进电机各次的角度值;按动set键后,开始设置:第一位设置次数,后三位设置角度值,再按动set置入;

4) 按start键启动步进电机开始转动,到位后停止;按clr键清零步进电机回原位。

1. 设计任务 4

1.1 设置键盘: 4

1.2 实现功能: 4

2. 系统设计说明 4

2.1 系统原理图 4

2.2 总体设计 4

2.3 详细设计 5

2.3.1 左移显示模块 5

2.3.2 jisuan子程序 6

2.3.3 bujin子程序 6

2.3.4 清零键clr 7

3. 程序附录 8

1. 设计任务。

1.1 设置键盘:

1.2 实现功能:

一. 键入7(次数)45(角度数)键入set设置完毕,键入start步进电机转动45度7次;停止后键入clr返回零位;每个过程都必须有相关显示。

二. 键入4(次数)270(角度数)键入set设置完毕,键入start步进电机转动270度4次;停止后键入clr返回零位;每个过程都必须有相关显示。

2. 系统设计说明。

2.1 系统原理图。

2.2 总体设计。

本设计用50h~53h存储单元存储转动次数和转动角度,数码管显示只扫描此区域的;设置一个jisuan子程序来计算转动所需要的角度需要的拍数,存第0组的r3寄存器里;用r2记录步进电机已执行的拍数,每步进一拍,r2自加1,比较r2与r3的值判断是否完成一次设定角度转动;用r1记录已完成的转动次数,每完成一次设定角度转动则r1自加1,比较r1与60h(mov 60h,50h)的值判断是否停止转动。

程序设计流程图:

2.3 详细设计。

2.3.1 左移显示模块。

程序如下:key0: mov a,#00h

acall buf

acall dis

ajmp sttk

key2: mov a,#02h

acall buf

acall dis

ajmp sttk

key4: mov a,#04h

acall buf

acall dis

ajmp sttk

key5: mov a,#05h

acall buf

acall dis

ajmp sttk

key7: mov a,#07h

acall buf

acall dis

ajmp sttk

buf: push 00h

cjne r4,#01h,buf1

mov 40h,50h

mov 41h,51h

mov 42h,52h

mov 43h,53h

mov 53h,a

mov 52h,43h

mov 51h,42h

mov 50h,41h

buf1: pop 00h

ret2.3.2 jisuan子程序。

本设计设计了一个jisuan子程序,用来计算转动设定角度所需的拍数,存储在r3中。

程序如下:jisuan:

mov a,r4

clr csubb a,#

jc j3;cjne r4,#02h,j3

mov r3,#00h

mov a,51h

mov b,#

mul ab

mov 31h,a

mov a,b

mov 30h,a

mov a,52h

mov b,#

mul ab

mov 32h,a

clr cmov a,53h

add a,32h

add a,31h

mov 31h,a

mov a,#00h

addc a,30h

mov 30h,a

cjne a,#01h,j1

mov r3,#44h

inc 31h

jmp j2

j1: cjne a,#02h,j2

mov r3,#88h

inc 31h

inc 31h

j2: mov a,31h

mov b,#

div ab

mov b,#

mul ab

add a,r3

mov r3,a

j3: ret

2.3.3 bujin子程序。

此子程序实现的功能是按照设定条件正向步进,用r2记录步进电机已执行的拍数,每步进一拍,r2自加1,比较r2与r3(完成一次设定转动角度所需的拍数)的值判断是否完成一次设定角度转动;用r1记录已完成的转动次数,每完成一次设定角度转动则r1自加1,比较r1与60h(mov 60h,50h,50h中存放转动次数)的值判断是否停止转动。

程序如下:bujin: mov 60h,50h

mov r2,#00h;记录已循环的次数。

mov r1,#00h;记录已执行的拍数。

aa0: mov r0,#08h

mov dptr,#l1

bb1: mov a,#00h

movc a,@a+dptr

mov p1,a

inc r1

inc dptr

call dlims

mov a,r1

clr csubb a,r3

jc bbmov r1,#00h

inc r2

dec 50h

mov r6,#0ffh

ys: acall dis

djnz r6,ys

mov r6,#0ffh

ys1: acall dis

djnz r6,ys1

ys3: acall dis

djnz r6,ys3

mov r6,#0ffh

ys4: acall dis

djnz r6,ys4

mov a,r2

cjne a,60h,bb

jmp aa2

bb: djnz r0,bb1

sjmp aa0

l1:db 10h,30h,20h,60h,40h,0c0h,80h,90h

aa2: ret

2.3.4 清零键clr

将50h~53h的内容清零,然后使步进电机复位,实现复位由bujin2子程序来实现。在bujin2子程序中,通过bujin子程序完成后的r0,运用转位方法,使步进电机反转会零位。

程序如下:bujin2: mov r2,#00h;记录已循环的次数。

mov r1,#00h;记录已执行的拍数。

mov dptr,#l2

mov a,r0

cjne a,#00h,bu1

bu0: mov r0,#00h

mov dptr,#l2

bu1: mov b,r0

mov a,b

movc a,@a+dptr

mov p1,a

inc r1

call dlims

mov a,r1

clr csubb a,r3

jc bu2

mov r1,#00h

inc r2

mov r5,#0fh

ysb: acall dlims

djnz r5,ysb

mov a,r2

cjne a,60h,bu2

jmp bu3

bu2: inc r0

mov a,r0

cjne a,#08h,bu1

sjmp bu0

l2:db 90h,80h,0c0h,40h,60h,20h,30h,10h

bu3: ret

3. 程序附录。

源程序:org 0000h

ljmp main

org 0100h

main: mov 50h,#00h

mov 51h,#00h

mov 52h,#00h

mov 53h,#00h

mov r4,#00h

mov dptr,#7f03h

mov a,#89h

movx @dptr,a

begin: mov dptr,#7f01h

mov a,#00h

movx @dptr,a

mov dptr,#7f02h

movx a,@dptr

anl a,#06h

cjne a,#06h,ink1

acall dis

ajmp begin

ink1: acall dlims

mov dptr,#7f02h

movx a,@dptr

anl a,#06h

cjne a,#06h,ink2

ajmp begin

ink2: mov dptr,#7f01h

mov a,#0fbh

movx @dptr,a

mov dptr,#7f02h

movx a,@dptr

jnb acc.1,key2

jnb acc.2,key4

mov dptr,#7f01h

mov a,#0f7h

movx @dptr,a

mov dptr,#7f02h

movx a,@dptr

jnb acc.1,keyclr

jnb acc.2,keyset

mov dptr,#7f01h

mov a,#0efh

movx @dptr,a

mov dptr,#7f02h

movx a,@dptr

jnb acc.1,key5

jnb acc.2,keystart

mov dptr,#7f01h

mov a,#0dfh

movx @dptr,a

mov dptr,#7f02h

课程设计报告格式 课程设计

洛阳理工学院。课程设计说明书。课程名称。设计课题。专业。班级。学号。姓名。完成日期2014年12月26日。问题描述 小四宋体,行间距单倍行距,每段缩进两个字符。叙述一下设计的内容要求。基本要求 小四宋体,行间距单倍行距,每段缩进两个字符。叙述一下设计的基本要求。测试数据 小四宋体,行间距单倍行距,每...

课程设计总结,课程设计报告

课程设计总结,课程设计报告。3.尝试应用项目管理软件进行项目进程的规划管理 绘制甘特图,不作硬性要求 二 选题说明。人事管理是企业信息管理的重要部分,面对大量的人事工资信息,财务部门采用人力处理将浪费大量的时间 人力和物力,且数据的准确性低。因此,开发一个界面友好,易于操作的人事工资管理软件进行自动...

课程设计 课程设计报告格式

学校名。课程设计报告。课程名称 c语言程序设计 系别 专业班级 学号。姓名。课程题目 企业人事管理系统 完成日期 指导老师 年月日。附件。课程设计的内容。企业人事管理系统 本项目的目标是开发一个功能实用,操作简便,简单明了的人事管理系统。能够录入人事的基本资料,在操作上能够完成诸如添加 修改 删除 ...