久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> 常用芯片 >> 瀏覽文章

TLC2543,TLC1543程序及仿真電路圖中文資料

作者:huqin   來源:本站原創   點擊數:  更新時間:2014年08月16日   【字體:

TLC1543 是11通道10位串行A/D轉換器,TLC2543是11通道12位串行A/D轉換器.

TLC1543是美國TI公司生產的多通道、低價格的模數轉換器。采用串行通信接口,具有輸入通道多、性價比高、易于和單片機接口的特點,可廣泛應用于各種數據采集系統。 TLC1543為20腳DIP封裝的CMOS 10位開關電容逐次A/D逼近模數轉換器

TLC1543工作時序如圖所示,其工作過程分為兩個周期:訪問周期和采樣周期。工作狀態由CS使能或禁止,工作時CS必須置低電平。CS為高電平時,I/O CLOCK、ADDRESS被禁止,同時DATA OUT為高阻狀態。當CPU使CS變低時,TLC1543開始數據轉換,I/O CLOCK、ADDRESS使能,DATA OUT脫離高阻狀態。隨后,CPU向ADDRESS端提供4位通道地址,控制14個模擬通道選擇器從11個外部模擬輸入和3個內部自測電壓中選通1路送到采樣保持電路。同時,I/O CLOCK端輸入時鐘時序,CPU從DATA OUT 端接收前一次A/D轉換結果。I/O CLOCK從CPU 接受10個時鐘長度的時鐘序列。前4個時鐘用4位地址從ADDRESS端裝載地址寄存器,選擇所需的模擬通道,后6個時鐘對模擬輸入的采樣提供控制時序。模擬輸入的采樣起始于第4個 I/O CLOCK的下降沿,而采樣一直持續6個I/O CLOCK周期,并一直保持到第10個 I/O CLOCK的下降沿。轉換過程中,CS的下降沿使DATA OUT引腳脫離高阻狀態并起動一次I/O CLOCK的工作過程。CS的上升沿終止這個過程并在規定的延遲時間內使DATA OUT引腳返回到高阻狀態,經過兩個系統時鐘周期后禁止I/OCLOCK和ADDRESS端。

時序圖:

 
下降沿輸出數據,上升沿輸入地址
 
CS片選拉低,一次轉換開始,同時輸出上次轉換的數據
時序使用方法:
1、CS片選拉高,EOC拉高,CLK時鐘拉低
2、CS片選拉低,開始讀出第一位數據
3、在第一個時鐘上升沿,輸入一個地址數據
4、之后在每個時鐘的下降沿輸出AD轉換數據,在上升沿輸入地址數據
5、TLC1543是10位AD,因此有10個時鐘,TLC2543是位AD,因此有12個時鐘
6、一個操作過程結束后,片選CS拉高,EOC會在最后第10個時鐘的下降沿觸發拉低,開始AD轉換,此時,輸出被禁止,等到轉換結束后EOC置位1,代表轉換結束。等到CS片選再次拉低,開始第二次操作。
 
TLC1543的電路圖(與單片機連接)
 
TLC15433的引腳圖
 

   TLC25433引腳圖
 A0~A10為11個模擬輸入通道
REF-通常接地
REF+接+5v
則輸入可測電壓為0~5v
cs位片選段,低電平有效,不用時置1,用時保持為0
DATAOUT為AD轉換數據輸出端(10位)
ADDRESS為地址輸入端,可輸入相關的命令,前四位用于選擇不同的輸入通道,如:0000位選擇0通道,0001位選擇1通道,及數據輸出的格式(高位先出還是低位先出)。
 
   TLC1543的三個控制輸入端CS、I/O CLOCK、ADDRESS和一個數據輸出端DATA OUT遵循串行外設接口SPI協議,要求微處理器具有SPI接口。但大多數單片機均未內置SPI接口(如目前國內廣泛采用的MCS51和PIC系列單片機),需通過軟件模擬SPI協議以便和TLC1543接口。TLC1543芯片的三個輸入端和一個輸出端與51系列單片機的I/O口可直接連接,具體連接方式可參見圖3。軟件設計中,應注意區分TLC1543的11個模擬輸入通道和3個內部測試電壓地址。附表為模擬通道和內部電壓測試地址。程序軟件編寫應注意TLC1543通道地址必須為寫入字節的高四位,而CPU讀入的數據是芯片上次A/D轉換完成的數據。在本文后附的程序中對此有詳細的說明。模擬輸入通道選擇 輸入寄存器地址(2進制)。
A0 0000
A1 0001
A2 0010
A3 0011
A4 0100
A5 0101
A6 0110
A7 0111
A8 1000
A9 1001
A10 1010
內部測試電壓選擇 輸入地址 輸出結果(16進制)
(Vref++ Vref-)/2_ 1011 200
Vref- 1100 000
Vref+ 1101 3ff
注:Vref+為加到TLC1543 REF+端的電壓,Vref-是加到REF-端的電壓
 
 
TLC1543子函數
uint read1543(void)  
{    
uchar i=0;   
uint ad_value=0;
   
TCL2543_CLK=0; //一次轉換開始前,CS片選置1,EOC置1,時鐘置0   
TCL2543_CS=1;   
EOC=1;
 
delay_1ms(); //保持一段時間,拉低CS片選
TCL2543_CS=0;
delay_1ms();      //保持一段時間,等數據穩定后再讀取第一位數據A9(最高位)
for(i=0;i<10;i++)   
{     
if(TCL2543_DOUT) ad_value|=0x0001;     //讀取第一位數據
TCL2543_DIN=0;     //將通道選擇數據準備好,上升沿鎖存進TLC1543
TCL2543_CLK=1;     //上升沿
delay_1ms();      //保持一段時間
TCL2543_CLK=0;     //下降沿保持一段時間,在讀取數據
delay_1ms();          
ad_value=ad_value<<1;    //移位,將最低位空出,以裝入第2位數據(A8)
}       
TCL2543_CS=1;    //一次轉換結束后將CS片選拉高
ad_value=ad_value>>1;    //由于多左移了1位,所以
return ad_value;  
}
 

                                 tlc1543 protues仿真圖
 
