AD5160引腳配置和功能描述
引腳配置圖:
引腳功能描述:
?
AD5160外形尺寸
數字電位器AD5160測試程序
/********* STC12C5A60S2平臺AD5160數字電位器程序 時鐘:外部12M晶振
電位器串聯外部電阻連接為可變電阻模式,若不串外部電阻直接接參考電壓源即工作為數字電位計模式
*NOTE:作為可變電阻模式與外部電阻串聯時存在一定程度容差,若所串電阻大于AD5160本身滿量程電阻(型號有5K\10K\50K\100K)10倍以上則此容差才可忽略 *****/
/*AD5160.H*/
#ifndef _AD5160_H_ #define _AD5160_H_
#include《STC12C5A60S2.h》 #include《intrins.h》
typedef unsigned char uchar; typedef unsigned int uint;
sbit CPCS = P3^2; //數字電位器AD5160的片選CS,低電平有效 sbit SDI = P3^4; //數字電位器AD5160的數據SDI sbit SCK = P3^5; //數字電位器AD5160的時鐘SCLK
void AD5160_init() //AD5160初始化 { CPCS = 1;
SCK = 0
SDI = 1;
}
void set_AD5160(uchar dat) //設定從W抽頭到B端的抽頭數,以10K版本的為 { //例電阻為RwB = 60+39*rdac 其中W抽頭接觸電阻為60Ω
uchar i,rdac=0; CPCS = 1;
rdac = dat; //RDAC為寫入AD5160 內部8位radc寄存器數據 SCK = 0;
_nop_();_nop_();_nop_();_nop_();
SCK = 1; //SCK在CS拉低前觸發一個時鐘
_nop_();_nop_(); SCK = 0; _nop_();
CPCS = 0; //拉低CS啟動數據寫入 for(i=0;i《8;i++) { SDI = (rdac&0x80); rdac《《=1; //高位MSB在先 _nop_(); SCK = 1; _nop_(); SCK = 0; }
CPCS = 1;
_nop_(); //片選拉高后SCK送一個結束時鐘,這點很重要 SCK = 1;
_nop_();_nop_(); SCK = 0; _nop_();
}
#endif
評論