直流电机测速实验_第1页
直流电机测速实验_第2页
直流电机测速实验_第3页
直流电机测速实验_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验三直流电机测速实验一实验目的(1) 掌握8254的工作原理和编程方法;(2) 了解光电开关,掌握用光电传感器测量电机转速的方法。二实验内容光电测速的基本电路由光电传感器、计数器/定时器组成。被测电机主轴上固定一 个圆盘,圆盘的边缘上有小孔。传感器的红外发射端和接收端装在圆盘的两侧,电机 带动圆盘转到有孔的位置时,红外光通过,接收管导通,输出低电平。红外光被挡住 时,接收截止,输出高电平。用计数器/定时器记录在一定时间内传感器发出的脉冲个 数,就可以计算出电机的转速。三线路连接线路连接如图所示。8254计数器/定时器0和2作为定时器,确定测速时间,定时 器0的CLKo引脚输入1MHz脉冲,输

2、出OUTo引脚作为定时器2的输入,与CLK2 引脚相连,输出引脚OUT2与8255的PAo端相连。GATEo和GATE2均接+5V电源。 8254计数器/定时器1作为计数器,输入引脚CLK1与直流电机计数端连接,GATE1 与8255的PC0相连。电机DJ端与+5V0V模拟开关SW1相连。8254288H28FH f - *280H287H f -OUT。GATE0CLK0+5VOUT1GATE1CLK1OUT2GATE2CLK2CSPA08255PC0CS+5V-+5VSW1图直流电机测速实验接线图四编程提示8254计数器/定时器1作为计数器,记录脉冲个数,计数器/定时器0和2作为定 时器,

3、组成1060秒定时器,测量脉冲个数,以此计算出电机每份钟的转速,并显示 在计算机屏幕上。8255的PA0根据OUT2的开始和结束时间,通过PC0向8254计数器/定时器1发 出开始和停止计数信号。五程序流程图译码器端口六参考程序DATASEGMENT;数据段IOPORTEQU 0D880H-0280H;8255端口基地址IO8255KEQUIOPORT+283H ; 8255控制口地址IO8255AEQU IOPORT+280H;8255 A 口地址IO8255CEQUIOPORT+282H;8255 C 口地址IO8254KEQUIOPORT+28BH;8254控制口地址IO82542EQU

4、IOPORT+28AH;8254计数器2端口地址IO82541EQUIOPORT+289H;8254计数器1端口地址IO82540EQUIOPORT+288H;8254计数器0端口地址MESSDBSTRIKE ANY KEY,RETURN TO DOS!; 0AH,COUDB0;预留单元并清零COU1DB0COUNT1DB0COUNT2DB0COUNT3DB0COUNT4DB0DATAENDSCODESEGMENT;代码段ASSUMECS:CODE,DS: DATASTART :MOVAX,DATA;初始化,取段基址MOVDS,AXMOVDX,OFFSETMESS ; MESS首地址MOVAH

5、,09H;DOS 9号调用,ODH, $;提示信息INT21H;显示提示信息MOVDX,IO8254K;D& 8254控制口地址MOVAL,36H; AL=36H , 控制字OUTDX,AL;设置计数器 0 ,方式 3,先读写低 8 位,再读写高 8 位MOVDX,IO82540;DX 8254计数器0端口地址MOVAX,50000;初始值为 50000,输入时钟为 1MHz ,则输出时钟周期 50msOUTDX,AL;输出低 8 位NOP;空操作NOPMOVAL,AH;AL AHOUTDX,AL;输出高 8 位MOVDX,IO8255K; DX 8255控制口地址MOVAL,90H,;AL=

