当前位置:文档之家› 微机原理实验报告直流电机测速实验

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

本科实验报告
课程名称:微机原理及接口技术
课题项目:直流电机测速实验
专业班级:电科1201 学号:2012001610 学生姓名:王天宇
指导教师:任光龙
2015年 5 月24 日
直流电机测速实验
一、实验目的
1.掌握8254的工作原理和编程方法
2.了解光电开关,掌握光电传感器测速电机转速的方法。

二、实验内容
光电测速的基本电路有光电传感器、计数器/定时器组成。

被测电机主轴上固定一个圆盘,圆盘的边缘上有小孔。

传感器的红外线发射端和接收端装在圆盘的两侧,电机带动圆盘转到有孔的位置时,红外线光通过,接收管导通,输出低电平。

红外线被挡住时,接收截止,输出高电平。

用计数器/定时器记录在一定时间内传感器发出的脉冲个数,就可以计算车电机的转速,
三、线路连接
线路连接:8254计数器/定时器0和2作为定时器,确定测速时间,定时器0的CLK0连1MHZ脉冲频率,OUT0作为定时器2的输入,与CLK2相连,输出OUT2与8255的PA0端相连。

GATE0和GATE2均接+5V,8354计数器/定时器1作为计数器,,输入CLK1与直流电机计数端连接,GATE1与8254的PC0相连。

电机DJ端与+5V~0V模拟开关SW1相连。

如下图所示。

四、编程提示
8254计数器/定时器1作为计数器记录脉冲个数,计数器/定时器0和2作为定时器,组成10~60秒定时器,测量脉冲个数,算出点击每分钟的转速并显示在屏幕上,
8255的PA0根据OUT2的开始和结束时间,通过PC0向8254计数器/定时器1发出开始和停止计数信号。

五、流程图
六、实验程序:
DATA SEGMENT
IOPORT EQU 0D880H-0280H
IO8255K EQU IOPORT+283H
IO8255A EQU IOPORT+280H
IO8255C EQU IOPORT+282H
IO8254K EQU IOPORT+28BH
IO82542 EQU IOPORT+28AH
IO82541 EQU IOPORT+289H
IO82540 EQU IOPORT+288H
MESS DB 'STRIKE ANY KEY,RETURN TO DOS!', 0AH, 0DH,'$'
COU DB 0
COU1 DB 0
COUNT1 DB 0
COUNT2 DB 0
COUNT3 DB 0
COUNT4 DB 0
DATA ENDS
CODE SEGMENT
ASSUME CS: CODE, DS: DATA START: MOV AX, DATA
MOV DS, AX
MOV DX, OFFSET MESS
MOV AH, 09H
INT 21H
MOV DX, IO8254K
MOV AL, 36H
OUT DX, AL
MOV DX, IO82540
MOV AX, 50000
OUT DX, AL
NOP
NOP
MOV AL, AH
OUT DX, AL
MOV DX, IO8255K
MOV AL, 90H
OUT DX, AL
MOV DX, IO8255C
MOV AL, 00
OUT DX, AL
LL: MOV AH, 01H
INT 16H
JNZ QUIT1
MOV DX, IO8254K
MOV AL, 70H
OUT DX, AL
MOV DX,IO82541
MOV AL,0FFH
OUT DX,AL
NOP
NOP
OUT DX, AL
MOV DX, IO8254K
MOV AL, 90H
OUT DX, AL
MOV DX, IO82542
MOV AL, 100
OUT DX, AL
MOV DX, IO8255C
MOV AL, 01H
OUT DX, AL
JMP A0
QUIT1: JMP QUIT
A0: MOV DX, IO8255A A1: IN AL, DX
AND AL, 01H
JZ A1
MOV DX, IO8255C
MOV AL, 00H
OUT DX, AL
MOV DX, IO8254K
MOV AL, 70H
OUT DX, AL
MOV DX, IO82541
IN AL, DX
MOV BL, AL
IN AL, DX
MOV BH, AL
MOV AX, 0FFFFH
SUB AX, BX
CALL DISP
MOV DL, 0DH
MOV AH,02
INT 21H
MOV DL, 0AH
MOV AH, 02
INT 21H
JMP LL
DISP PROC NEAR
MOV DX, 0000H
MOV CX, 03E8H
DIV CX
MOV COUNT1, AL
MOV AX, DX
MOV CL, 64H
DIV CL
MOV COUNT2, AL
MOV AL, AH
MOV AH, 00H
MOV CL, 10
DIV CL
MOV COUNT3, AL
MOV COUNT4, AH
MOV AL, COUNT1
CALL DISP1
MOV AL, COUNT2
CALL DISP1
MOV AL, COUNT3
CALL DISP1
MOV AL, COUNT4
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
QUIT: MOV AH, 4CH
INT 21H
CODE ENDS
END START
七、实验步骤
1.连接试验电路
2.打开主机进入DOS环境:开始—运行—cmd确定
3.编辑、汇编、链接汇编语言程序
E:
CD MASM
(1)编辑汇编语言源程序:EDIT MA2.ASM,编辑源程序。

(2)汇编链接源程序:ML MA2.ASM
没有语法错误,继续下一步,有错,则返回上一部编辑状态,改错。

4.打开扩展卡I/O端口地址
(1)进入DOS全屏模式:
Alt+Enter
(2)打开I/O端口地址:
RUN
5.运行和调试汇编程序
试验箱通电
(1)直接运行汇编、链接所产生的可执行的文件
MA2
(2)调试器运行汇编语言可执行文件。

八、实验结果:
.
九、实验结果分析
8254是一种可编程定时/计数器作为计数器,记录脉冲个数,计数器/定时器0和2作为定时器组成10~60秒定时器,测量脉冲个数,算出点击每分钟的转速并显示在屏幕上,调节SW1可使转速在0在最大转速间变化。

十、思考题:
1. 关闭电机后为什么8254计数不为零?
答:由于之前计数值即电机转速已经存储在锁存器中,关闭电机后,程序还是将之前的数值显示在屏幕上,所以不为零。

十一、实验心得:
通过本次试验掌握8254的工作原理和编程方法,并了解光电开关,掌握光电传感器测速电机转速的方法。

欢迎下载,谢谢观看!资料仅供参考学习
-。

相关主题