新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 可編程數(shù)字電位器在atmega16單片機中的應(yīng)用

可編程數(shù)字電位器在atmega16單片機中的應(yīng)用

作者: 時間:2011-12-22 來源:網(wǎng)絡(luò) 收藏

START:
LDI R16,$A4;設(shè)置AVR單片機I2C總線控制寄存器
OUT TWCR,R16;軟件清除TWINT標志W(wǎng)AIT1:
IN R16,TWCR;讀取控制寄存器TWCR
SBRS R16,7;等待硬件置位TWINT標志
RJMP WAIT1;TWINT標志沒置位,循環(huán)檢查等待
IN R16,TWSR;讀取狀態(tài)寄存器TWSR
ANDI R16,$F8;屏蔽無效位
CPI R16,$08:檢查"START"信號是否發(fā)送成功
BRNE ERROR;"START"信號發(fā)送未成功,轉(zhuǎn)入出錯處理
LDI R16,$56;發(fā)送X9221器件地址56="5"器件標識,"6"器件地址
OUT TWDR,R16
LDI R16,$84
OUT TWCR,R16;軟件清除TWINT標志
IN R16,TWSR
ANDI R16,$F8
CPI R16,$18;檢查X9221器件地址是否發(fā)送成功
BRNE ERROR;X9221器件地址發(fā)送未成功,轉(zhuǎn)入出錯處理
LDI R16,$2F;設(shè)置所發(fā)送的數(shù)據(jù)(0~63有效,例中為47)
OUT TWDR,R16;數(shù)據(jù)輸出到數(shù)據(jù)寄存器TWDR
LDI R16,$84
OUT TWCR,R16;軟件清除TWINT標志;檢查數(shù)據(jù)"2F"是否發(fā)送完成,類似于上述循環(huán)繼續(xù)
.
.
LDI R16,$94;發(fā)送"STOP"信號,一次'$2F'數(shù)據(jù)發(fā)送完成
OUT TWCR,R16
ERROR:···;出錯處理過程
END

  在此例程中,器件的地址對X9221來說為56,其中"5"是器件本身固有的以區(qū)別于其它類型的設(shè)備,而"6"是設(shè)計硬件時規(guī)定的,可以是"0~F"任何十六進制數(shù)值;例程中AVR單片機僅作為主機使用且向X9221發(fā)送數(shù)據(jù),其實從X9221中讀取當前數(shù)據(jù)也是一樣的。本例程采用查詢方式,程序顯得繁瑣,但是如果采用中斷方式的話,程序就會顯得簡單多,只要標志SREG寄存器中"I"位和I2C總線控制寄存器中的"TEWIE"置"1",即中斷使能有效,當"TWINT"標志置"1"立即產(chǎn)生中斷請求,表明完成當前數(shù)據(jù)發(fā)送完成,可以準備下一個字節(jié)數(shù)據(jù)發(fā)送或停止發(fā)送等操作。

4 X9221在半導體專用設(shè)備一些應(yīng)用研究

4.1用于測量微小電壓變化

  圖4是微小電壓測量電路模型,用于芯片鍵合設(shè)備中去檢測吸頭上是否有芯片吸附以及吸頭是否堵塞、或者芯片是否丟失等現(xiàn)象。當內(nèi)徑為大約0.1~0.15 mm的吸頭去吸附一個小芯片時,如果芯片較透明,光敏傳感器檢測出來的電壓變化較小,一般在10~50 mV間;同樣當吸頭吸附一個小芯片時,氣路真空的壓力也會產(chǎn)生變化,這種壓力的變化以傳感器電壓變化輸出。為了改變電位器"中間抽頭"以便與傳感器檢測輸入電壓相匹配,計算機通過RS232接口向單片機發(fā)送數(shù)據(jù),單片機收到數(shù)據(jù)后轉(zhuǎn)發(fā)給X9221以改變基準電壓值。比較基準電壓U∑+按下式確定:

U∑+是LM393運放同相輸入端電壓(在這種狀態(tài)下,考慮到前級傳感器輸出基本上處于放大狀態(tài),所用傳感器電源電壓為+5 V,最高輸出電壓按3.5 V計算)

  N是0~63共64種狀態(tài)變化值,那么,當U∑+從0~3.5 V變化時,最小分辨率可以達到55 mV左右,用手工進行一般電位器調(diào)節(jié)達到這樣的分辨率是難以掌控的。

  基準電壓(即U∑+)通過機器的人機界面可以"直接調(diào)節(jié)",如果將電位器數(shù)值進行標定,隨時還可以看到當前的基準電壓大小。傳感器輸出電壓與基準電壓比較,使電壓比較器輸出反應(yīng)當前的狀態(tài),不同的時刻高低電平代表不同的意義,如"吸頭阻塞"、"芯片丟片"、"真空不足"等。

4.2測量微小電流變化

  圖5是微小電流測量電路模型,用于引線鍵合設(shè)備中去檢測斷線、連線、短路等情況,被測器件是一個半導體元件,當在焊盤上鍵合上一根金線時,通過檢測漏電流來判斷這條金線與芯片鍵合過程中是否存在"斷線"、"連線"、"短路"等情況。計算機通過界面操作發(fā)送指令以改變X9221的阻值,進而改變電壓源的放大倍數(shù)以改變加在被測元件的電壓,從而達到適應(yīng)不同品種的半導體器件性能要求。

 設(shè):信號源的輸出為Us,運放LM324輸出為U0,X9221電阻為Rx,被測元件阻抗為Rz,被測元件流過的漏電流為I0,則用以下兩個表達即可表達它們之間的關(guān)系:

通過主機界面改變Rx可編程電阻值,即可以改變U0,U0的改變等于改變了I0,而I0的改變等于改變了流過被測器件的最大允許電流,從而保護了被測器件不會因為檢測漏電流而損壞,通過檢測被測器件上施加的電壓和U0之差值即可判斷漏電流大小,從而檢測金線是否與被測器件焊盤點鍵合上。I0是根據(jù)不同器件在工藝參數(shù)上需要經(jīng)常調(diào)節(jié)的量,以適應(yīng)不同場合的要求。

5 結(jié)束語

  可編程數(shù)字電位器的最大優(yōu)點在于直接可以和帶有I2C總線單片機相連而無需特殊設(shè)計,上位機可以隨機讀取電位器當前設(shè)定值。利用它的這些優(yōu)點,可以提高設(shè)備儀器的智能化水平,特別是在帶有I2C總線的嵌入式單片機中應(yīng)用十分靈活簡單。隨著電子技術(shù)的飛速發(fā)展,人們對設(shè)備、儀器以及家用電器的追求已不再僅僅滿足功能使用上,而是在產(chǎn)品應(yīng)用的人性化上要求越來越高,由于大多數(shù)自動化設(shè)備上,都具有友好的人機界面,人們通過計算機界面想完成所有操作,比如調(diào)節(jié)一個電位器以調(diào)節(jié)電流、電壓或者電機速度、轉(zhuǎn)矩、頻率等物理量,利用可編程數(shù)字電位器完全可以通過界面完成。適時采用可編程數(shù)字電位器不但可以降低成本、簡化電路設(shè)計、提高可靠性,而且可以使設(shè)計更加人性化。另外,AVR單片機可以通過JTAG接口完成仿真調(diào)試、下載程序;片內(nèi)有FLASH和E2ROM存儲單元,有標準的串行接口、I2C總線接口、SPI接口增強了其硬件功能;支持C語言編程,便于掌握C語言者無需太多地了解硬件就能進行一些編程。本文探討了AVR單片機、X9221可編程數(shù)字電位器及其接口和軟件編程的一些實際應(yīng)用,許多問題是筆者在應(yīng)用中的經(jīng)驗,可能會有些錯誤,希望讀者批評指正。

上拉電阻相關(guān)文章:上拉電阻原理

上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