6、90H,控制字OUTDX,AL;A 口方式0输入,PAo输入;C 口方式0输出,PCo输出MOVDX,IO8255C; DX 8255 端口 C 口地址,MOVAL,00; AL=0OUTDX,AL;PG=0,则GATE1为低电平,定时器1禁止计数LL:MOVAH,01H; DOS 1号调用,判断是否有键按下?INT16HJNZQUIT1;ZF=0,有键按下,转到标号QUIT1MOVDX,IO8254K; DX 8254控制口地址MOVAL,70H;AL=70H,控制字OUTDX,AL;设置计数器1,方式0,先读写低8位,再读写高 8位MOVDX,IO82541; DX 8254计数器 1 地

7、址MOVAL,0FFH;定时常数,实际为 FFFFHOUTDX,AL;输出低8位NOP;空操作NOPOUTDX,AL;输出高8位,开始计数MOVDX,IO8254K; DX 8254控制口地址MOVAL,90H;AL=90H,控制字OUTDX,AL;计数器 2,方式 0,只读写低 8 位MOVDX,IO82542; DX 8254计数器 2地址MOVAL,100;AL=100,定时常数OUTDX,AL;CLK2=50ms定时常数为100则OUT2定时时间即检测时间为5秒MOVDX,IO8255C;DX 8255 端口 C 地址MOVAL,01H; AL=01HOUTDX,AL;PC0输出1,即

8、为高电平,定时器1开始计数JMPA0;无条件转移到标号 A0QUIT1:JMPQUIT;无条件转移到标号 QUITA0:MOVDX,IO8255A;DX 8255端口 A 地址A1:INAL,DX;读入PA0的值,进行检测ANDAL,01H;判断PA0是否为高电平1 ?JZA1;ZF=1即PA0=0为低电平,转到标号A1,继续检测MOVDX,IO8255C;ZF=0即PA0=1为高电平,定时器2定时5秒结束OUT2输出高电平MOVAL,00H;AL=00HOUTDX,AL;8255端口 C输出0,定时器1停止计数MOVDX,IO8254KDX 8254控制口地址MOVAL,70HAL=70HO

9、UTMOVINMOVINMOVMOVSUBCALLMOVMOV INT MOV MOV INT JMP DISP PROCMOVMOV DIV MOV MOV MOV DIV MOV MOV MOV MOV DIV MOVMOVMOVCALLMOVCALL MOVCALLMOVCALLDX,AL DX,IO82541 AL,DX BL,AL AL,DX BH,AL AX,0FFFFH AX,BX DISP DL,0DH AH,02 21H DL,0AH AH,02 21H LL NEAR DX,0000H CX,03E8H CX COUNT1,AL AX,DX CL,64H CL COUNT2

10、,AL AL,AH AH,00H CL,10 CL COUNT3,AL COUNT4,AH AL,COUNT1 DISP1 AL,COUNT2 DISP1 AL ,COUNT3DISP1AL ,COUNT4 DISP1;设置计数器1,方式0,先读写低8位,再读写高 8位;DX 8254计数器1地址;读入计数器 1 的内容;BLAL先读入低8位;读入计数器 1 的内容;BH J AL后读高8位,16位计数值送BX; AX=FFFFH;AX - BX=计算脉冲个数;调显示子程序;DL=ODH,“回车”的 ASCII 码; DOS 2号调用;DL=OAH,“换行”的 ASCII 码; DOS 2号调

11、用;无条件转到标号 LL ,继续检测;十六进制数-BCD转换并显示子程序; DX=O; CX=O3E8H=1OOO;AXjDX ,AX-1000商, DXjDX ,AX000余数;COUNTJ1 AL ,千位;AXJDX 余数;CL=64H=100;AL J AX-100商,AH J AX- 100余数;COUNT2JAL,百位;AL JAH 余数;AH=0;CL=10; AL J AX 10商, AH J AX 10余数;COUNT3JAL,十位;COUNT4JA L,个位AL J COUNT1调显示字符子程序RETDISPENDPDISP1PROCNEAR显示字符子程序ANDAL, 0FH“与”操作,屏蔽高 4位,保留低 4位CMPAL, 09HAL 与 9 比较JLENUM;AL 9, DLJ

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论