ICL7135精度高、抗干擾性能好、價(jià)格低,應(yīng)用十分廣泛。本文介紹ICL7135的引腳定義、主要特性及其與單片機(jī)的接口。
1. ICL7135的引腳功能及主要特性
ICL7135是雙斜積分式4位半單片A/D轉(zhuǎn)換器,28腳DIP封裝。其引腳功能如下:{1}腳(V-)-5V電源端;{2}腳(VREF)基準(zhǔn)電壓輸入端;{3}腳(AGND)模擬地;{4}腳(INT)積分器輸入端,接積分電容;{5}腳(AZ)積分器和比較器反相輸入端,接自零電容;{6}腳(BUF)緩沖器輸出端,接積分電阻;{7}腳(CREF+)基準(zhǔn)電容正端;{8}腳(CREF-)基準(zhǔn)電容負(fù)端;{9}腳(IN-)被測(cè)信號(hào)負(fù)輸入端;{10}腳(IN+)被測(cè)信號(hào)正輸入端;{11}腳(V+)+5V電源端;{12}、{17}~{20}腳(D1~D5)位掃描輸出端;{13}~{16}腳(B1~B4)BCD碼輸出端;{21}腳(BUSY)忙狀態(tài)輸出端;{22}腳(CLK)時(shí)鐘信號(hào)輸入端;{23}腳(POL)負(fù)極性信號(hào)輸出端;{24}腳(DGND)數(shù)字地端;{25}腳(R/H)運(yùn)行/讀數(shù)控制端;{26}腳(STR)數(shù)據(jù)選通輸出端;{27}腳(OR)超量程狀態(tài)輸出端;{28}腳(UR)欠量程狀態(tài)輸出端。
TCL7135的主要性能特點(diǎn):
1)輸入阻抗達(dá)109Ω以上,對(duì)被測(cè)電路幾乎沒(méi)有影響;2)自動(dòng)校零;3)有精確的差分輸入電路;4)自動(dòng)判別信號(hào)極性;5)有超、欠壓輸出信號(hào)6)采用位掃描與BCD碼輸出。
2. ICL7135與單片機(jī)的接口
1)電路原理 圖1是ICL7135與單片機(jī)的接口電路。圖中C1、R2是積分元件,C2是自零電容,C3是基準(zhǔn)電容;R3、C5組成標(biāo)準(zhǔn)輸入濾波網(wǎng)絡(luò);R4、C9、D1、D2組成輸入過(guò)壓保護(hù)電路;RP1為基準(zhǔn)電壓調(diào)整電位器,可根據(jù)要顯示的滿度值選擇基準(zhǔn)電壓的大小,這里設(shè)計(jì)為1.0000V,它們的關(guān)系是:滿度值為基準(zhǔn)電壓的兩倍。IC4為六反相器,兩個(gè)反相器組成振蕩電路為ICL7135提供時(shí)鐘信號(hào),振蕩頻率f=0.45/(R6×C4)。ICL7135要求每秒鐘至少進(jìn)行3次A/D轉(zhuǎn)換,每次轉(zhuǎn)換需要40000個(gè)時(shí)鐘脈沖,因此時(shí)鐘頻率應(yīng)大于120kHz,這里取f=125kHz。STR為選通脈沖輸出端。一次A/D轉(zhuǎn)換結(jié)束后,在該端連續(xù)輸出5個(gè)負(fù)脈沖,分別對(duì)應(yīng)5組BCD碼數(shù)據(jù)。74LS244是三態(tài)緩沖器,1G、2G分別選通兩組信號(hào):1G=0、2G=1時(shí),選通第一組信號(hào):1G=1、2G=0時(shí),選通第二組信號(hào)。單片機(jī)的P3.1接1G,當(dāng)P3.1為0時(shí)接通顯示數(shù)碼管;P3.7接2G,當(dāng)P3.7為0時(shí)接通ICL7135的B1~B4。
2)ICL7135 STR端時(shí)序圖 圖2為ICL7135 STR端輸出時(shí)序圖。STR端在1秒內(nèi)輸出3 次,每次5個(gè)、共15個(gè)負(fù)脈沖,每次輸出時(shí)間約333ms,連續(xù)負(fù)脈沖間的時(shí)間差遠(yuǎn)小于65ms。程序中設(shè)定T1中斷時(shí)間間隔至少65ms,因而可準(zhǔn)確檢測(cè)出STR發(fā)出的5個(gè)連續(xù)的負(fù)脈沖,分別接收4位半A/D轉(zhuǎn)換器輸出的5個(gè)BCD碼數(shù)據(jù)。
3)A/D轉(zhuǎn)換相關(guān)軟件工作原理 STR的負(fù)脈沖1號(hào)~5號(hào)、6號(hào)~10號(hào)、11號(hào)~15號(hào),分別對(duì)應(yīng)于數(shù)據(jù)1、數(shù)據(jù)2、數(shù)據(jù)3的BCD碼的低位到高位……。ICL7135的STR接89C2051的P3.2。IDTB為取數(shù)中斷(外中斷IET0)程序。每次進(jìn)入取數(shù)中斷程序,接通74LS244第二組數(shù)據(jù)輸入開(kāi)關(guān),讀P1.3~P1.0口,送到以13H單元為指針的單元中(初始化時(shí)13H單元內(nèi)容為1CH),然后13H單元數(shù)據(jù)指針減1。待5個(gè)BCD碼取完,置位轉(zhuǎn)換成功標(biāo)志20H.6,將13H單元送1CH,調(diào)用子程序DTB將18H~1CH的BCD碼數(shù)據(jù)轉(zhuǎn)換為兩個(gè)8位二進(jìn)制數(shù)送6EH、6FH(高位存6EH單元)。IET1為T1中斷程序,T1工作于方式1,不送入時(shí)間常數(shù)(即初始值為0000H),若晶振為12MHz,則每次中斷的時(shí)間間隔為65.536ms。進(jìn)入IET1中斷時(shí),如果20H.0=1,表示正在測(cè)量周期或頻率;如果20H.0=1,且13H單元內(nèi)容不為1CH、20H.7=0,表示是在連續(xù)取數(shù)過(guò)程中第一次進(jìn)入IET1;如果20H.0=1,且13H單元內(nèi)容不為1CH、20H.7=1,表示第二次進(jìn)入IET1,在這兩次進(jìn)入IET1之間IDTB沒(méi)有取過(guò)數(shù)據(jù),則將13H單元送1CH,以便IDTB將低位BCD送入1CH單元。例如:由于干擾使第4個(gè)STR脈沖的對(duì)應(yīng)的數(shù)據(jù)送入1CH,第5個(gè)STR脈沖對(duì)應(yīng)的數(shù)據(jù)送入1BH,則第5個(gè)脈沖過(guò)后到第6個(gè)脈沖到來(lái)時(shí),已過(guò)了大約333ms,已進(jìn)入過(guò)五次T1中斷,在第二次進(jìn)入IET1時(shí)已將13H單元的內(nèi)容置為1CH,這樣,在STR第6個(gè)~第10個(gè)脈沖到來(lái)時(shí),IDTB將對(duì)應(yīng)的BCD碼分別送入1CH~18H,使本次A/D轉(zhuǎn)換成功,自動(dòng)糾正了錯(cuò)誤的脈沖。


