微机原理实验报告直流电机测速实验.docx
《微机原理实验报告直流电机测速实验.docx》由会员分享,可在线阅读,更多相关《微机原理实验报告直流电机测速实验.docx(8页珍藏版)》请在冰豆网上搜索。
本科实验报告
课程名称:
微机原理及接口技术
课题项目:
直流电机测速实验
专业班级:
电科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发出开始和停止计数信号。
开始
显示提示信息
8254定时器0置初值,周期50ms的方波
8254定时器2置初值,周期10s的方波
有键按下
PA0=0?
结束
技算并显示
8255初始化,PA0输入,PC0输
五、流程图
8254计数器1置初值
PC0输出“1”,GATE为高电平,开始计数
PC0=1?
锁存计数值,去脉冲个数
六、实验程序:
DATA SEGMENT
IOPORT EQU0D880H-0280HIO8255K EQUIOPORT+283HIO8255A EQUIOPORT+280HIO8255C EQUIOPORT+282HIO8254K EQUIOPORT+28BHIO82542 EQUIOPORT+28AHIO82541 EQUIOPORT+289HIO82540 EQUIOPORT+288H
MESS DB 'STRIKEANYKEY,RETURNTODOS!
',0AH,0DH,'$'COU DB0
COU1 DB0
COUNT1 DB0
COUNT2 DB0
COUNT3 DB0
COUNT4 DB0DATA ENDS
CODE SEGMENT
ASSUME CS:
CODE,DS:
DATASTART:
MOV AX,DATA
MOV DS,AX
MOV DX,OFFSETMESS
MOV AH,09H
INT 21H
MOV DX,IO8254K
MOV AL,36H
OUT DX,AL
MOV DX,IO82540
MOV AX,50000
OUT DX,ALNOP
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,01HINT 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:
CDMASM
(1)编辑汇编语言源程序:
EDITMA2.ASM,编辑源程序。
(2)汇编链接源程序:
MLMA2.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的工作原理和编程方法,并了解光电开关,掌握光电传感器测速电机转速的方法。