// X9313 數(shù)字電位器驅(qū)動程序
#include
sbit INC_x9313=P2^7; // 加/減計數(shù)脈沖輸入端
sbit UD_x9313=P2^6; // 加/減計數(shù)控制端,高電平時加法計數(shù),低電平時減法計數(shù)
sbit CS_x9313=P2^5; // 片選輸入端,低電平有效
//-----------------------------------------------------------------------------------------------------------
// 設(shè)置X9313數(shù)字電位計的滑動方向以及滑動幅度
// res:1~31,滑動的幅度,res每增加1,電位器電阻增加或減少10K/31=323
// ud:0、1,滑動方向, 0:向低端滑動, 1:向高端滑動
//-----------------------------------------------------------------------------------------------------------
void X9313_set(unsigned char res,unsigned char ud)
{
unsigned char i,j;
if(ud)
UD_x9313=1; // UD=1,向高端滑動
else
UD_x9313=0; // UD=0,向低端滑動
CS_x9313=0; // 片選有效
for(i=0;i
INC_x9313=1;
j=1;while(--j);
INC_x9313=0;
j=1;while(--j);
}
INC_x9313=1;
j=1;while(--j);
CS_x9313=1; // 片選無效
}
void main(void)
{
X9313_set(31,0); // 覆蓋原來數(shù)據(jù),使電位器從最低端開始
X9313_set(16,1); // res=16,VH-5V,VL-GND,VW輸出電壓2.49V
while(1);
}