background image

电机运转的细密化迅捷勘验

方法 1:由 AT89C2051 单片机扩展一片可编程定时/计数器 8253、计数同步电路、高频

时钟电路、四倍频器和光电脉冲发生器组成,测速部分的组成如示。8253 内含 3 个相同的
16 位可预值的减法计数器,每个计数器均有独立的时钟输入端 CLK,时钟输出端 OUT
和门控输入端 GATE,通过编程设置其工作方式。在中,计数器 1 和计数器 2 采用方式 0
作为计数器,分别对转速脉冲信号和高频脉冲信号进行计数。AT89C2051 的 T0 采用定时
器方式 1,用于控制采样周期(如果 8253 的计数器 0 没有使用,也可以用计数器 0 对高
频脉冲信号计数来控制采样周期)。同步计数电路气胀轴由 D 型触发器和门电路组成 。
AT89C2051 同时启动内部的定时器 T0 和发出启动测速信号,使 P1.1 由 0 变为 1.从可以看
出,这时计数器 1 和计数器 2 并没有立即开始计数,而是在 CP 脉冲上升沿的的作用下 Q
变为高电平后,与门打开,使转速脉冲信号和高频脉冲信号分别到达 CLK1 和 CLK2 输
入端,计数才开始;当定时器 T0 定时时间到使 P1.1 由 1 变为 0 时,计数器 1 和计数器 2
并没有立即停止计数,而是在 CP 下一个脉冲上升沿的作用下 Q 变为低电平后,与门关
闭,CLK1 和 CLK2 输入端无信号输入,才停止计数器计数。

方法 2:硬件组成和波形如所示,当 Q=1 时 8253 计数,Q=0 时停止计数。原理在此不

再详述。

方法 3:上述方法 1 和方法 2 由于只使用一块 8253 芯片,在 Q=1 时 8253 进行计数,

而在 Q=0 时停止计数,并且 8253 不能立即启动计数。

在 AT89C2051 在中断服务程序中读取 8253 计数器 1 和计数器 2 的计数值,重新设定

内部定时器的初值和 8253 计数器 1 和计数器 2 的计数初值,重新启动 T0 和发出测速启动
信号后并在 CP 下一个脉冲上升沿的作用下 Q 变为高电平后,8253 才重新开始计数,因
此 8253 总要有计数的停止时间,这样降低了转速的采样频率。为了实现快速测量,特作
改进,硬件组成和波形如所示。

可见,使用了两块 8253 芯片交替工作,当一块 8253 正在计数时,CPU 在 CP2 下降

沿(即单稳电路由暂稳态结束恢复到稳态的下降沿)作用下产生外部中断请求,在中断
服务程序中根据 P1.1 的状态判断当前是哪一个计数器在工作,从而读取刚刚停止工作的
另一块芯片在上一采样周期的计数值,并重新设置其计数初值,为下一采样周期的重新
计数作好准备,这样可以快速实现电机瞬时值的测量。

在采样定时器发出的采样脉冲信号上升沿的作用下 Q0 置 1,则 D1=1.在四倍频脉冲

信号的上升沿的作用下,Q1 置 1,而 Q1 为单稳电路的触发信号,Q1 的上升沿触发单稳
电路工作,单稳电路输出脉冲的下降沿有 3 个作用:触发器 G1 和 G0 清零;产生 INT0 的
外部中断请求;使触发器 G2 产生翻转,切换 18253 和 28253 的工作。

软件设计方法 3 的主程序和 T0 以及外部中断 0 中断服务程序的框如示。由于 8253 为

减法计数器,初始化时设其定时器 1 和定时器 2 的计数初值均为 OFFFFH,这样当计数结
束后,将定时器中的计数结果读出取反,即可得到 mp 和 mc 的值。PSW.5 为用户标志,初
始化为 0,当产生外部中断,在中断服务程序中读取 8253 的计数值后,使 PSW.5 置 1,