《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 為DS1845 DS1855數字電位器構建按鍵接口
為DS1845 DS1855數字電位器構建按鍵接口
摘要: 本應用筆記介紹了一種DS1845/DS1855接口方案,利用簡單的高性價比控制器實現。按鍵輸入將被轉化成I?C命令,無需主機控制,即可實現數字電位器的遞增、遞減調節,或將其設置在數字電位器的中間值。
Abstract:
Key words :


引言   

本應用筆記介紹了一種DS1845DS1855非易失數字電位器的簡單接口方案,利用Microchip?的PIC12F509實現。

硬件設置   

圖1所示原理圖描述了按鍵與微控制器的連接,也說明了I?C接口的實現方案。

三個瞬態按鍵開關分別用于遞增(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命令,無需主機控制,即可實現數字電位器的遞增、遞減調節,或將其設置在數字電位器的中間值。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 青春草国产成人精品久久| 一本一本久久a久久综合精品蜜桃| 狠狠爱天天综合色欲网| 国产又粗又猛又黄又爽无遮挡| 99精品免费观看| 撞击着云韵的肉臀| 亚洲h在线观看| 2022久久国产精品免费热麻豆 | 色宅男午夜电影在线观看| 国产精品美女久久久久| 久久综合九色欧美综合狠狠| 狠狠色噜噜狠狠狠狠网站视频| 国产亚洲美女精品久久久久| 一本大道香蕉高清视频视频 | 欧美在线一级精品| 免费精品国产日韩热久久| 进击的巨人第一季动漫樱花动漫| 国产精品夜色一区二区三区| heisiav1| 成人午夜性视频欧美成人| 亚洲电影在线播放| 精品长泽梓在线播放视频| 国产婷婷成人久久av免费高清| 91精品国产免费久久国语麻豆| 岳的大白屁股光溜溜| 久久久精品国产| 熟妇女人妻丰满少妇中文字幕| 国产狂喷潮在线观看| jjzz在线观看| 桃子视频在线观看高清免费视频 | 国产无套露脸视频在线观看| 两根硕大一起挤进小h| 日韩成人一区ftp在线播放| 亚洲欧洲无卡二区视頻| 第一福利在线视频| 四虎永久免费地址ww484e5566| 97热久久免费频精品99| 巨大破瓜肉h强| 久久不见久久见免费视频7| 波多野结衣中文无毒不卡| 另类国产ts人妖视频网站|