二:利用ICL7135的“busy”輸出信號(hào)與單片機(jī)MCS-51銜接 在小型化儀表中,應(yīng)該以最少的元件完成盡可能多的任務(wù),8031需外接EPROM,剩下的16個(gè)I/O口是十分寶貴的.如果利用ICL7135的BCD碼和STB選通信號(hào)就要占5個(gè)I/O口,而利用ICL7135的“busy”端,只要一個(gè)I/O和8031內(nèi)部的一個(gè)定時(shí)器就可以把ICL7135的數(shù)據(jù)送入單片機(jī). 為了便于讀者理解,首先介紹ICL7135的“busy”端的功能.ICL7135是以雙積分方式進(jìn)行A/D轉(zhuǎn)換的電路.每個(gè)轉(zhuǎn)換周期分為三個(gè)階段: [1].自動(dòng)調(diào)零階段 [2].被測(cè)電壓積分階段 [3].對(duì)基準(zhǔn)電壓進(jìn)行反積分階段 以輸入電壓Vx為例,其積分器輸出端(ICL7135的4腳)的波形如圖1所示.“busy”輸出端(ICL7135的21腳)高電平的寬度等于積分和反積分時(shí)間之和.ICL7135內(nèi)部規(guī)定積分時(shí)間固定為10001個(gè)時(shí)鐘脈沖時(shí)間,反積分時(shí)間長(zhǎng)度與被測(cè)電壓的大小成比例.如果利用單片機(jī)內(nèi)部的計(jì)數(shù)器對(duì)ICL7135的時(shí)鐘脈沖計(jì)數(shù),利用“busy”作為計(jì)數(shù)器門控信號(hào),控制計(jì)數(shù)器只能在busy為高電平時(shí)計(jì)數(shù),將這段busy高電平時(shí)間內(nèi)計(jì)數(shù)器的內(nèi)容減去10001,其余數(shù)便等于被測(cè)電壓的數(shù)值. 

圖2是MCS-51定時(shí)器的邏輯框圖,如果我們把T0規(guī)定為模式1定時(shí)器方式.定時(shí)器控制端(8031的12腳)接ICL7135的“busy”端.這樣就能實(shí)現(xiàn)計(jì)數(shù)器由“busy”控制對(duì)單片機(jī)1/12時(shí)鐘頻率的計(jì)數(shù)要求. 圖3是ICL7135與單片機(jī)MCS-51通過(guò)“busy”接口的電路圖.若8031的時(shí)鐘采用6MHz晶體,在不執(zhí)行MOVX指令的情況下,ALE是穩(wěn)定的1MHz頻率,經(jīng)過(guò)4分頻可得到250kHz的穩(wěn)定頻率,傳給ICL7135時(shí)鐘輸入端,使ICL7135的轉(zhuǎn)換速率為每秒6.25次,選取這一轉(zhuǎn)換速率,一方面照顧ICL7135A/D轉(zhuǎn)換的精度,另一方面為了盡量少占用8031的資源.定時(shí)器為16位計(jì)數(shù)器,最大計(jì)數(shù)值65535.在6.25次/秒轉(zhuǎn)換速率條件下,滿度電壓輸入時(shí),busy寬度為30001個(gè)時(shí)鐘脈沖.再結(jié)合圖1和圖2可知,8031內(nèi)部定時(shí)器的輸入頻率是500kHz,比ICL7135的時(shí)鐘頻率(250kHz)高1倍,在滿度電壓輸入時(shí),定時(shí)器計(jì)數(shù)值為30001x2=60002.不超過(guò)定時(shí)器最大值.在“busy”高電平期間定時(shí)器的數(shù)值除以2,再減去10001,余數(shù)便是被測(cè)電壓的數(shù)值.具體程序如下: 

|