基于MAX194在A(yíng)RM單片機系統中的設計
void MSpiIni(void)
{ SPI_SPCCR = 0x0B; // 設置SPI時(shí)鐘分頻, SPI時(shí)鐘為1 MHz
SPI_SPCR = 0x20; // 設置SPI接口模式,MSTR=1,CPOL=0,CPHA=0,LSBF=0
IOCLR = MAX194_UP; //關(guān)斷輸入
}
uint8 MSendData(uint8 s_data,uint16 r_data)
{ uint32 temp;
IOSET=Max194_UP; // 打開(kāi)輸入
IOCLR = MAX194_CONV; // 啟動(dòng)轉換
Delay(10); // 延時(shí) 10us
IOSET = MAX194_CONV;
do
{ temp=IOPIN;}
while(tempMAX194_EOC) ; // 轉換結束
IOCLR = MAX194_CS;// 片選
SPI_SPDR = s_data; // 發(fā)送數據0xFF
while( 0==(SPI_SPSR0x80) ); // 等待SPIF置位,即等待數據發(fā)送完畢
r_data= (uint16)SPI_SPDR; //讀取第一個(gè)字節數據
r_data=6; //調整數據
SPI_SPDR = s_data; // 發(fā)送數據0xFF
while( 0==(SPI_SPSR0x80) ); // 等待SPIF置位,即等待數據發(fā)送完畢
r_data= r_data|(SPI_SPDR>>2); //讀取第二個(gè)字節數據并調整
IOSET = MAX194_CS;
IOCLR = MAX194_UP; //關(guān)斷輸入
}
4 結束語(yǔ)
在使用MAX194中應盡可能把數字地和模擬地分開(kāi)。如果模擬電源和數字電源來(lái)自同一個(gè)電源,那么用一低值電阻(10 Ω)將數字電源和模擬電源隔離。MAX194內部的高速比較器對VDDA和VSSA的高頻噪聲很敏感,應該用0.1 μF與1 μF或10 μF的并聯(lián)電容將電源旁路接到模擬地。
用于數據采集系統的A/D轉換芯片有很多,新品更是層出不窮,數據采集的速度和精度等性能也在不斷提高,在應用中不但應根據實(shí)際情況采用性?xún)r(jià)比較高的A/D轉換芯片,而且應選用高性?xún)r(jià)比的處理器(如本文所選LPC2104),這樣才能提高整個(gè)系統的性能。本文引用地址:http://dyxdggzs.com/article/173069.htm
評論