微机原理直流电机测速实验

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验四直流电机测速实验

一、实验目的:

(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直流电机测速程序流程图

六,编写源程序如下:

DATASEGMENT

IOPORTEQU0D880H-0280H

IO8255KEQUIOPORT+283H;8255控制口

IO8255AEQUIOPORT+280H;8255A口

IO8255CEQUIOPORT+282H;8255C口

IO8254KEQUIOPORT+28BH;8254控制

IO82542EQUIOPORT+28AH;8254计数器2

IO82541EQUIOPORT+289H;8254计数器1

IO82540EQUIOPORT+288H;8254计数器0

MESSDB'STRIKEANYKEY,RETURNTODOS!',0AH,0DH,'$'

COUDB0

COU1DB0

COUNT1DB0

COUNT2DB0

COUNT3DB0

COUNT4DB0

DATAENDS

CODESEGMENT

ASSUMECS:CODE,DS:DATA

START:MOVAX,DATA

MOVDS,AX

MOVDX,OFFSETMESS

MOVAH,09H

INT21H;显示提示信息

MOVDX,IO8254K

MOVAL,36H;计数器0,方式3,先读写低8位,再读写高8位

OUTDX,AL;输入时钟,1MHZ

MOVDX,IO82540

MOVAX,50000;初值50000,输出时钟周期50MS

OUTDX,AL

NOP

NOP

MOVAL,AH

OUTDX,AL

MOVDX,IO8255K;8255,PA0通道输入,PC0输出

MOVAL,90H

OUTDX,AL

MOVDX,IO8255C

MOVAL,00

OUTDX,AL;PC0低电平,定时器1禁止计数

LL:MOVAH,01H;有无键入

INT16H

JNZQUIT1;有键入,返回

MOVDX,IO8254K

MOVAL,70H

OUTDX,AL;计数器1,方式0,先读写低8位,再读写高8位MOVDX,IO82541;输入时钟为光电开关输出

MOVAL,0FFH

OUTDX,AL

NOP

NOP

OUTDX,AL

MOVDX,IO8254K

MOVAL,90H

OUTDX,AL;计数器2,方式0,只读写低8位

MOVDX,IO82542

MOVAL,100

OUTDX,AL;初值100,检测5s

MOVDX,IO8255C

MOVAL,01H

OUTDX,AL;PC0输出1,定时器1开始计数

JMPA0

QUIT1:JMPQUIT

A0:MOVDX,IO8255A

A1:INAL,DX

ANDAL,01H

JZA1

MOVDX,IO8255C

MOVAL,00H

OUTDX,AL

MOVDX,IO8254K

MOVDX,70H

OUTDX,AL

MOVDX,IO82541

INAL,DX

MOVBL,AL

INAL,DX

MOVBH,AL

MOVAX,0FFFFH

SUBAX,BX

CALLDISP

MOVDL,0DH

MOVAH,02

INT21H

MOVDL,0AH

MOVAH,02

INT21H

JMPLL

DISPPROCNEAR

MOVDX,0000H

MOVCX,03E8H

DIVCX

MOVCOUNT1,AL

MOVAX,DX

MOVCL,64H

DIVCL

MOVCOUNT2,AL

MOVAL,AH

MOVAH,00H

相关文档
最新文档