|
這種高精度的AD,可應(yīng)用于:電子秤的制作。因?yàn)殡娮映虞敵龅氖遣罘中盘?hào),且信號(hào)較為靈敏,必須得用分辨率較高的AD芯片。
疑問(wèn)? 雖然底層驅(qū)動(dòng),半當(dāng)半自寫的,但是還有一個(gè)疑問(wèn)為嘛AD7799不能同時(shí)開(kāi)啟兩個(gè)通道?亦或是切換通道?
AD7799的1通道有什么特殊之處???
/*************************************************************
函 數(shù) 名 :AD7799_Init()
函數(shù)功能 :AD7799的功能配置及初始化
輸 入 :
輸 出 :
說(shuō) 明 :根據(jù)需要對(duì)AD7799的功能配置
作 者 :hyp
***************************************************************/
//AD初始化
void AD7799_Init()
{
AD7799_CS=0;
Delay1ms(5);
/*-------------------增益為128,通道為0------------------*/
WriteByteToAD7799(0x10); //寫通信寄存器設(shè)置下一個(gè)操作為配置寄存器
Delay1ms(2);
/*--------------------------------------------------------------------------------------------------------------------------------
0x37 0x22 的意義:配置寄存器(16位)
高8位的高4位:B0(電流使能位)為1,置1的條件是:緩沖器或增益必須大于1
U/B 為1,單極轉(zhuǎn)換碼 零差分輸入范圍(000000H--FFFFFFH)
為0,雙極轉(zhuǎn)換代碼 負(fù)滿刻度輸入 000000H 零刻度差分輸入 800000H 滿刻度 FFFFFFH
高8位的低4位:增益位 增益范圍1~128 配置請(qǐng)參見(jiàn)手冊(cè)
低8位的高4位: REF-DET 位為1 參考保護(hù)使能 ,外部ADC參考電壓斷路或小于0.5V 狀態(tài)寄存器內(nèi)部的NOREF給出指示
BUF 位為1 開(kāi)啟內(nèi)部緩沖器 開(kāi)啟條件 增益必須大于2(高增益)增益1或2時(shí) 緩沖器關(guān)閉
為0 ADC為非緩沖模式,以降低系統(tǒng)功耗
低8位的低4位: 通道選擇位 0000 1通道 0001 2通道 0010 3通道(較為特殊) 0111AVDD電源檢測(cè),一般不這樣設(shè)置
----------------------------------------------------------------------------------------------------------------------------------*/
WriteByteToAD7799(0x10);
WriteByteToAD7799(0x21);
//WriteByteToAD7799(0x37); //設(shè)置增益為128 設(shè)置增益的時(shí)候請(qǐng)務(wù)必查閱手冊(cè) 是否對(duì)應(yīng)你的ADC電壓輸入范圍
// WriteByteToAD7799(0x22); //REF-DEF=1 參考保護(hù)使能 通道選擇為1 通道1 000 通道2 001 通道3 010
Delay1ms(2); //(22H)3通道為1級(jí)放大 (21H) 2通道 2級(jí)放大
/*-------------------寫模式寄存器初始化,零值校準(zhǔn)------------------*/
//WriteByteToAD7799(0x08); //寫通信寄存器設(shè)置下一個(gè)操作為寫模式寄存器
//WriteByteToAD7799(0x80);
// WriteByteToAD7799(0x0A);
//Waite_DOUT();
/*-------------------寫模式寄存器初始化,全值校準(zhǔn)------------------*/
//WriteByteToAD7799(0x08); //寫通信寄存器設(shè)置下一個(gè)操作為寫模式寄存器
// WriteByteToAD7799(0xA0);
// WriteByteToAD7799(0x0A);
//Waite_DOUT();
/*-------------------模式0(連續(xù)轉(zhuǎn)換模式),轉(zhuǎn)換速率:10HZ 200ms 69DB--------------------------*/
/*--------------------------轉(zhuǎn)換速率可根據(jù)實(shí)際需要查看手冊(cè)調(diào)整----------------------------------*/
WriteByteToAD7799(0x0c); //RS2 RS1 RS0 001(模式寄存器16bits) CREAD=1 數(shù)據(jù)寄存器連續(xù)讀操作位
Delay1ms(2);
//配置寫模式寄存器為低電平接地,操作模式為連續(xù)轉(zhuǎn)換,頻率為50HZ
WriteByteToAD7799(0x01);
WriteByteToAD7799(0x05);
Delay1ms(2);
WriteByteToAD7799(0x5c); //設(shè)置AD為連續(xù)轉(zhuǎn)換可讀模式。
AD7799_DIN=0;
}
|
|