我想看一级黄色大片_久久亚洲国产精品一区二区_久久精品免视看国产明星_91久久青青青国产免费

您的位置:網站首頁 > 機械制圖 > 機械技巧

可編程雙路12位數模轉換器TLC5618及其C51高級語言編程

時間:2011-06-19 13:55:22 來源:未知

1概述
1.1一般說明
        TLC5618是美國TexasInstruments公司生產的帶有緩沖基準輸入的可編程雙路12位數/模轉換器。DAC輸出電壓范圍為基準電壓的兩倍,且其輸出是單調變化的。該器件使用簡單,用5V單電源工作,并包含上電復位功能以確保可重復啟動。
        通過CMOS兼容的3線串行總線可對TLC5618實現數字控制。器件接收用于編程的16位字產生模擬輸出。數字輸入端的特點是帶有斯密特觸發器,因而具有高的噪聲抑制能力。
1.2特點
        (1)可編程至0.5LSB的建立時間;
        (2)兩個12位的CMOS電壓輸出DAC;
        (3)單電源工作;
        (4)3線串行接口;
        (5)高阻抗基準輸入;
        (6)電壓輸出范圍為基準電壓的兩倍;
        (7)軟件斷電方式;
        (8)內部上電復位;
        (9)低功耗,慢速方式為3mW,快速方式為8mW;
        (10)1.21MHz輸入數據更新速率;
        (11)在工作溫度范圍內單調變化。
1.3引腳排列與引腳功能
        TLC5618的引腳排列如圖1所示,各個引腳的功能如下所述:
        (1)DIN(1):數據輸入;
        (2)SCLK(2):串行時鐘輸入;
        (3)CS(3):芯片選擇,低電平有效;
        (4)OUTA(4):DACA模擬輸出;
        (5)AGND(5):模擬地;
        (6)REFIN(6):基準電壓輸入;
        (7)OUTB(7):DACB模擬輸出;
        (8)VDD(8):正電源。

圖1TLC5618的引腳排列

圖2TLC5618的典型運用電路

2應用介紹
2.1一般功能
    TLC5618使用由運放緩沖的電阻串網絡把12位數字數據轉換為模擬電壓電平(見圖2),其輸出極性與基準電壓輸入相同(見表1)。

表1二進制代碼表(0V至2VREFIN輸出,增益=2)

輸入+

輸出

111111111111

2(VREFIN)4095/4096

100000000001

#p#分頁標題#e#

2(VREFIN)2049/4096

100000000000

2(VREFIN)2048/4096=VREFIN

011111111111

2(VREFIN)4097/4096

000000000001

2(VREFIN)1/4096

000000000000

0V

    輸出電壓由下式給出:2(VREFIN)CODE/4096。
    上電時內部電路把DAC寄存器復位至0。
    輸出緩沖器具有可達電源電壓幅度的輸出,它帶有短路保護并能驅動具有100pF負載電容器的2kΩ負載。
    基準電壓輸入經過緩沖,它使DAC輸入電阻與代碼無關。
    TLC5618的最大串行時鐘速率為:
    f(SCLK)max=1/[tW(CH)min+tW(CL)min]=20MHz
2.2串行接口
    當片選(CS)為低電平時,輸入數據由時鐘定時,以最高有效位在前的方式讀入16位移位寄存器,其中前4位為編程位,后12位為數據位。SCLK的下降沿把數據移入輸入寄存器,然后CS的上升沿把數據送到DAC寄存器。所有CS的跳變應當發生在SCLK輸入為低電平時。可編程位D15-D12的功能見表2所示。

表2可編程位D15-D12的功能

編程位

器件功能

D15

D14

D13

D12

1

X

X

X

把串行接口寄存器的數據寫入鎖存器A并用緩沖器鎖存數據更新鎖存器B

0

X

X

0

寫鎖存器B和雙緩沖鎖存器

0

#p#分頁標題#e#

X

X

1

僅寫雙緩沖鎖存器

X

1

X

X

14μS建立時間

X

0

X

X

3μS建立時間

X

X

0

X

上電(Power-up)操作

X

X

1

X

斷電(Power-down)方式

3TLC5618與單片機的接口

圖3TLC5618與單片機的三線串行接口

    TLC5618與8031單片機的接口見圖3。
    串行數據通過P2.1口輸入TLC5618,串行時鐘通過P2.2輸入,P2.3接片選端。
4TLC5618D/A轉換的C51高級語言編程
    C語言是一種通用的計算機程序設計語言,在國際上十分流行,它既可以用來編寫計算機系統程序,也可用來編寫一般的應用程序。對單片機應用系統來說,雖然用匯編語言編寫的程序生成的目標代碼效率最高,但其可讀性和移植性都較差,而且程序編寫周期長,調試和排錯困難。而C語言既具有一般高級語言的特點,又能直接對計算機的硬件進行操作,并且采用C語言編寫的程序比較簡潔,能夠很容易地在不同類型的計算機之間進行移植,因此,用C語言開發單片機應用系統已經獲得長足的發展。用基于51系列單片機的高級語言工具C51編寫的TLC5618程序如下。
#include
intvcon;輸出電壓變量
sbitDIN=0x91;定義P2.1為串行數據口
sbitCLK=0x92;P2.2為串行時鐘端
sbitCS=0x93;P2.3為片選端
voiddac5618(intvcon)TLC5618DAC子程序,三線串行方式
{
chari;
intsvcon;
svcon=vcon|0x8000;vcon最高位置1,選擇
TLC5618的A通道
CS=0;置5618的CS=0,允許片選
for(i=0;i<16;i++)
{#p#分頁標題#e#
DIN=svcon&0x8000;串行方式送16位
數據
svcon<<=1;
CLK=0;
CLK=1;
}
CS=1;禁止片選
return;
}
voidmain0
{
dac5618(0x7FF)
}
    采用2.048V的參考電壓,可獲得0~4.096V的模擬電壓輸出。當系統不使用DAC時,應當把DAC寄存器設置為全0,以便使基準電阻器陣列和輸出負載所消耗的功率最小。

5結束語

    由于TLC5618的體積小、功耗低,控制簡單,因而可以方便地用于電池供電測試儀表、移動電話、數字失調與增量調整、機器和機械控制等領域。