AD7543與89C2051實現(xiàn)串行接口的設(shè)計
AD7543與89C2051實現(xiàn)串行接口的設(shè)計
介紹12位串行輸入的數(shù)-模轉(zhuǎn)換器AD7543通過89C2051的P1口實現(xiàn)串行接口的方法。
關(guān)鍵詞:D/A轉(zhuǎn)換器,單片機,串行接口
1 引言
AD7543是美國AD公司生產(chǎn)的12位CMOS單片串行輸入的數(shù)模轉(zhuǎn)換器(DAC)。它是一種專為串行接口而設(shè)計的精密乘法型DAC。其數(shù)字?jǐn)?shù)據(jù)由高位到低位逐次一位一位地輸入。AD7543的主要特性與技術(shù)指標(biāo):
分辨率 12位
非線性誤差 ±1/2LSB
輸入方式 串行
串行加載 正或負(fù)選通進行
初始化 非同步清除輸入
工作電壓 +5V
最大功耗 400mW
AD7543的片內(nèi)邏輯電路由12位串行輸入并行輸出移位寄存器(寄存器A)和12位DAC輸入寄存器(寄存器B)組成。出現(xiàn)在AD7543的SRI腳上的數(shù)據(jù),在選通輸入信號STB1、STB2或STB4的上升沿或STB3的下降沿(由用戶選擇)情況下,定時地把SRI腳上的串行數(shù)據(jù)裝入寄存器A,一旦寄存器A裝滿,在加載脈沖的控制下,寄存器A的數(shù)據(jù)便裝入寄存器B。
2 接口方式
89C2051是一種高性能單片機,與MCS51系列指令高度兼容,由于無專用的串行數(shù)據(jù)接口,只能通過可編程的I/O腳和相應(yīng)的軟件,實現(xiàn)與AD7543的接口。從圖1可知,P1.0為串行數(shù)據(jù)輸出口,它與AD5743的SRI相連;AD7543內(nèi)部寄存器A四個控制輸入端之一的STB1與P1.1相連作為接收數(shù)據(jù)的脈沖,STB2、STB4接地,STB3接+5V;AD7543的寄存器B清零輸入CLR與P1.3相連;寄存器B的兩個控制加載輸入端LD1、LD2分別接地和接P1.2。硬件電路連接完成以后,剩下的就是軟件工作。
51系列豐富的指令系統(tǒng),給串行輸入的D/A轉(zhuǎn)換帶來了極大的方便。假設(shè)12位的數(shù)據(jù)分別放在單片機R2、R3寄存器中,通過對單片機的累積器A、進位標(biāo)志和P1口的操作,就可實現(xiàn)串行數(shù)據(jù)的傳輸。下面為D/A轉(zhuǎn)換子程序清單:
STATR: CLR P1.3
CLR P1.3
SETB P1.2
CLR C
CLR A
MOVA, R2
MOV R7, #4
LOOP1: PLC A
DJNE R7, LOOP1
MOV R7,?。?
LOOP2: LCALL PRD
DJNE R7, LOOP2
CLR C
CLR A
MOV A, R3
MOV R7, #8
LOOP3:LCALL PRD
DJNE R7,LOOP3
CPL P1.2裝入數(shù)據(jù),啟動轉(zhuǎn)換
RET
讀數(shù)據(jù)子程序:
PRD: RLC A
MOV P1.0,C
SETB P1.1
CPL P1.1
RET
以上給出的程序,可單獨作為調(diào)用AD7543轉(zhuǎn)換器與51系列單片機串行接口的子程序。
3 結(jié)束語
這種接口方法充分利用了單片機自身的軟、硬件資源,簡化了電路設(shè)計。但因數(shù)據(jù)是被逐個讀入的,而且還與轉(zhuǎn)換器的數(shù)據(jù)位數(shù)有關(guān),故這種接口方式僅適用于對時間要求不高場合。
1 涂時亮等.單片機軟件設(shè)計技術(shù).科學(xué)技術(shù)方獻(xiàn)出版社重慶分社
2 AT89C系列單片機技術(shù)手冊.北京威立姆電子技術(shù)有限責(zé)任公司
評論