东南大学微机实验课程设计 电机
更新时间:2024-05-28 14:05:01 阅读量: 综合文库 文档下载
- 东南大学mfc课程设计推荐度:
- 相关推荐
《微机实验及课程设计》报告
东南大学
《微机实验及课程设计》
课程设计报告
综合测试题二 小型电机控制系统
姓 名: 学 号: 专 业: 实 验 室: 组 别: 同组人员: 设计时间:2013年05月 24日 —— 2013年06月4 日 评定成绩: 审阅教师:
1
《微机实验及课程设计》报告
目 录
一. 课程设计目的与要求………………………………………………………………… 3 二.方案论证与原理设计……………………………………………………………………4 三.详细(机理)设计………………………………………………………………………5 四.方案实现与测试(或调试)……………………………………………………………6 五.分析与总结…………………………………………………………………………… 14
2
《微机实验及课程设计》报告
一. 课程设计目的与要求
直流电机实验要求:
1)基本要求 (难度系数1.0)
利用DAC0832 输出一串脉冲,经放大后驱动小直流电机,利用开关K0~K5 控制改变输出脉冲的电平及持续时间,达到使电机加速、减速的目的,控制过程采取开环与闭环两种方式实现: (1)用开环方式按指定速度控制D/A输出实现转速变化; (2)用闭环方式按指定速度控制D/A输出实现转速变化;
(3)速度参数可选择通过实验系统上的可变电位器和键盘实时修改;
(4)利用转速脉冲检测电机实际转速,在PC机上显示设定速度和实际速度,并在数码管上显示速度偏差,同时用红黄绿三只发光管表示当前电机运行状态。
2)设计提示
直流电机可以用DA直接放大控制,实际系统中更多采用PWM脉动调宽控制,实验中小直流电机的转速是由Ub 输出脉冲的占空比来决定的,正向占空比越大转速越快,反之越慢。见图5.3-1:
在本实验系统中,模拟量输出Ub为双极性,当输入数字量小于80H时输出为负,输入等于80H时为0V,输入大于80H时输出为正。因而本实验中,DAC0832 输入数字量只有2个(80H和FFH),通过不同的延迟时间达到改变小电机转速的目的,可选软件延时和8253定时器/计数器中断,比较不同效果。 3)进一步设计要求 (1)设置急停按钮功能; (2)用开关随时控制正反转方向; (3)在PC 上同步显示设定和转速曲线。
3
《微机实验及课程设计》报告
二.原理设计及流程图 1、设计思路流程图 开始主程序 给8255赋控制字 A、C输出,B口输入 8253计数器0初始化 方式3,计时50ms 显示提示和版权信息 8253计数器1初始化 方式0,开始计数 8253计数器2初始化, 按键为r 方式0,计数100,计计数器1开始计数 判断有无按键 按键为s 将SAND的值给REP 其它按键 无按键 将RESU 的值给REP 退出程序 计数器2是否计时结束 是 否 判断急停按钮是否打打开则将ZFSIT赋值使0832输出为低电平,进行循环将REP值输出至7段数码管显示,输出电脉冲的高低电平时间比例为BUF2:使0832输出为高电平,将BUF1(即低电平时间)赋成对应的值 进行循环将REP值输出至7段数码管显示 ff,否则将其赋0使电判断开关开在哪一档 8253计数器1停止计数 判断脉冲个数,并依据脉冲个数,设置红绿灯亮灭 判断开闭环控制 比较当前的RESU和SAND的4 在屏幕上显示当前值,调整低电平的时间 《微机实验及课程设计》报告
2、实验硬件连线
8255a口接LED数码管,功能输出, a0至a6接数码管相应位,a7接个位使能,并通过非门接十位
使能(小数点位dp可忽视),8255b口的b0-b5接开关K0-K5, b6接急停按钮,功能输入,8255c口的c0接计数器1的GATE,功能输出,8255使能接288H, 0832使能接290H,输出接电机DJ,8253计数器使能接280H, 8253计数器1时钟输入接电机测速,GATE接c0,计数器0输入接1MHz时钟,输出接计数器2输入时钟,计数器2输出接b7。
3、基本原理
初始化:显示版权信息,初8255的工作状态:B口输入,用于并行读入K0~K5的状态;b7,连接
至8253的OUT2;c口输出,PC0连接至8253的GATE1,用于控制计数器1的启动。A口用于输出数码管。
8253计数器0用于分频,外接1Mhz时钟,计数初值为50000,分出20Hz的方波。计数器1用于记录获得的脉冲个数,计数初值为0FFFFH,时钟为光电检测器的输出。计数器2用于定时,计数初值100,时钟为计数器0的输出,这样可以定时5秒。接着检测PA0是否为1,即是否经过5秒,如果没有达到5秒,继续检测;如果达到5秒,计数器1停止计数,锁存计数值,通过数码转换程序显示在数码管。如果计数所得值与所设定的标准值不相等则通过反馈模块进行修正,使电机转速发生变化。
检测开关状态,根据不同的开关状态对DAC0832输出不同的占空比,达到控制电机转速的目的。其中,在控制占空比的同时,加入数码管显示模块,实现同步扫描显示。最后返回,继续下一轮的检测与控制。
三.详细设计及方案论证
1用开环方式按指定速度控制D/A输出实现转速变化
开环设计即在每次测完脉冲后,对0832输出的方波占空比不作调整,直接进行下一次循环。
2用闭环方式按指定速度控制D/A输出实现转速变化;
实现闭环自动调正转速的功能,可以在测完转速后和设定的转速相比较,如果实测的转速大于设定的转速,可以控制0832输出的方波的占空比大一些;反之则小一些。
3 速度参数可选择通过实验系统上的可变电位器和键盘实时修改;
试验中,通过8255并行输入输出接口接受K1~K5的速度设置命令,则进行开关处的检测,判断开关当前所处的档位,然后赋给相应高低电平时间(软件计时,即延时代码),然后让0832输出相应的方波,。
4利用转速脉冲检测电机实际转速,在PC机上显示设定速度和实际速度,并在数码管上显示速度偏差,同时用红黄绿三只发光管表示当前电机运行状态。
5
《微机实验及课程设计》报告
计数器1用于记录获得的脉冲个数,在方式0下工作,计数初值为0FFFFH,时钟为光电检测器的输出,光带检测器每次有输出,则计数器1存储器中的值递减1。计数器2用于定时,计数初值100,时钟为计数器0的输出,这样可以定时5秒。然后进入小循环(代码中的LOOPER):该小循环在程序最底层,每顺序执行一次即进行一次循环,首先判断按键,以决定是否退出程序以及7段数码管显示的是测得值还是标准值。接着检测PB7是否为1,即是否经过5秒,如果没有达到5秒,则进行开关处的检测,判断开关当前所处的档位,然后赋给相应高低电平时间(软件计时,即延时代码),然后让0832输出相应的方波,在延时程序中,将要显示的值显示到7段数码管中,然后跳回,重新开始一遍小循环;如果达到5秒,计数器1停止计数,锁存计数值,由此计算转速,根据转速设置对应红绿灯的亮灭。并将该次的测得值与标定值(预期)进行比较,根据两者之间的差异对输出方波的占空比进行调整。然后将该次的测得值在PC屏幕上显示。接着返回,重新开始大循环,继续下一轮的检测与控制。
进一步设计
(1)设置急停按钮功能;
K5输出为1时表示急停命令,通过检验8255PA5端口是否为高电平可知K5的状态。当K5为1时,输出80h给0832,使得Ub输出电平为0,使得电机停止转动。从而实现急停的功能。此外,由于每秒对A口进行检测一次,所以当急停命令撤除后,下个周期就能够重新开始运转。
(3)在PC 上同步显示设定和转速曲线。
以设置值shezhi为横坐标,以实际值shiji为纵坐标,通过int 10h中断进行图形的绘制,其中每秒钟进行一次小段绘制。从而实现设定和转速曲线的绘制。
四. 方案实现与测试
DATA SEGMENT
ioport EQU 0b800h-0280h io0832 EQU ioport+290H ; d/a
io8255k EQU ioport+28BH ; 8255 KONG
io8255a EQU ioport+288H ; 8255 a
io8255b EQU ioport+289H ; 8255 b
io8255c EQU ioport+28AH ; 8255 c
io8253k EQU ioport+283H ; 8253控制
io82532 EQU ioport+282H ; 8253计数器2
io82531 EQU ioport+281H ; 8253计数器1
io82530 EQU ioport+280H ; 8253计数器0
mess DB 'Strike r to show the tested value!,s to show the sandard value!',0AH,0DH,'$'
LEDCOD DB
3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
BUF1 DW ?
6
《微机实验及课程设计》报告
BUF2 DW ? NUM1 DB 0 NUM2 DB 0 NUM3 DB 0 NUM4 DB 0 KEYS DB 0
SAND DW 0 ;标准值 RESU DW 0 ;测得值 MINU DW 0 ;偏差值 REPL DW 0 ;显示值 REPG DB 0 ;显示值个位 REPS DB 0 ;显示值十位 ZFSIT DB 0FFH ;D/A输出极性控制
K0B2 DW 0100H K1B2 DW 0150H K2B2 DW 0200H K3B2 DW 0250H K4B2 DW 0300H K5B2 DW 0350H DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA MOV DS,AX
MOV DX,io8255k
MOV AL,82H ;A输出负责数码显示,B用于输入开关状态和输入负责监控计时器是否计时完毕,C输出负责控制计数器工作, OUT DX,AL
MOV DX,io8253k
MOV AL,36h ;计数器0,方式3,先读写低8位,再读写高8位
OUT DX,AL ;输入时钟,1MHZ
MOV DX,io82530
MOV AX,50000 ;初
值50000,输出时钟周期50ms OUT DX,AL
NOP NOP
MOV AL,AH OUT DX,AL
MOV DX,io8255k MOV AL,00H OUT
DX,AL ;C0(GATE1)低电平,定时器1禁止计数
MOV DX,offset mess MOV AH,09H
INT 21H ;显示提示信息
INTK:
MOV DX,io8253k MOV AL,70H OUT
DX,AL ;计数器1,方式0,先读写低8位,再读写高8位。 MOV
DX,io82531 ;输入时钟为光电开关输出。
MOV AL,0ffH
OUT DX,AL ;从FF到零,65536 NOP NOP
OUT DX,AL ;高八位
MOV DX,io8253k MOV AL,90H
OUT DX,AL ;计数器2,方式0,只读写低8位,检测时间5秒
MOV DX,io82532 MOV AL,100
OUT DX,AL ;初值 100 ,检测 5 秒 50ms * 100 计数器 0
7
《微机实验及课程设计》报告
输出是计数器 2 的 CLK
MOV DX,io8255k MOV AL,01H
OUT DX,AL ;PC0输出1, MOV REPG,AH ;个位 JMP COUNTER
EXPRO: MOV AH,4CH
INT 21H ;退定时器1开始计数
LOOPER: MOV AH,06H MOV DL,0FFH
INT 21H ;判断输入按键 JE COUNTER ;没有按键就继续执行COUNTER
MOV BL,AL
XOR BL,73H ;判断是否有按键为s(标准值) JZ SANREP MOV BL,AL
XOR BL,72H ;判断是否有按键为r(测得值) JZ RESREP JMP EXPRO
SANREP: MOV AX,SAND MOV DX,0000h
MOV CX,000ah ;折算成0.5秒钟的电机转速
DIV CX ;这时转速应为一个2位数,存于AX中 MOV CL,10
DIV CL ;除10 MOV REPS,AL ;十位 MOV REPG,AH ;个位 JMP COUNTER
RESREP: MOV AX,RESU MOV DX,0000h
MOV CX,000ah ;折算成0.5秒钟的电机转速
DIV CX ;这时转速应为一个2位数,存于AX中 MOV CL,10
DIV CL ;除10 MOV REPS,AL ;十位 出程序
COUNTER: MOV DX,io8255b IN AL,DX AND AL,80H
JZ SWITMP ;8255 PB7是否为0,为零则计数未结束
FINISH: MOV DX,io8255k MOV AL,00H
OUT DX,AL ;定时器1停止计数
MOV DX,io82531 IN AL,DX MOV BL,AL IN AL,DX
MOV BH,AL ;16位计数值送BX
MOV AX,0FFFFH SUB
AX,BX ;计算脉冲个数
MOV RESU,AX ;将脉冲值保存到resu中
CMP AX,0000H
JZ RED CMP AX,0200H JB
GREEN ;脉冲小于0300H ,绿灯亮
MOV DX,io8255k MOV
AL,05H ;C口位控,pc2为1,接黄灯 OUT DX,AL JMP LOOP2
8
《微机实验及课程设计》报告
RED: MOV DX,io8255k MOV
AL,03H ;PC1为红灯 OUT DX,AL JMP LOOP2
GREEN: MOV DX,io8255k MOV
AL,07H ; PC3为绿灯 OUT DX,AL JMP LOOP2
SWITMP: JMP SWI ;SWI跳转过渡
LOOP2:
MOV DX,io8255c
IN AL,DX TEST AL,10H JNZ
NEXT1 ;PC7开环检测
MOV DX,RESU CMP DX,SAND JL LESSTHAN CMP DX,SAND JG GREATERTHAN NEXT1: JMP NEXT
LOOPERTMP: JMP LOOPER ;从DELAY跳转至LOOPER的过渡
LESSTHAN: MOV BL,KEYS TEST BL,01H JNZ CL0 TEST BL,02H JNZ CL1 TEST BL,04H JNZ CL2 TEST BL,08H JNZ CL3 TEST BL,10H JNZ CL4 TEST BL,20H JNZ CL5 JMP NEXT
CL0: SUB K0B2,0010H JMP NEXT
CL1: SUB K1B2,0010H JMP NEXT
CL2: SUB K2B2,0010H JMP NEXT
CL3: SUB K3B2,0010H JMP NEXT
CL4: SUB K4B2,0010H JMP NEXT
CL5: SUB K5B2,0010H JMP NEXT
GREATERTHAN: MOV BL,KEYS TEST BL,01H JNZ CG0 TEST BL,02H JNZ CG1 TEST BL,04H JNZ CG2 TEST BL,08H JNZ CG3 TEST BL,10H JNZ CG4 TEST BL,20H JNZ CG5 JMP NEXT
CG0: ADD K0B2,0010H JMP NEXT
CG1: ADD K1B2,0010H JMP NEXT
CG2: ADD K2B2,0010H JMP NEXT
CG3: ADD K3B2,0010H JMP NEXT
CG4: ADD K4B2,0010H
9
《微机实验及课程设计》报告
JMP NEXT CG5: ADD K5B2,0010H JMP NEXT NEXT: MOV AX,SAND CALL DISP ;显示标准值 MOV DL,0dh MOV AH,02 INT 21h MOV AX,RESU CALL DISP ;显示实际值 MOV DL,0ah MOV AH,02 INT 21h JMP INTK SWI: MOV DX,io8255b IN AL,DX ;8255b口为读取开关 MOV KEYS,AL TEST AL,40H JZ SWIST ;无需反转则继续检测其他情况 MOV ZFSIT,0FFH JMP SWISAND SWIST: MOV ZFSIT,00H MOV RESU,00H SWISAND: TEST AL,01H JNZ K0 TEST AL,02H JNZ KK1TMP TEST AL,04H JNZ KK2TMP TEST AL,08H JNZ KK3TMP TEST AL,10H JNZ KK4TMP TEST AL,20H JNZ K5TMP JMP LOOPERTMP K0: MOV SAND,880 ;假设标准 MOV BUF2,0050H ;高电平延时的常数 MOV AX,K0B2 MOV BUF1,AX ;低电平延时的常数 DELAY: MOV CX,BUF2 MOV AL,ZFSIT MOV DX,io0832 OUT DX,AL DELAY1: MOV AL,REPS MOV BX,OFFSET LEDCOD XLAT MOV DX,io8255a ; A口控制LED灯,低位 OUT DX,AL MOV AL,REPG MOV BX,OFFSET LEDCOD XLAT OR AL,80H MOV DX,io8255a ; PA7为1,写高位 OUT DX,AL LOOP DELAY1 JMP TTMP KK1TMP: JMP K1 KK2TMP: JMP K2 KK3TMP: JMP K3 KK4TMP: JMP K4 TTMP: MOV AL,80H MOV DX,io0832 OUT DX,AL MOV CX,BUF1
10
《微机实验及课程设计》报告
DELAY2: MOV AL,REPS MOV BX,OFFSET LEDCOD XLAT
MOV DX,io8255a OUT DX,AL MOV AL,REPG
MOV BX,OFFSET LEDCOD MOV BUF1,AX JMP DELAY
K5: MOV SAND,110 ;假设标准
MOV BUF2,0050H MOV AX,K5B2 MOV BUF1,AX XLAT
OR AL,80H MOV DX,io8255a OUT DX,AL
LOOP DELAY2
JMP LOOPERTMP
K5TMP: JMP K5 转至K5的过渡
K1: MOV SAND,750 准
MOV BUF2,0050H MOV AX,K1B2 MOV BUF1,AX JMP DELAY
K2: MOV SAND,500 准
MOV BUF2,0050H MOV AX,K2B2 MOV BUF1,AX JMP DELAY
K3: MOV SAND,430 准
MOV BUF2,0050H MOV AX,K3B2 MOV BUF1,AX JMP DELAY
K4: MOV SAND,140 准
MOV BUF2,0050H MOV AX,K4B2
;跳
;假设标
;假设标
;假设标
;假设标
JMP DELAY
DISP PROC NEAR ;BCD转换并显示子程序
MOV DX,0000h
MOV CX,000ah ;折算成0.5秒钟的电机转速
DIV CX ;这时转速应为一个2位数,存于AX中 MOV CL,10
DIV CL ;除10 MOV NUM3,AL ;十位
MOV NUM4,AH ;个位 MOV AL,NUM3 CALL DISP1 MOV AL,NUM4 CALL DISP1 RET
DISP ENDP
DISP1 PROC NEAR ;显示一个字符 AND AL,0FH CMP AL,09H JLE NUM ADD AL,07H NUM: ADD AL,30H MOV DL,AL MOV AH,02 INT 21H RET DISP1 ENDP CODE ENDS END START
11
《微机实验及课程设计》报告
五.分析与总结
就这个项目来说,整个编程思路并不难理解,但是其中对于每个芯片的使用和连接运用都是一个细致
活,有很多的小细节需要考虑。我们基本完成了实验要求以及一部分拓展要求。
但是就实验效果来说,还是有我们没有考虑到的因素。例如硬件红黄绿灯的延迟。
在这个为期两个多礼拜的项目设计中,我学到了很多。不仅是巩固了已学到的知识,而且加强了自己
对汇编语言编程,调试的技巧。同时,实验中层出不穷的突发事件也让我解决问题的能力得到了提升。
12
正在阅读:
东南大学微机实验课程设计 电机05-28
南大社会研究方法第一次作业01-01
国内战略性新兴产业博硕士论文计量分析12-10
声频应变仪安装工作程序(B)05-14
歌咏比赛通知01-12
省新编VFP教程习题及答案01-24
水平面内圆周运动的临界问题学案01-14
食品公司仓库管理制度06-07
2018-2024年中国热处理设备行业市场分析与发展趋势预测报告(目录)01-05
计算机基础习题04-07
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 东南大学
- 微机
- 电机
- 课程
- 实验
- 设计
- 芬苯达唑粉等兽药产品说明书和标签
- 一年级(上)综合实践活动教案
- 甘州区金安苑学校教学活动安排公示制度
- 地税系统人力资源管理面临的问题及对策
- 基于单片机的心率计的设计
- 财政学(陈共第六版)选择题(有答案)
- 开业策划
- 《广西壮族自治区人民政府关于促进广西北部湾经济区开放开发的若
- 提升音体美学科教学质量实施方案
- 步进输送机设计说明书
- 油气长输管线现场焊接的质量控制措施
- 2009-2010年第一学期试卷 印
- 绿色设计在室内设计中的应用
- 02六味地黄丸
- 一步步教你在Workbench中完成流场分析
- 2012-2014年1季度东北地区其他农副食品加工行业财务指标分析季报
- 固定式压力容器安全技术监察规程 - -专题解读研讨纲要 - 图文
- 如何避免OEE在设备管理实施过程中的误区
- 质量管理体系审核检查表
- 家长会教案