亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

AT89S52+TLC5615驅動

作者:佚名   來源:本站原創   點擊數:  更新時間:2012年11月28日   【字體:

一.概述

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

二.電路設計

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


.軟件設計

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

*程序名稱:TLC5615驅動

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

*開發工具:WSF-51DB開發板

* MCU型號:AT89S52-24PU

*時鐘頻率:12MHZ

*程序作者:吳師傅

*版權說明:吳師傅版權所有。轉載請注明來源和作者。

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

#i nclude<reg52.h>

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

sbit din=P3^2;//串行數據輸入

sbit cs=P3^4;//片選

sbit dout=P0^7;//串行數據輸出

 

//延時毫秒函數:

void Delayms(unsigned int t)

{

         unsigned int x,y;

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

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

}

 

//TLC5615數據函數:

void WriteTLC5615(unsigned int wdata)

{

         unsigned char i;

         cs=0;//片選使能

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

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

         {

                 sclk=0;

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

                 sclk=1;//上升沿送數據

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

         }

         cs=1;//片選禁止

}

 

//主函數:

int main(void)

{

       unsigned int i;

       while(1)

       {

//因參考電壓取自電源電壓5V,輸入數據達到512時,轉換輸出電壓就已達到參考電壓

//輸入數據大于512時,輸出電壓已經無法再上升。

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

              {                                

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

                      Delayms(200);

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

              }          

       }

       return 0;

}

 

 

關閉窗口

相關文章