|
|
|
如何使用外部模拟电压控制数字电位器
时间:2016-09-07 08:26:19
本应用笔记描述了使用外部模拟电压改变数字电位器阻值的简易方法。使用Microchip的PIC12F683型微控制器将模拟电压转换至控制数字电位器的I²C数据流。数字电位器DS1803作为本应用中的示例器件,另外还用到极少数其他外部器件。这里介绍的方法适用于其他控制器输入和其他数字电位器/可变电阻。 硬件配置 图1显示了使用PIC12F683的控制电路原理图。微控制器6个GPIO中的4个用于控制SDA、SCL的输出信号、单个LED,并接收一路模拟输入。 GP5、GP4和GP0分别分配至信号输出SDA、SCL和LED。SDA和SCL具有4.7kΩ上拉电阻至VDD,直接连接至DS1803的SDA和SCL引脚。微控制器的GP1 IO分配为模拟输入引脚。通过跳线可选择地址引脚、分离共用的VCC (VDD)、隔离SDA和SCL。 图1. 模拟电压控制数字电位器的原理图 工程固件 本工程的固件在MPLAB IDE (7.40版本)环境下,由汇编语言编写。此编译工具目前由Microchip免费提供。全部程序仅占用小于450字节的程序空间(Flash)和8字节的数据空间(RAM)。 程序首先初始化PIC的多个配置位,包括ADC和内部振荡器。程序配置ADC为从GP1输入,并设置转换时钟为使用内部125kHz振荡器。 固件运行一个循环:ADC持续转换模拟输入端的电压,一旦转换完毕,10位ADC输出的高8位作为数据字节,传送至I²C总线。此I²C信号用于控制DS1803。程序设置为一同控制DS1803的2个电位器;但通过改变固件,可以实现由PIC12F683的2个不同的模拟输入独立的控制2个数字电位器。 多种功能 程序允许用户通过改变PIC12F683 GP1输入端的电压,控制数字电位器。GP1端电压的持续变化会引起数字电位器电阻的相应变化。输出电阻(ROUT)可以看作是输入电压的函数。 |