本文以瑞萨电子公司推出的R7F0C014单片机为实例,介绍通过调用RL78系列单片机的通用API 函数实现两相输出的旋转增量式编码器驱动控制的低成本应用。
/ Z9 S( |# ~6 n& Q6 t9 m! S" b
本文介绍了对两相输出的旋转增量式编码器,采用中断方式判断旋转方向和格数,并经由I/O端口控制2 位数码管对结果进行显示的方法。编码器顺时针转动时,数码管显示数据递增;编码器逆时针转动时,数码管显示数据递减。编码器通用接口提供了6 个可由用户调用的API 函数,包括编码器的初始化,编码器的参数测量,编码器增量旋转方向和增量旋转格数的获得,编码器累积旋转方向和累积旋转格数的获得,以及编码器信息清零。用户在调用API 函数前,只需要对r_encoder_common.h 中的编码器相关宏定义进行修改即可,操作简便易行,适用于多种两相输出的旋转增量式编码器。图1为硬件结构框图,图中“INTPm”和“INTPn”可以是R7F0C014 的任意外部中断引脚。
& |, R& S4 D" y8 D! Z9 h# g1 o+ n0 i
图 1 硬件结构框图
0 i/ Z7 n* M q( U