專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

AT89S52+TLC5615驅(qū)動(dòng)

作者:佚名   來(lái)源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2012年11月28日   【字體:

一.概述

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

二.電路設(shè)計(jì)

在WSF-51DB開(kāi)發(fā)板上,TLC5615的輸出端不接任何負(fù)載,只是擴(kuò)展了一個(gè)接口,作為測(cè)量?jī)x器的接口。芯片的基準(zhǔn)電壓取自電源電壓DC5V。


.軟件設(shè)計(jì)

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

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

*程序功能: TLC5615寫(xiě)入數(shù)字信號(hào),測(cè)量觀察輸出模擬信號(hào)

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

* MCU型號(hào):AT89S52-24PU

*時(shí)鐘頻率:12MHZ

*程序作者:吳師傅

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

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

#i nclude<reg52.h>

sbit sclk=P3^3;//串行時(shí)鐘

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

sbit cs=P3^4;//片選

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

 

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

void Delayms(unsigned int t)

{

         unsigned int x,y;

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

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

}

 

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

void WriteTLC5615(unsigned int wdata)

{

         unsigned char i;

         cs=0;//片選使能

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

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

         {

                 sclk=0;

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

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

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

         }

         cs=1;//片選禁止

}

 

//主函數(shù):

int main(void)

{

       unsigned int i;

       while(1)

       {

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

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

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

              {                                

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

                      Delayms(200);

//用萬(wàn)用表測(cè)量輸出引腳,會(huì)看到電壓從0V-4V每間隔200ms以約10mv遞增

              }          

       }

       return 0;

}

 

 

關(guān)閉窗口

相關(guān)文章