




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微机实验及课程设计报告 东南大学微机实验及课程设计课程设计报告综合测试题二小型电机控制系统姓 名: 学 号: 专 业: 实 验 室: 组 别: 同组人员: 设计时间:2013年05月 24日 2013年06月4 日评定成绩: 审阅教师: 目 录一 课程设计目的与要求 3二方案论证与原理设计4三详细(机理)设计5四方案实现与测试(或调试)6五分析与总结 14一. 课程设计目的与要求直流电机实验要求:1)基本要求 (难度系数1.0)利用DAC0832 输出一串脉冲,经放大后驱动小直流电机,利用开关K0K5 控制改变输出脉冲的电平及持续时间,达到使电机加速、减速的目的,控制过程采取开环与闭环两种方式实现:(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 上同步显示设定和转速曲线。二.原理设计及流程图8253计数器1初始化方式0,开始计数8253计数器2初始化,方式0,计数100,计时5s计数器1开始计数判断有无按键判断急停按钮是否打开按键为r按键为s其它按键将RESU的值给REP将SAND的值给REP退出程序开始主程序给8255赋控制字A、C输出,B口输入8253计数器0初始化方式3,计时50ms显示提示和版权信息无按键是否8253计数器1停止计数将当前值赋给RESU比较当前的RESU和SAND的值,调整低电平的时间在屏幕上显示当前RESU的值计数器2是否计时结束打开则将ZFSIT赋值ff,否则将其赋0使电机停转判断开关开在哪一档将BUF1(即低电平时间)赋成对应的值使0832输出为高电平,进行循环将REP值输出至7段数码管显示使0832输出为低电平,进行循环将REP值输出至7段数码管显示,输出电脉冲的高低电平时间比例为BUF2:BUF11、设计思路流程图 判断脉冲个数,并依据脉冲个数,设置红绿灯亮灭判断开闭环控制 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口输入,用于并行读入K0K5的状态;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并行输入输出接口接受K1K5的速度设置命令,则进行开关处的检测,判断开关当前所处的档位,然后赋给相应高低电平时间(软件计时,即延时代码),然后让0832输出相应的方波,。4利用转速脉冲检测电机实际转速,在PC机上显示设定速度和实际速度,并在数码管上显示速度偏差,同时用红黄绿三只发光管表示当前电机运行状态。计数器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中断进行图形的绘制,其中每秒钟进行一次小段绘制。从而实现设定和转速曲线的绘制。四. 方案实现与测试12DATA SEGMENTioport EQU 0b800h-0280hio0832 EQU ioport+290H; d/aio8255k EQU ioport+28BH; 8255 KONGio8255a EQU ioport+288H; 8255 aio8255b EQU ioport+289H; 8255 bio8255c EQU ioport+28AH; 8255 cio8253kEQU ioport+283H; 8253控制io82532EQU ioport+282H; 8253计数器2io82531EQU ioport+281H; 8253计数器1io82530EQU ioport+280H; 8253计数器0mess DB Strike r to show the tested value!,s to show the sandard value!,0AH,0DH,$LEDCODDB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHBUF1 DW ?BUF2 DW ?NUM1DB 0NUM2DB 0NUM3DB 0NUM4DB 0KEYSDB0SANDDW0;标准值RESUDW0;测得值MINUDW0;偏差值REPLDW0;显示值REPGDB0;显示值个位REPSDB0;显示值十位ZFSITDB0FFH;D/A输出极性控制K0B2DW0100HK1B2DW0150HK2B2DW0200HK3B2DW0250HK4B2DW0300HK5B2DW0350HDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV DX,io8255kMOV AL,82H ;A输出负责数码显示,B用于输入开关状态和输入负责监控计时器是否计时完毕,C输出负责控制计数器工作,OUT DX,ALMOV DX,io8253k MOV AL,36h ;计数器0,方式3,先读写低8位,再读写高8位 OUT DX,AL ;输入时钟,1MHZMOV DX,io82530MOV AX,50000 ;初值50000,输出时钟周期50msOUT DX,ALNOP NOPMOV AL,AHOUT DX,AL MOVDX,io8255kMOVAL,00HOUTDX,AL ;C0(GATE1)低电平,定时器1禁止计数MOVDX,offset mess MOVAH,09H INT21H ;显示提示信息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;高八位 MOVDX,io8253k MOVAL,90H OUTDX,AL ;计数器2,方式0,只读写低8位,检测时间5秒 MOVDX,io82532 MOVAL,100 OUTDX,AL ;初值 100 ,检测 5 秒 50ms * 100 计数器 0 输出是计数器 2 的 CLK MOVDX,io8255k MOVAL,01H OUTDX,AL;PC0输出1,定时器1开始计数LOOPER:MOVAH,06HMOVDL,0FFHINT21H;判断输入按键JECOUNTER ;没有按键就继续执行COUNTERMOVBL,ALXORBL,73H;判断是否有按键为s(标准值)JZSANREPMOVBL,ALXORBL,72H;判断是否有按键为r(测得值)JZRESREPJMPEXPROSANREP:MOVAX,SAND MOVDX,0000h MOVCX,000ah;折算成0.5秒钟的电机转速 DIVCX;这时转速应为一个2位数,存于AX中 MOVCL,10 DIVCL;除10 MOVREPS,AL;十位 MOVREPG,AH;个位JMPCOUNTERRESREP:MOVAX,RESU MOVDX,0000h MOVCX,000ah;折算成0.5秒钟的电机转速 DIVCX;这时转速应为一个2位数,存于AX中 MOVCL,10 DIVCL;除10 MOVREPS,AL;十位 MOVREPG,AH;个位JMPCOUNTEREXPRO:MOV AH,4CHINT 21H ;退出程序COUNTER:MOVDX,io8255b INAL,DX ANDAL,80H JZSWITMP;8255 PB7是否为0,为零则计数未结束FINISH:MOVDX,io8255k MOVAL,00H OUTDX,AL;定时器1停止计数 MOVDX,io82531 INAL,DX MOVBL,AL INAL,DX MOVBH,AL;16位计数值送BXMOVAX,0FFFFH SUBAX,BX ;计算脉冲个数MOVRESU,AX ;将脉冲值保存到resu中 CMP AX,0000HJZ RED CMP AX,0200HJB GREEN ;脉冲小于0300H ,绿灯亮MOV DX,io8255kMOV AL,05H ;C口位控,pc2为1,接黄灯OUT DX,ALJMP LOOP2RED:MOV DX,io8255kMOV AL,03H ;PC1为红灯OUT DX,ALJMP LOOP2GREEN: MOV DX,io8255k MOV AL,07H ; PC3为绿灯 OUT DX,ALJMP LOOP2 SWITMP:JMPSWI;SWI跳转过渡LOOP2:MOV DX,io8255cIN AL,DXTEST AL,10HJNZNEXT1 ;PC7开环检测MOVDX,RESUCMPDX,SANDJLLESSTHANCMPDX,SANDJGGREATERTHANNEXT1:JMPNEXTLOOPERTMP:JMPLOOPER;从DELAY跳转至LOOPER的过渡LESSTHAN:MOVBL,KEYSTEST BL,01HJNZ CL0TEST BL,02HJNZ CL1TEST BL,04HJNZ CL2TEST BL,08HJNZ CL3TEST BL,10HJNZ CL4TEST BL,20HJNZ CL5JMPNEXTCL0:SUBK0B2,0010HJMPNEXTCL1:SUBK1B2,0010HJMPNEXTCL2:SUBK2B2,0010HJMPNEXTCL3:SUBK3B2,0010HJMPNEXTCL4:SUBK4B2,0010HJMPNEXTCL5:SUBK5B2,0010HJMPNEXTGREATERTHAN:MOVBL,KEYSTEST BL,01HJNZ CG0TEST BL,02HJNZ CG1TEST BL,04HJNZ CG2TEST BL,08HJNZ CG3TEST BL,10HJNZ CG4TEST BL,20HJNZ CG5JMPNEXTCG0:ADDK0B2,0010HJMPNEXTCG1:ADDK1B2,0010HJMPNEXTCG2:ADDK2B2,0010HJMPNEXTCG3:ADDK3B2,0010HJMPNEXTCG4:ADDK4B2,0010HJMPNEXTCG5:ADDK5B2,0010HJMPNEXTNEXT: MOV AX,SANDCALLDISP ;显示标准值 MOVDL,0dh MOVAH,02 INT21hMOV AX,RESU CALL DISP ;显示实际值 MOVDL,0ah MOVAH,02 INT21hJMPINTKSWI:MOV DX,io8255bIN AL,DX ;8255b口为读取开关MOV KEYS,ALTESTAL,40HJZSWIST;无需反转则继续检测其他情况MOVZFSIT,0FFHJMPSWISANDSWIST:MOVZFSIT,00HMOV RESU,00HSWISAND:TEST AL,01HJNZ K0TEST AL,02HJNZ KK1TMPTEST AL,04HJNZ KK2TMPTEST AL,08HJNZ KK3TMPTEST AL,10HJNZ KK4TMPTEST AL,20HJNZ K5TMPJMP LOOPERTMPK0:MOVSAND,880;假设标准MOV BUF2,0050H ;高电平延时的常数MOVAX,K0B2MOV BUF1,AX ;低电平延时的常数DELAY: MOV CX,BUF2MOV AL,ZFSITMOV DX,io0832OUT DX,ALDELAY1:MOVAL,REPSMOVBX,OFFSET LEDCODXLATMOVDX,io8255a ; A口控制LED灯,低位OUTDX,ALMOVAL,REPGMOVBX,OFFSET LEDCODXLATORAL,80HMOVDX,io8255a ; PA7为1,写高位OUTDX,ALLOOP DELAY1JMPTTMPKK1TMP:JMPK1KK2TMP:JMPK2KK3TMP:JMPK3KK4TMP:JMPK4TTMP:MOV AL,80HMOV DX,io0832OUT DX,ALMOV CX,BUF1DELAY2:MOVAL,REPSMOVBX,OFFSET LEDCODXLATMOVDX,io8255aOUTDX,ALMOVAL,REPGMOVBX,OFFSET LEDCODXLATORAL,80HMOVDX,io8255aOUTDX,ALLOOP DELAY2JMP LOOPERTMPK5TMP:JMP K5;跳转至K5的过渡K1:MOVSAND,750;假设标准MOV BUF2,0050HMOVAX,K1B2MOV BUF1,AXJMP DELAYK2:MOV
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025北京市保安服务有限公司朝阳分公司招录协勤岗招聘40人模拟试卷及一套答案详解
- 2025内蒙古赤峰市克什克腾旗事业单位“绿色通道”引进高层次人才5人考前自测高频考点模拟试题及答案详解(必刷)
- 五年级数学(小数乘法)计算题专项练习及答案
- 2025广东东莞市东坑镇中心幼儿园第二批招聘老师3人模拟试卷及参考答案详解1套
- 2025广西玉林市北流市西埌镇招聘村级网格管理员1人模拟试卷及答案详解一套
- 2025海南昌江昌粮储备有限公司招聘工作人员(第3号)考前自测高频考点模拟试题有完整答案详解
- 2025广西玉林市福绵区直属机关党员服务中心招聘见习生1人模拟试卷及答案详解(易错题)
- 公司对外承包经营协议书5篇
- 小区绿化与环境保护协议
- 2025年塑料挤吹中空成型机合作协议书
- 教师岗位聘任申请书模板合集
- 2025年贵州省毕节市辅警招聘考试题库及答案
- 2025重庆市公安局江北区分局辅警招聘60人考试参考题库及答案解析
- 巴中市恩阳区2025年专项招聘卫生专业技术人员的(50人)考试参考题库及答案解析
- 车规级芯片设计-洞察及研究
- 道路运输业安全培训课件
- 一年级新生家长会校长讲话:习惯奠基成长路家校同行护萌娃
- 2025【粮食购销合同范本】粮食购销合同
- 德邦防御性驾驶培训课件
- 煤场安全生产知识培训课件
- 2025-2026学年人教版(2024)小学体育与健康二年级全一册《防溺水知危险》教学设计
评论
0/150
提交评论