新聞中心

AT89S52+TLC5615驅(qū)動

作者: 時間:2016-11-29 來源:網(wǎng)絡(luò) 收藏
一.概述

TLC5615是德州儀器公司生產(chǎn)的一款10位D/A轉(zhuǎn)換器,單路電壓輸出,輸出電壓最大可達到基準電壓的兩倍,可帶最小2K歐姆的負載。這款芯片帶有上電復(fù)位功能,采用三線制串行總線接口,兼容SPI通信,最大轉(zhuǎn)換時間為12.5微秒(輸入從0x000變?yōu)?x3ff或者從0x3ff變?yōu)?x000,輸出穩(wěn)定信號的時間),還能進行多片級聯(lián)使用。TLC5615是一款性價比高、很常用的10位數(shù)模轉(zhuǎn)換芯片。

本文引用地址:http://m.butianyuan.cn/article/201611/323544.htm

二.電路設(shè)計

在WSF-51DB開發(fā)板上,TLC5615的輸出端不接任何負載,只是擴展了一個接口,作為測量儀器的接口。芯片的基準電壓取自電源電壓DC5V。

三.軟件設(shè)計

/**************************************************************************

*程序名稱:TLC5615驅(qū)動

*程序功能:向TLC5615寫入數(shù)字信號,測量觀察輸出模擬信號

*開發(fā)工具:WSF-51DB開發(fā)板

* MCU型號:AT89S52-24PU

*時鐘頻率:12MHZ

*程序作者:吳師傅

*版權(quán)說明:吳師傅版權(quán)所有。轉(zhuǎn)載請注明來源和作者。

**************************************************************************/

#i nclude

sbit sclk=P3^3;//串行時鐘

sbit din=P3^2;//串行數(shù)據(jù)輸入

sbit cs=P3^4;//片選

sbit dout=P0^7;//串行數(shù)據(jù)輸出

//延時毫秒函數(shù):

void Delayms(unsigned int t)

{

unsigned int x,y;

for(x=t;x>0;x--)

for(y=120;y>0;y--);

}

//寫TLC5615數(shù)據(jù)函數(shù):

void WriteTLC5615(unsigned int wdata)

{

unsigned char i;

cs=0;//片選使能

wdata<<=2;//將數(shù)據(jù)左移兩位,補兩位擴展位,組成12位數(shù)據(jù)寫入

for(i=0;i<12;i++)//寫入12位數(shù)據(jù)

{

sclk=0;

din=(wdata&0x0800)?1:0;//取出最高位(第11位)寫入

sclk=1;//上升沿送數(shù)據(jù)

wdata<<=1;//下一位移到最高位

}

cs=1;//片選禁止

}

//主函數(shù):

int main(void)

{

unsigned int i;

while(1)

{

//因參考電壓取自電源電壓5V,輸入數(shù)據(jù)達到512時,轉(zhuǎn)換輸出電壓就已達到參考電壓

//輸入數(shù)據(jù)大于512時,輸出電壓已經(jīng)無法再上升。

for(i=0;i<512;i++)

{

WriteTLC5615(i);//輸入數(shù)據(jù)從0-512每間隔200ms遞增,

Delayms(200);

//用萬用表測量輸出引腳,會看到電壓從0V-4V每間隔200ms以約10mv遞增

}

}

return 0;

}




關(guān)鍵詞: AT89S52TLC5615驅(qū)

評論


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

關(guān)閉