📄 adc.c
字号:
/**************************************************************************
YB-51-B A/D转换函数(需要参看ADC0832的原理和时序图,配套光盘上有)
来源: 郑州远博科技 王兴民
0371-66949037 0371-67256036 13949105551
***************************************************************************/
#include<config.h>
//ADC0832 接口定义
#define DATA0832 P1_5
#define CS0832 P1_3
#define CLK0832 P1_4
void Adstart(void) { //开始条件
CLK0832=0;
CS0832=0;
DATA0832=1;
CLK0832=1;
CLK0832=0; }
void Adsendsign(Uchar signifi) { //发送信号
Uchar temp;
temp=signifi&0x03;
DATA0832=(signifi>>1)&0x01;
CLK0832=1;
CLK0832=0;
DATA0832=temp&0x01;
CLK0832=1;
CLK0832=0;
DATA0832=1; //使DATA0832保持高电平 }
Uchar Adoutdata(void) { //数据输出
Uchar mfdata,i,j;
bit D;
while(DATA0832);
CLK0832=1;
for(i=0;i<8;i++)
{ CLK0832=0;
D=DATA0832;
mfdata=mfdata|D;
CLK0832=1;
mfdata=mfdata<<1;
}
for(j=0;j<7;j++)
{
CLK0832=0;CLK0832=1;
}
CS0832=1;
DATA0832=1;
return(mfdata);
}
Uchar Adconvert(sign) { //开始转换
Uchar addata;
Adstart();
Adsendsign(sign);
addata=Adoutdata();
return(addata);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -