编码电位器c语言程序,360°编码电位器原理

在音频功率放大器中,音量控制是必不可少的环节,尤其是现在用微电脑控制的多通道AV

功放,一般都采用一枚多通道音量控制芯片进行音量调节,而且根据标准要求:每个通道音量既需要总调又需要单独微调。因此,对音量控制手段提出了特殊要求。过去常用的普通多联碳膜电位器(手动或马达遥控)已无法适应这种要求,于是脉冲电位器或称数码电位器就应运而生。脉冲电位器能够360

度旋转,音量调节速度可编程控制,它寿命长、不产生噪声、,电路简单,这都是碳膜电位器无法比拟的。但其结构工作原理使用方法与普通电位器截然不同,本文讨论脉冲电位器原理及与单片机接口编程方法,旨在起到抛砖引玉的作用。

脉冲电位器的工作原理

从外观看,脉冲电位器与普通电位器一样都是三个引脚,但在其内部与引脚1、2相连的是两个长短不一的金属静片,与引脚3相连的是一周有12或24个齿的金属动片。当脉冲电位器旋转时可出现四种状态:即引脚3与引脚1相连,引脚3与引脚2及引脚1全相连;引脚3与引脚2相连,引脚3与引脚2及引脚1全断开。

a4c26d1e5885305701be709a3d33442f.png

在实际使用中,一般将引脚3接地作为数据输入端。而引脚1、2作为数据输出端与单片机I/O

口相连。如图2中所示,将引脚1与单片机的P1.0相连,引脚2与单片机的P1.1相连。当脉冲电位器左旋或右旋时,P1.0和P1.1就会周期性地产生图1所示的波形,如果是12点的脉冲电位器旋转一圈就会产生12组这样的波形,24点的脉冲电位器就会产生24组这样的波形;一组波形(或一个周期)包含了4个工作状态。因此只要检测出P1.0和P1.1的波形,就能识别脉冲电位器是否旋转是左旋还是右旋。

脉冲电位器接口编程方法

1、脉冲电位器旋转的识别

a4c26d1e5885305701be709a3d33442f.png

进一步分析右的波形并按时间轴展开可以看出,虽然脉冲电位器左旋和右旋的波形都相同。但左旋时,在第1状态,脚1先比脚2变为低电平;在第2状态,脚2也变为低电平;在第3状态,脚1先比脚2变为高电平;在第4状态,脚2也变为高电平;脉冲电位器右旋时,脚1和脚2输出波形的变化规律正好与左旋相反。故可根据时间识别法(比较P1.0与P1.1低电平出现和结束的时差)来识别脉冲电位器是左旋还是右旋。

在动态扫描中,因采样频率操作速度等因素的影响,实际上很难测出P1.0和P1.1的波形;也很难测准P1.0与P1.1低电平出现和结束的时差,只能快速地对P1.0和P1.1电平采样。对应图1所示波形按时间轴展开,每当P1.0和P1.1的组合电平依次为01

00 10 11四种状态码组成一个字节即4BH 时,就表示左旋一位音量减1。而每当P1.0和P1.1的组合电平依次为10 00 01

11四种状态码组成一个字节即87H时;就表示右旋一位音量加1。这里将“4BH”称为左旋一位的特征码,“87H”称为右旋一位的特征码。编程的任务就是要在脉冲电位器旋转过程中识别出这两种特征码,并以此为依据,对音量进行增减控制。实际编程时可以用不同的方法识别出这两种特征码。但我们在实践中经过比较,用状态(位置)采样法实现编程是较为理想的一种方法。这种方法对采样频率和操作速度没有特别要求,也可不用定时器和中断资源,只需在主程序里面就能完成,而且具有编程简单抗干扰能力强工作可靠的优点。

由于脉冲电位器在工作过程中有三种情形:一是没有被旋转而停留在某一状态(位置);二是虽然被旋转但没有完成一个周期(4个状态)而停留在某一状态;三是不停地被旋转而超过一个周期。状态(位置)采样法就是要准确地跟踪识别和记录脉冲电位器变化的每一个状态值(包括位置值和它对应的特征码)。程序一开始就要识别出脉冲电位器所处的现态位置和其对应的特征码;随后不断跟踪扫描记录脉冲电位器的每一变化过程。显然,脉冲电位器只有旋转到第4个状态才有一个我们所需要的特征码出现,程序根据这个特征码的性质再对音量进行加减控制。

脉冲电位器接口编程示例

右图是实际运用中的电路图,电路非常简单,这也是最为经典的一种接法源程序清单

MC_STATE EQU 20H ; 脉冲电位器旋转位置寄存器

MC_DATA EQU 21H ; 脉冲电位器特征码寄存器

MCK1 EQU P1.0 ; 脉冲电位器1 脚数据输出端

MCK2 EQU P1.1 ; 脉冲电位器2 脚数据输出端

START:

................

MOV MC_STATE, #00H ; 旋转位置寄存器置初值

MOV MC_DATA, #0FFH ; 特征码寄存器置初值

MAIN:

............................

............................

AJMP MAIN ; 继续跟踪采样

用状态(位置)采样法拟定的程序流程图略,这里没有使用定时器和中断资源,而是将采样处理程序放在主程序里面

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值