本应用笔记介绍了一种DS1845或DS1855非易失数字电位器的简略接口计划,运用Microchip?的PIC12F509完成。
硬件设置
图1所示原理图描绘了按键与微操控器的衔接,也阐明晰IC接口的完成计划。
三个瞬态按键开关别离用于递加(UP)、递减(DWN)和中心值(MID)设置。按下按键时,开关迫使对应的微操控器通用I/O (GP0、GP1和GP3)口置低。由于微操控器内部有上拉电阻(可选),能够切当挑选这些I/O口。假如微操控器作业在低电流休眠形式,IO口的电平改动也能发作唤醒中止信号。另一输入开关为单刀双掷开关,衔接到微操控器的GP2引脚,经过软件编程挑选POT0和POT1。
SDA、SCL和LED衔接到GP5、GP4和GP0。SDA和SCL具有4.7kΩ上拉电阻,直接与数字电位器的通讯接口衔接。LED和MID瞬态开关共用GP0引脚。大部分时间段,GP0作为输入引脚,按下MID按键时将GP0拉低。但是,假如按下其它开关的任何一个或两个一起按下,PIC?输出低电平,点亮LED。这种情况下,LED将在MID按下时被点亮,其它按键按下时,LED由PIC驱动。R1、R2、R3可选,运用PIC12F509时并不需求这些电阻。
图2给出了估DS1845/DS1855时的特定衔接方法。跳线器用来挑选地址总线,隔脱离所运用的电源VCC (VDD)以及SDA和SCL。
图1.PIC12F509接口电路
图2.DS1845/DS1855数字电位器与PIC操控器的衔接
固件阐明
这个项目的固件选用汇编语言编写,由MPLAB IDE (7.31版)进行编译。该编译软件能够从Microchip免费取得。整个软件占用的指令空间低于512字节(闪存),数据空间低于14字节(RAM)。
指令分为5个模块:初始化、读操作、递加调理、递减调理、中心值设置。固件简略地以接连轮询检测输入引脚进行循环。由于软件的固有推迟和软件处理逻辑约束,选用了开关去抖,削减噪声引起开关的误操作。
一旦PIC电源上电或从休眠状况唤醒(假如休眠状况使能),将运转初始化模块。初始化模块运转后,为相应的寄存器、标志位及变量赋值。履行这些指令后,从循环中调用读操作或写操作,经过I?C接口与数字电位器通讯。
数字电位器的I?C读操作仅发作在RD_FLAG标志置位时。初始化期间标志位被置位,尔后,任何按键操作将改写数字电位器的数值。数字电位器的电阻值改动后或器材敞开后,履行一次I?C读操作;假如没有按下UP、DWN或MID按键,总线上不会发作通讯操作。例如:假如数字电位器用来操控电源校准,这时接通按键操控器可完成在线编程。当时的数字电位器抽头方位将在履行I?C写指令之前读取。I?C写指令完成后,RD_FLAG将从头置位,经过I?C读取新的数字电位器数值。
运转UP、DWN和MID模块后将履行读操作。运转这些模块时,对应的引脚被拉至低电平;一旦检测到引脚的高电平状况,将当即退出相应的程序模块,不会发作任何I?C通讯。假如检测到低电平状况,软件将依照逻辑流程履行相应的程序模块。
能够从Maxim的FTP网站下载程序源代码(.asm文件)。
功用阐明
该项目固件和硬件供给几种不同操作,对DS1845/DS1855数字电位器的抽头方位进行编程。开关和LED的功用如下:
POT0/1 (挑选触发开关) 该开关挑选下一个循环需求操控的数字电位器。改动开关S4的状况挑选POT0或POT1,这将发作I?C读操作,不会影响LED。
点击MID、UP或DWN按键(< 400ms) 按下其间一个按键,所挑选的数字电位器的抽头方位将递加(UP)、递减(DWN)或设置为中心值(MID)。履行I?C写操作时,LED将立刻点亮;I?C读操作将在下一循环发作。
按下并坚持UP或DWN按键(> 400ms) 按下并坚持UP或DWN按键时,所挑选的数字电位器将进入快速递加或递减形式。数字电位器的抽头方位将接连改动,直到开释按键或到达最大/最小值。履行I?C写操作时,LED将点亮,并在开释按键之前坚持点亮状况。开释按键后,将在下一循环履行I?C读操作。
按下并坚持UP按键,然后点击DWN按键按下并坚持UP按键,所挑选的数字电位器的抽头方位将开端递加。然后,在UP按键仍处于按下状况时,点击DWN按键,抽头方位将直接置于最大电阻方位。LED一直处于点亮状况,直到开释按键。开释按键后,将在下一循环履行I?C读操作。
按下并坚持DWN按键,然后点击UP按键按下并坚持DWN按键,所挑选的数字电位器的抽头方位开端递减。在DWN按键按下的一起,点击UP按键,所挑选电位器抽头方位将直接置于最小电阻值0x00。LED一直处于点亮状况,直到开释按键。开释按键后,将在下一循环履行I?C读操作。
LED闪耀3次 PIC上电初始化或当看门狗定时器(使能情况下)引起体系复位时,LED将闪耀3次。
LED接连快速闪耀发作I?C通讯毛病时,LED将接连闪耀。毛病免除后,LED将康复正常状况。经过检测器材地址是否正确、是否衔接了I?C总线进行毛病排查。
定论
本应用笔记介绍了一种DS1845/DS1855接口计划,运用简略的高性价比操控器完成。按键输入将被转化成I?C指令,无需主机操控,即可完成数字电位器的递加、递减调理,或将其设置在数字电位器的中心值。