下面提供TLC1543.c文件,完整的代碼及其仿真文件下載地址:http://www.zg4o1577.cn/f/TLC1543c51.rar
/*----File Description----
-  File Name              : TLC5615.H
-  Functions              : 初使化:TLC1543_init(void)
                            讀ADC :uint16 ReadADC_TLC1543(uchar ain)
-  Description            : 先調用初使化函數,再調用讀ADC函數,形參ain
                            為模擬通道,其值為 0 ~ 10. 注意:返回值為
                            上一次轉換結果。
-  Author                 : Mason    別名:小菜
-  Create Date            : 2013/7/26 
-  Performance            : Finished
-  Global Variable        : None
-  File static Variable   : None
-  -------------------------------------------
-  Revision History
-  No.    Date        Revised by    Item    Description
-  
-------------------------------------------------------------------------*/
/*----------------------------Head---------------------------------------*/
#include <reg52.h>
#include "TLC1543.h"
#include "MICRO.h"
#include "delay.h"
/*----------------------------Code---------------------------------------*/
void TLC1543_init(void)
{
    CS_1543 = 1;
    SCLK_1543 = 0;
}

/*----Important Function Description----
-  Function Name           : uint16 ReadADC_TLC1543(uchar ain)
-  Description             : None
-  Author                  : Mason    別名:小菜
-  Create Date             : 2013/7/27 
-  Parameters/Arguments    : uchar ain       :下一次轉換選通的ADC通道。
-  Return Code             : uint16 adc_value:上一次ADC轉換的結果。
-  Global Variable         : None
-  static Variable         : None
-  -------------------------------------------
-  Revision History
-  No.    Date        Revised by    Item    Description
-  
-------------------------------------------------------------------------*/
uint16 ReadADC_TLC1543(uchar ain)
{
    uchar temp;
    uint16 adc_value = 0;
    ain <<= 4;
    
    CS_1543 = 0;
    for(temp = 0;temp < 10;temp ++)         // 將判斷語句改為 temp<12
    {                                       // 程序可移殖至 TLC2543.
        adc_value <<= 1;
        ain <<= 1;
        ADDR_1543 = CY;
        if(DOUT_1543)   adc_value += 1;
        SCLK_1543 = 1;
        delayus(1);
        SCLK_1543 = 0;
    } 
    CS_1543 = 1;

    return  adc_value;
}
 
 
 
下面是tlc2543中文資料下載地址:http://www.zg4o1577.cn/f/串行12位A_DTLC2543及其應用.pdf
 
/*TLC2543驅動程序(dhd0)*/
 

/**************************************
             TLC2543驅動程序
*************************************/

#include <reg51.h>
#include <intrins.h>

/**************************************
        2543控制引腳宏定義
*************************************/
#define CLOCK p17 /*2543時鐘*/
#define D_IN p16 /*2543輸入*/
#define D_OUT p14 /*2543輸出*/
#define _CS p15 /*2543片選*/

#define uint unsigned int
#define uchar unsigned char

/**************************************
  名稱:delay
  功能:延時模塊
  輸入參數:n要延時的周期數
  輸出參數:無
*************************************/
void delay(uchar n)
{
uchar i;
for(i=0;i<n;i++)
{
   _nop_();
}
}

/**************************************
  名稱:read2543
  功能:TLC2543驅動模塊
  輸入參數:port通道號
  輸出參數:ad轉換值
*************************************/
uint read2543(uchar port)
{
uint ad=0,i;
CLOCK=0;
_CS=0;
port<<=4;
for(i=0;i<12;i++)
{
  if(D_OUT) ad|=0x01;
  D_IN=(bit)(port&0x80);
  CLOCK=1;
  delay(3);
  CLOCK=0;
  delay(3);
  port<<=1;
  ad<<=1;
}
_CS=1;
ad>>=1;
return(ad);
}

/**************************************
  名稱:main
  功能:主函數
  輸入參數:無
  輸出參數:無
*************************************/
void main()
{uint ad;
while(1)
{
  ad=read2543(0);
}
}  
 
關閉窗口

相關文章

主站蜘蛛池模板: 国产福利视频 | 网站国产 | 欧美久久久网站 | 日韩精品在线一区 | 中文字幕视频在线观看 | 欧美国产精品一区二区三区 | 国产成人免费视频 | 精品一区二区电影 | 激情a | 国产激情一区二区三区 | 美人の美乳で授乳プレイ | 罗宾被扒开腿做同人网站 | 龙珠z国语版在线观看 | 久久免费视频观看 | 欧美久久一级特黄毛片 | 欧美日高清 | 国产精品99久久久久久久久久久久 | 九色av| 狠狠av| 久久久久久久久久久久久九 | 亚洲不卡av在线 | 成人3d动漫一区二区三区91 | 国产精彩视频一区 | 国产欧美一区二区三区另类精品 | 日日干夜夜操天天操 | 日本在线免费看最新的电影 | 精品国产一区二区三区观看不卡 | 久久精品福利 | 免费在线看黄视频 | 激情综合五月 | 久久精品一级 | 在线日韩精品视频 | 新91视频网 | 欧美成人精品二区三区99精品 | 中文字幕国产一区 | 爱爱免费视频 | 亚洲午夜视频 | 伊人在线 | 亚洲a毛片| 日本a在线 | 免费在线色 |