串行A/D轉換器轉換后的結果是以串行方式輸出,數字量以串行方式輸出可簡化系統(tǒng)的連線,縮小電路板的面積,節(jié)省系統(tǒng)的資源。下面以TLC2543為例,介紹串行A/D驅動程序的設計。
89C51單片機與TLC2543芯片的接口電路圖如下圖所示。TLC2543的3個控制輸入端CS(的反)、I/OCLOCK、DATAINPUT和一個數據輸出端DATAOUT分別與單片機的P1.4、Pl.l、P1.2和P1.3引腳相連,單片機采用的晶振頻率為12MHz。
電路設計時,我們將TLC2543有兩個基準電壓輸入REF+、REF-分別與電源(VCC)、GND相連,這樣連接可保證數字輸出的滿度和零點,但在高精度的測量要求中,如果VCC的質量一般,應專門設計高精度的電壓基準電路。由于TLC2543的轉換速度很快,因此這里的轉換結束標志接在單片機的Pl.0引腳,采用查詢方式。
TLC2543通過串行接口與單片機通信,接口程序按照TLC2543的工作時序要求編寫,根據圖9-2中硬件連接關系,編寫單片機89C51采樣外部AINO通道模擬量的程序。主要包括用于實現讀取TLC2543的A/D轉換值子程序,具體C51程序如下。
根據上面的硬件原理圖可以采用的延時(查詢)方式來實現A/D轉換的,也可以將EOC接反相器后再與外部中斷輸入端相連,在中斷服務程序中啟動下次轉換并讀取本次轉換數據。
LC2543輸入的是本次需要轉換的通道地址,而輸出的是上次轉換后的結果,因此,啟動轉換后的第一個輸出數據是隨機數,必須丟棄。
在采集多路模擬量數據并且要求較高分辨率時是較好的一種可行方案。在高精度的場合,對于參考電壓我們還要設計專門的精密基準電源。





