DS1804為數(shù)字電位器,具有EEPROM存儲(chǔ)器,其接口主要設(shè)計(jì)為與按鈕(人機(jī)接口)接口。通過(guò)仔細(xì)考慮這些按鈕控制的功能,DS1804也可以通過(guò)按鈕引腳直接連接到微控制器。本應(yīng)用筆記以8051型處理器為例,描述了如何做到這一點(diǎn)。此外,本文還提供了匯編語(yǔ)言的源代碼,以簡(jiǎn)化工程師在此類應(yīng)用中使用DS1804的設(shè)計(jì)任務(wù)。涵蓋的主題包括:
如何在不更新EEPROM的情況下更改電位計(jì)設(shè)置。
如何通過(guò)更改EEPROM來(lái)更改電位器設(shè)置。
如何將電流電位計(jì)設(shè)置寫入EEPROM存儲(chǔ)器。
介紹
DS1804非易失(NV)微調(diào)電位器非常適合用于任何需要偏置電壓、電流或電阻的系統(tǒng),無(wú)論是否手動(dòng)調(diào)整。其遞增/遞減接口允許使用最少的外部硬件進(jìn)行手動(dòng)調(diào)整,或使用微型控制器進(jìn)行自主操作。游標(biāo)可以調(diào)整到100個(gè)位置之一,任何值都可以存儲(chǔ)在器件的NV寄存器中,以在上電時(shí)選擇游標(biāo)值。該器件還提供多種小型封裝選項(xiàng),包括 8 引腳 DIP、SOIC、μSOP 和倒裝芯片封裝。
本應(yīng)用筆記提供了使用達(dá)拉斯半導(dǎo)體DS1804C87 (520)微控制器控制DS8051的簡(jiǎn)單硬件和軟件設(shè)置。
與DS1804通信的微控制器硬件設(shè)置
使用DS1804的主要優(yōu)點(diǎn)之一是硬件和軟件控制界面簡(jiǎn)單。電位計(jì)和微控制器之間只需要三個(gè)連接:片選、上/下選擇和增量,分別位于圖1中微控制器的引腳P6.1、P5.1和P4.1上。原理圖上顯示了用于支持 8051 程序的兩個(gè)附加組件。第一個(gè)是經(jīng)濟(jì)振蕩器芯片,可為 22 提供 22.8051 MHz 時(shí)鐘;連接到 P1.0 的 LED 是第二個(gè)。作為程序中的狀態(tài)指示器,LED 間歇性切換以顯示程序仍在執(zhí)行。
圖1.DS87C520和DS1804連接原理圖
DS1077可以用22.118 MHz晶體代替。DS87C520采用晶體時(shí)鐘源操作的說(shuō)明見(jiàn)達(dá)拉斯半導(dǎo)體的高速微控制器用戶手冊(cè)。需要注意的是,DS87C520能夠以高達(dá)33 MHz的時(shí)鐘工作;但是,軟件中使用的延遲取決于時(shí)鐘頻率。以較高的時(shí)鐘速率工作DS87C520可能會(huì)導(dǎo)致DS1804的時(shí)序故障,而以較低頻率工作應(yīng)該不會(huì)產(chǎn)生不良影響。
使用CS、INC和UD信號(hào)控制DS1804
DS1804的操作很簡(jiǎn)單,但需要了解一些細(xì)微差別才能可靠工作。首先,設(shè)備在 50ms 的過(guò)程中上電。嘗試在該時(shí)間段之前向部件發(fā)出信息信號(hào)將不會(huì)成功。該器件還需要500μs才能將游標(biāo)的值調(diào)整為上電期間存儲(chǔ)在非易失寄存器中的值。
上電后,有兩種方法可以遞增或遞減器件。第一種方法僅更改電位計(jì)游標(biāo)位置的值。第二個(gè)改變游標(biāo)的值,并將當(dāng)前值寫入非易失性寄存器。
在不寫入非易失寄存器的情況下更改游標(biāo)位置可通過(guò)以下方法完成:
將向上/向下選擇輸入調(diào)整為高以遞增,或低以遞減。
通過(guò)置位CS信號(hào)(低電平有效)使能芯片。
脈沖INC低n-1倍以輸入/減少零件n倍。
再次斷言 INC 低點(diǎn)(INC 的下降沿上部分再次減少/減少)。
通過(guò)取消斷言 CS 來(lái)禁用芯片。
取消斷言 INC 以完成寫入。
要更改游標(biāo)的值并將最終游標(biāo)位置寫入非易失寄存器,請(qǐng)完成 以下順序:
將向上/向下選擇輸入調(diào)整為高以遞增,或低以遞減。
通過(guò)置位CS信號(hào)(低電平有效)使能芯片。
將增量信號(hào)脈沖低 n 次,以輸入/遞減零件 n 個(gè)位置。
通過(guò)取消斷言 CS 來(lái)禁用芯片。
等待10ms,將當(dāng)前游標(biāo)位置寫入NV寄存器。
另一個(gè)簡(jiǎn)單而有用的例程將游標(biāo)位置的當(dāng)前值存儲(chǔ)到NV寄存器中。脈沖CS為低電平,而增量保持高電平,將游標(biāo)的電流值存儲(chǔ)到NV寄存器中。取消 CS 后,控制器應(yīng)等待 10ms 時(shí)間,以便使用當(dāng)前游標(biāo)位置寫入 NV 寄存器。
8051 DS1804 控制軟件
有數(shù)百萬(wàn)種不同的例程可用于調(diào)整游標(biāo)位置和寫入DS1804的NV寄存器;但是,最簡(jiǎn)單的方法只需要四個(gè)例程。這些例程初始化DS1804,遞增芯片一個(gè)游標(biāo)位置,遞減芯片一個(gè)游標(biāo)位置,并將電流游標(biāo)位置寫入NV寄存器。這些例程在附錄 A 中提供,稱為 Init1804、Increment1804、Decrement1804 和 WriteNVreg。Increment1804和Decrement1804例程可以放在一個(gè)環(huán)路中,對(duì)DS1804進(jìn)行n次輸入/遞減,一旦達(dá)到所需的游標(biāo)位置,就可以通過(guò)調(diào)用WriteNVreg例程將其寫入NV寄存器。如果需要在不編寫主程序中的循環(huán)的情況下對(duì)DS1804進(jìn)行n次輸入/遞減,則可以編寫一個(gè)簡(jiǎn)短的例程,從堆?;蚶奂悠鹘邮課并實(shí)現(xiàn)循環(huán)的功能。
當(dāng)每次調(diào)整期間選擇 Up/Down 和 CS 的開(kāi)銷對(duì)于手頭的應(yīng)用程序來(lái)說(shuō)太慢時(shí),就會(huì)發(fā)生僅使用四個(gè)函數(shù)的垮臺(tái)。因此,包括兩個(gè)附加功能,用于演示芯片的輸入/遞減(每個(gè)方向五個(gè)間隔),只需選擇方向和芯片選擇輸入。這些例程稱為遞增 1804x5 和遞減 1804x5。
除了上述例程之外,軟件中還駐留了另外三個(gè)例程以生成時(shí)序。它們被稱為wait16us,wt和wait3sec。這些功能提供固定的1.6μs延遲、由R5、R6和R7中存儲(chǔ)的值選擇的可變延遲,以及主程序中使用的固定3秒延遲。
主節(jié)目序列
禁用所有中斷。
切換 P1.0 上的 LED 以表示執(zhí)行開(kāi)始。
初始化DS1804時(shí),將DS1804的三個(gè)輸入全部設(shè)置為高電平并等待50ms。
等待 3 秒鐘,切換 LED。3秒延遲允許用萬(wàn)用表讀取DS1804的上電值,LED指示何時(shí)發(fā)生變化。
以1804個(gè)間隔突發(fā)遞增DS5,共25個(gè)位置。在 3 個(gè)間隔的突發(fā)中的每一個(gè)之間添加了 5 秒的暫停,以允許萬(wàn)用表監(jiān)控更改。當(dāng)游標(biāo)發(fā)生變化時(shí),LED 將切換。
等待3秒,切換LED,遞減DS1804 5個(gè)間隔。
將 NV 寄存器寫入當(dāng)前值。
等待3秒,切換LED,遞增DS1804 1間隔。
等待3秒,切換LED,遞減DS1804 1間隔。
通過(guò)無(wú)限循環(huán)完成執(zhí)行。
主程序輸出
假設(shè)您正在使用 V 執(zhí)行程序抄送5V時(shí),22 MHz晶體;萬(wàn)用表是 在 W 和 Gnd 之間連接;和循環(huán) V抄送從 Gnd 到 5V 啟動(dòng)程序。的輸出 DS1804如下。
當(dāng)電源接通時(shí),該器件將啟動(dòng)至NV寄存器中上次存儲(chǔ)的值。如果值 NV寄存器之前已寫入,然后它將顯示該值;否則將顯示偽隨機(jī) 值在發(fā)貨前由工廠存儲(chǔ)在NV登記冊(cè)中。游標(biāo)輸出將顯示 萬(wàn)用表上的電壓,對(duì)應(yīng)于NV寄存器中存儲(chǔ)的值3秒。輸出 然后以 0.25V 步長(zhǎng)遞增,并保持每個(gè)值 3 秒鐘,然后再繼續(xù)下一個(gè)值 位置。對(duì)于1.25V的總電壓變化,這將發(fā)生五次。然后游標(biāo)電壓將為 降低0.25V,該值將保持3秒。該值將存儲(chǔ)在NV寄存器中,并且 將是部件啟動(dòng)到下次重新通電時(shí)的值。最后,游標(biāo)電壓將為 遞增0.05V,然后遞減0.05V,兩個(gè)值均保持3秒。發(fā)光二極管 附加到 P1.0 將在每次更改發(fā)生之前直接每 3 秒切換一次。
如果芯片上電時(shí)游標(biāo)值等于或大于3.76V,程序?qū)?嘗試將芯片遞增到5V以上。這不會(huì)損壞器件,但輸出將保持在5V,直到 發(fā)出遞減命令。因此,在這種情況下,端電壓將為4.75V。
審核編輯:郭婷
-
微控制器
+關(guān)注
關(guān)注
48文章
7933瀏覽量
154099 -
電源
+關(guān)注
關(guān)注
185文章
18329瀏覽量
255658 -
寄存器
+關(guān)注
關(guān)注
31文章
5430瀏覽量
123956
發(fā)布評(píng)論請(qǐng)先 登錄
8051微控制器的基礎(chǔ)知識(shí)


DS1318與8051微控制器的接口
高速安全微控制器DS5250電子資料
DS5250中文資料 (高速安全微控制器)
DS1302 RTC與8051微控制器的接口

DS1388實(shí)時(shí)時(shí)鐘與8051微控制器的接口

DS3231與8051微控制器的接口

DS1305 RTC與8051微控制器的接口

控制DS1804采用8051兼容微控制器-Controlli

8051微控制器引腳說(shuō)明與基本電路

如何使用觸摸傳感器和8051微控制器控制LED燈

評(píng)論