您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 微机原理 实验四 直流电机测速实验
实验四直流电机测速实验一、实验目的:(1)掌握8254的工作原理和编程方法;(2)了解光电开关,掌握用光电传感测量电机转速的方法。二、实验内容:光电测速的基本电路由光电传感器,计数器/定时器组成。被测电机主轴上固定一个圆盘,圆盘的边缘上有小孔。传感器的红外发射端和接收端装在圆盘的两侧,电机带动圆盘转到有孔的位置时,红外光通过,接收管导通,输出低电平。红外光被挡住时,接收截止,输出高电平。用计数器/定时器记录在一定时间内传感器发出的脉冲个数,就可以计算出电机的转速。三、线路连接:线路连接如图4.5所示,8254计数器/定时器0和2作为定时器,确定测速时间,定时器0的CLK0连1MHZ脉冲频率,OUT0作为定时器2的输入,与CLK2相连,输出OUT2与8255的PA0端相连。GATE0和GATE2均接+5V,8254计数器/定时器1作为计数器,输入CLK1与直流电机计数关连接,GATE1与8255的PC0相连。电机DJ端与+5V~0V模拟开关SW1相连。四、编程提示:8255计数器/定时器1作为计数器,记录脉冲个数,计数器/定时器0和2作为定时器,组成10~60秒定时器,测量脉冲个数,算出电机每分钟的转速并显示在屏幕上。8255的PA0根据OUT2的开始和结束时间,通过PC0向8254计数器/定时器1发出开始和停止计数信号。五、流程图如图4.6所示图4.6直流电机测速程序流程图六,编写源程序如下:DATASEGMENTIOPORTEQU0D880H-0280HIO8255KEQUIOPORT+283H;8255控制口IO8255AEQUIOPORT+280H;8255A口IO8255CEQUIOPORT+282H;8255C口IO8254KEQUIOPORT+28BH;8254控制IO82542EQUIOPORT+28AH;8254计数器2IO82541EQUIOPORT+289H;8254计数器1IO82540EQUIOPORT+288H;8254计数器0MESSDB'STRIKEANYKEY,RETURNTODOS!',0AH,0DH,'$'COUDB0COU1DB0COUNT1DB0COUNT2DB0COUNT3DB0COUNT4DB0DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVDX,OFFSETMESSMOVAH,09HINT21H;显示提示信息MOVDX,IO8254KMOVAL,36H;计数器0,方式3,先读写低8位,再读写高8位OUTDX,AL;输入时钟,1MHZMOVDX,IO82540MOVAX,50000;初值50000,输出时钟周期50MSOUTDX,ALNOPNOPMOVAL,AHOUTDX,ALMOVDX,IO8255K;8255,PA0通道输入,PC0输出MOVAL,90HOUTDX,ALMOVDX,IO8255CMOVAL,00OUTDX,AL;PC0低电平,定时器1禁止计数LL:MOVAH,01H;有无键入INT16HJNZQUIT1;有键入,返回MOVDX,IO8254KMOVAL,70HOUTDX,AL;计数器1,方式0,先读写低8位,再读写高8位MOVDX,IO82541;输入时钟为光电开关输出MOVAL,0FFHOUTDX,ALNOPNOPOUTDX,ALMOVDX,IO8254KMOVAL,90HOUTDX,AL;计数器2,方式0,只读写低8位MOVDX,IO82542MOVAL,100OUTDX,AL;初值100,检测5sMOVDX,IO8255CMOVAL,01HOUTDX,AL;PC0输出1,定时器1开始计数JMPA0QUIT1:JMPQUITA0:MOVDX,IO8255AA1:INAL,DXANDAL,01HJZA1MOVDX,IO8255CMOVAL,00HOUTDX,ALMOVDX,IO8254KMOVDX,70HOUTDX,ALMOVDX,IO82541INAL,DXMOVBL,ALINAL,DXMOVBH,ALMOVAX,0FFFFHSUBAX,BXCALLDISPMOVDL,0DHMOVAH,02INT21HMOVDL,0AHMOVAH,02INT21HJMPLLDISPPROCNEARMOVDX,0000HMOVCX,03E8HDIVCXMOVCOUNT1,ALMOVAX,DXMOVCL,64HDIVCLMOVCOUNT2,ALMOVAL,AHMOVAH,00HMOVCL,10DIVCLMOVCOUNT3,ALMOVCOUNT4,AHMOVAL,COUNT1CALLDISP1MOVAL,COUNT2CALLDISP1MOVAL,COUNT3CALLDISP1MOVAL,COUNT4CALLDISP1RETDISPENDPDISP1PROCNEARANDAL,0FHCMPAL,09HJLENUMADDAL,07HNUM:ADDAL,30HMOVDL,ALMOVAH,02INT21HRETDISP1ENDPQUIT:MOVAH,4CHINT21HCODEENDSENDSTART将以上源程序编写后保存为“ZHILIUDIANJI.ASM”文件。七、实验结果:①连接实验箱上电线时,为防止损坏实验箱电路板,应先关闭电脑和实验箱电源,接下来才能按实验电路图1连接好电线,随后才能打开电脑进行接下来的操作。②对源文件“ZHILIUDIANJI.ASM”,用“ML”命令进行汇编链接,生成可执行文件“ZHILIUDIANJI.EXE”。③打开扩展卡I/O端口地址,用ALLOWIO命令打开I/O端口地址:命令为程序为:ALLOWIO1*0D8801*0D8881*0D8901*0D8981*0D8A01*0D8A81*0D8B01*0D8B8回车。或者用实验室电脑上已经编写好一个批处理文件,方法是直接输入“RUN”,回车,如下图:④随后,给实验箱通电,并执行可执行文件“ZHILIUDIANJI.EXE”,调节直流电路旋钮可改变电机转速,即可看到屏幕上显示的一系列电机的速度。八、思考题:问:关闭电机后为什么8254计数不为零?答:由于之前计数值即电机转速已经存储在锁存器中,关闭电机后,程序还是将之前的数值显示在屏幕上,所以不为零。九、实验总结:本次实验相当有趣,在前面几个实验的基础上,用电脑测试了外部一个电机的转速。激发了我们学习汇编语言和微机原理的兴趣,对我们以后的学习起到很大的引导作用。
本文标题:微机原理 实验四 直流电机测速实验
链接地址:https://www.777doc.com/doc-5230040 .html