1、被测电机主轴上固定一个圆盘,圆盘的边缘上有小孔。传感器的红外线发射端和接收端装在圆盘的两侧,电机带动圆盘转到有孔的位置时,红外线光通过,接收管导通,输出低电平。红外线被挡住时,接收截止,输出高电平。用计数器/定时器记录在一定时间内传感器发出的脉冲个数,就可以计算车电机的转速,三、线路连接线路连接:8254 计数器/定时器 0 和 2 作为定时器,确定测速时间,定时器0 的 CLK0 连 1MHZ 脉冲频率,OUT0 作为定时器 2 的输入,与 CLK2 相连, 输出 OUT2 与 8255 的 PA0 端相连。GATE0 和 GATE2 均接+5V,8354 计数器/ 定时器 1 作为计数器,
2、输入 CLK1 与直流电机计数端连接,GATE1 与 8254 的 PC0 相连。电机 DJ 端与+5V0V 模拟开关 SW1 相连。如下图所示。四、编程提示8254 计数器/定时器 1 作为计数器记录脉冲个数,计数器/定时器 0 和 2 作为定时器,组成 1060 秒定时器,测量脉冲个数,算出点击每分钟的转速并显示在屏幕上,8255 的 PA0 根据 OUT2 的开始和结束时间,通过 PC0 向 8254 计数器/定时器 1 发出开始和停止计数信号。开始显示提示信息8254 定时器 0 置初值,周期 50ms 的方波8254 定时器 2 置初值,周期 10s 的方波有键按下PA0=0?结束技
3、算并显示8255 初始化,PA0 输入,PC0 输五、流程图8254 计数器 1 置初值PC0 输出“1”,GATE 为高电平,开始计数PC0=1?锁存计数值,去脉冲个数六、实验程序:DATASEGMENTIOPORTEQU 0D880H-0280H IO8255KEQU IOPORT+283H IO8255AEQU IOPORT+280H IO8255CEQU IOPORT+282H IO8254KEQU IOPORT+28BH IO82542EQU IOPORT+28AH IO82541EQU IOPORT+289H IO82540EQU IOPORT+288HMESSDBSTRIKE A
4、NY KEY,RETURN TO DOS!, 0AH, 0DH,$ COUDB 0COU1DB 0COUNT1DB 0COUNT2DB 0COUNT3DB 0COUNT4DB 0 DATAENDSCODESEGMENTASSUMECS: CODE, DS: DATA START:MOVAX, DATAMOVDS, AXMOVDX, OFFSET MESSMOVAH, 09HINT21HMOVDX, IO8254KMOVAL, 36HOUTDX, ALMOVDX, IO82540MOVAX, 50000OUTDX, AL NOPNOPMOVAL, AHMOVDX, IO8255KMOVAL, 9
5、0HMOVDX, IO8255CMOVAL, 00LL:MOVAH, 01H INT16HJNZQUIT1MOVAL, 70HOUTDX, ALMOVDX,IO82541AL,0FFHDX,ALDX, IO8254KAL, 90HDX, IO82542AL, 100DX, IO8255CAL, 01HJMPA0QUIT1:QUITA0:DX, IO8255AA1:INAL, DXANDJZA1AL, 00HAL, 70HDX, IO82541BL, ALBH, ALAX, 0FFFFHSUBAX, BXCALLDISPDL, 0DHAH,02INT21HDL, 0AHAH, 02LLPROCN
6、EARDX, 0000HCX, 03E8HDIVCXCOUNT1, ALAX, DXCL, 64HCLCOUNT2, ALAL, AHAH, 00HCL, 10COUNT3, ALCOUNT4, AHAL, COUNT1DISP1AL, COUNT2AL, COUNT3AL, COUNT4RETENDPAL, 0FHCMPAL, 09HJLENUMADDAL, 07HNUM:AL, 30HDL, ALQUIT:AH, 4CHCODEENDSENDSTART七、实验步骤1. 连接试验电路2. 打开主机进入 DOS 环境:开始运行cmd 确定3. 编辑、汇编、链接汇编语言程序E:CD MASM(1
7、) 编辑汇编语言源程序:EDIT MA2.ASM,编辑源程序。(2) 汇编链接源程序:ML MA2.ASM没有语法错误,继续下一步,有错,则返回上一部编辑状态,改错。4. 打开扩展卡 I/O 端口地址(1) 进入 DOS 全屏模式:Alt+Enter(2) 打开 I/O 端口地址:RUN5. 运行和调试汇编程序试验箱通电(1) 直接运行汇编、链接所产生的可执行的文件MA2(2) 调试器运行汇编语言可执行文件。八、实验结果:九、实验结果分析8254 是一种可编程定时/计数器作为计数器,记录脉冲个数,计数器/定时器0 和 2 作为定时器组成 1060 秒定时器,测量脉冲个数,算出点击每分钟的转速并显示在屏幕上,调节 SW1 可使转速在 0 在最大转速间变化。十、思考题:1. 关闭电机后为什么 8254 计数不为零?答:由于之前计数值即电机转速已经存储在锁存器中,关闭电机后,程序还是将之前的数值显示在屏幕上,所以不为零。十一、实验心得:通过本次试验掌握 8254 的工作原理和编程方法,并了解光电开关,掌握光电传感器测速电机转速的方法。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1