课程设计。
课程名称微型计算机控制技术
题目名称步进电机角度控制(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语言程序设计 系别 专业班级 学号。姓名。课程题目 企业人事管理系统 完成日期 指导老师 年月日。附件。课程设计的内容。企业人事管理系统 本项目的目标是开发一个功能实用,操作简便,简单明了的人事管理系统。能够录入人事的基本资料,在操作上能够完成诸如添加 修改 删除 ...