新聞中心

EEPW首頁 > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 構(gòu)建DS1803/DS1805數(shù)字電位器的按鍵控制器

構(gòu)建DS1803/DS1805數(shù)字電位器的按鍵控制器

作者: 時(shí)間:2007-08-01 來源:網(wǎng)絡(luò) 收藏

概述

本應(yīng)用筆記介紹了一種使用幾個(gè)按鍵和一個(gè)微控制器控制DS1803或DS1805的簡易方法。Microchip PIC12F509微控制器用于連接四個(gè)開關(guān)和數(shù)字器,僅需極少的元件。


硬件

該應(yīng)用的硬件原理圖如圖1、圖2所示。PIC12F509有6個(gè)I/O口,用于SDA、SCL輸出控制、一個(gè)LED和4個(gè)開關(guān)的接收。

圖1 給出了PIC12F509的內(nèi)部控制原理圖,R1 、R2和R3為上拉電阻,使用PIC12F509時(shí)無需安裝這些電阻。圖2是DS1803的電路連接,跳線用于選擇地址引腳、分離共用的VCC (VDD)以及斷開SDA、SCL連接。

3個(gè)開關(guān)為觸摸式按鍵,用于增(UP)/減(DWN)和中間值(MID)控制。當(dāng)按鍵按下時(shí),微控制器通用I/O (GP0、GP1、GP3)中的一路拉低。由于這些I/O均有內(nèi)部上拉(可選擇),在器件已進(jìn)入低電流SLEEP模式時(shí)可以產(chǎn)生中斷喚醒,做出正確的I/O識(shí)別。另外一路輸入開關(guān)為雙刀雙擲配置,用于觸發(fā)GP2,用來選擇POT0或POT1的編程。

SDA、SCL和LED輸出分別分配由GP5、 GP4和GP0控制。 SDA和SCL具有4.7kΩ上拉電阻,直接連接到數(shù)字器的通信引腳。LED 和MID瞬時(shí)開關(guān)均采用GP0引腳控制。GP0引腳在大部分時(shí)間內(nèi)作為輸入,MID按鍵可將其拉至低電平。但如果一個(gè)或兩個(gè)其它觸摸式按鍵被按下,該引腳輸出低電平,使LED點(diǎn)亮。通過這種方式,LED在MID按鍵按下時(shí)點(diǎn)亮,或在其它按鍵按下時(shí)由PIC點(diǎn)亮。

圖1. PIC12F508接口電路

圖2. DS1803數(shù)字電位器與PIC控制器的連接

固件

本工程固件用匯編語言編寫,在MPLAB IDE (7.31版本)上編譯。目前此工具由Microchip免費(fèi)提供,整個(gè)程序包括:程序空間(閃存)低于512個(gè)指令,數(shù)據(jù)空間(RAM)為11位置數(shù)據(jù)。

程序分為5塊:初始化、讀數(shù)據(jù)、UP、DWN和MID。由于這款PIC不提供任何中斷,固件簡單地循環(huán)運(yùn)行,連續(xù)檢測輸入引腳。程序通過內(nèi)部延時(shí)和邏輯流程自動(dòng)完成開關(guān)去抖。

PIC上電或喚醒后(如果SLEEP使能)執(zhí)行一次初始化程序。初始化程序執(zhí)行完畢后,工作寄存器、標(biāo)志位和變量均被置為已知狀態(tài)。這些指令執(zhí)行完畢后,其它幾個(gè)程序可以連續(xù)循環(huán),檢測開關(guān)狀態(tài),通過I2C接口讀、寫新的電位器值。

只有在RD_FLAG置位后,才能通過I2C讀取電位器值。該標(biāo)志位在初始化時(shí)被置位,按鍵按下時(shí)可調(diào)用電位器寄存器的寫操作,寫入一個(gè)新的數(shù)值。只有在電位器數(shù)值發(fā)生變化或上電時(shí)才進(jìn)行I2C讀操作,所以在增、減控制和中點(diǎn)設(shè)置按鍵均沒有按下時(shí),總線不會(huì)出現(xiàn)多余的通信。例如,如果數(shù)字電位器用于控制電源的參數(shù),連接按鍵以實(shí)現(xiàn)在線編程。執(zhí)行I2C寫操作之前,可讀取當(dāng)前的電位器值。每當(dāng)I2C寫操作完成后,RD_FLAG重新置位,產(chǎn)生I2C讀操作讀取新的電位器值。

讀程序后按順序執(zhí)行UP、DWN和MID指令。執(zhí)行每個(gè)子程序時(shí)將相應(yīng)的引腳拉至低電平。如果相應(yīng)的引腳為高電平,將迅速退出子程序,不產(chǎn)生任何I2C通信。如果檢測到低電平,則運(yùn)行流程圖所示程序。

可從Dallas Semiconductor的FTP網(wǎng)站下載固件流程圖(PDF)、源代碼(ASM)和可執(zhí)行指令(HEX),獲取本工程設(shè)計(jì)的完整說明。

http://files.dalsemi.com/system_extension/AppNotes/AN4011
功能說明

本工程的固件和硬件在設(shè)置DS1803/DS1805電位器時(shí)允許進(jìn)行多種不同的操作。開關(guān)和LED的功能如下:

結(jié)論

本應(yīng)用筆記介紹了DS1803或DS1805電位器的使用和控制方法。系統(tǒng)將按鍵輸入轉(zhuǎn)換為I2C指令,完成增、減和中點(diǎn)設(shè)置。本設(shè)計(jì)無需計(jì)算機(jī)主機(jī),只需要少量的外部元件即可實(shí)現(xiàn)電位器控制。

有關(guān)該應(yīng)用筆記的問題/說明/建議,請(qǐng)發(fā)送email至MixedSignal.Apps@dalsemi.com。



評(píng)論


技術(shù)專區(qū)

關(guān)閉