?? x9c103.h
字號:
#ifndef __X9C103_H__
#define __X9C103_H__
uint s,s1;
/*******************************************************************************
以下是對數字電位器X9C103模塊的操作程序
將直流和交流調節程序放在一起調節
*******************************************************************************/
sbit DCCS1=P3^2; // 直流CS=0
sbit DCUD=P3^3; // UP=1,DOWN=0
sbit DCINC=P3^4; // negative-edge triggered
sbit CS1=P3^5; // 交流CS=0
sbit UD=P3^6; // UP=1,DOWN=0
sbit INC=P3^7; // negative-edge triggered
sbit DCkey1=P1^4; //直流值上調鍵
sbit DCkey2=P1^5; //直流值下調鍵
sbit key1=P1^6; //交流峰值上調鍵
sbit key2=P1^7; //交流峰值下調鍵
void DCdelay_xms(unsigned int x)
{
unsigned int i,j;
for(i=0;i<x;i++)
for(j=0;j<110;j++);
}
void delay_xms(unsigned int x)
{
unsigned int i,j;
for(i=0;i<x;i++)
for(j=0;j<110;j++);
}
void DCX9C103_init(unsigned int x) //X9C103數字電位初始化
{
unsigned int i;
DCCS1=0;
DCUD=0;
for(i=0;i<x;i++)
{
DCINC=1;
_nop_();
DCINC=0;
_nop_();
}
DCINC=1;
_nop_();
DCCS1=1;
}
void X9C103_init(unsigned int x) //X9C103數字電位初始化
{
unsigned int i;
CS1=0;
UD=0;
for(i=0;i<x;i++)
{
INC=1;
_nop_();
INC=0;
_nop_();
}
INC=1;
_nop_();
CS1=1;
}
//-------------------------------------------------------------------------
void DCmove_up_x(unsigned int x) //滑動端向上移動x個單位
{
unsigned int i;
DCCS1=0;
DCUD=1;
for(i=0;i<x;i++)
{
DCINC=1;
_nop_();
DCINC=0;
_nop_();
}
DCINC=1; //Store wiper position 存儲滑動端位置
_nop_();
DCCS1=1;
}
void move_up_x(unsigned int x) //滑動端向上移動x個單位
{
unsigned int i;
CS1=0;
UD=1;
for(i=0;i<x;i++)
{
INC=1;
_nop_();
INC=0;
_nop_();
}
INC=1; //Store wiper position 存儲滑動端位置
_nop_();
CS1=1;
}
//--------------------------------------------------------------------------
void DCmove_down_x(unsigned int x) //滑動端向下移動x個單位
{
unsigned int i;
DCCS1=0;
DCUD=0;
for(i=0;i<x;i++)
{
DCINC=1;
_nop_();
DCINC=0;
_nop_();
}
DCINC=1;
_nop_();
DCCS1=1;
}
void move_down_x(unsigned int x) //滑動端向下移動x個單位
{
unsigned int i;
CS1=0;
UD=0;
for(i=0;i<x;i++)
{
INC=1;
_nop_();
INC=0;
_nop_();
}
INC=1;
_nop_();
CS1=1;
}
//------------------------------------------------------------------------
void keyscan()
{
if(DCkey1==0) //直流 上調0.5v P1^4
{
DCdelay_xms(10);
if(DCkey1==0)
DCmove_up_x(10);
s=A_D();
while(DCkey1==0);
}
if(key1==0) //交流上調0.05v P1^6
{
delay_xms(5);
if(key1==0)
move_up_x(1);
s=A_D();
while(key1==0);
}
if(DCkey2==0) //直流 下調0.5v P1^5
{
DCdelay_xms(10);
if(DCkey2==0)
DCmove_down_x(10);
s=A_D();
while(DCkey2==0);
}
if(key2==0) //交流下調0.05v P1^7
{
delay_xms(10);
if(key2==0)
move_down_x(1);
s=A_D();
while(key2==0);
}
}
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -