#include
#include
#define uchar unsigned char
#define uint unsigned int
sbit cs=P3^0;//对ADC0832进行位定义
sbit DI=P3^2;
sbit DO=P3^2;
sbit clk=P3^1;
uchar readad[2];
void adc0832(unsigned char channel);
void adc0832(uchar channel)//对0832的操作:首先进行传输数据前的定义,严格按照时序,
{ // 其次开始传数据,如果达到了8位,从新开始传
uchar i=0; //最后开始收数据 ,不管是传数据还是收数据,都要有一个完整的时钟脉冲
uchar j;//对数据值的定义 //数据每次只能传输一位
uint dat=0; //传数据是从最高位开始将寄存器的数据发送完,接着从低位开始发,比较2次发送的数据是否一样
uchar ndat=0; //如果一样则接收如果不一样则淘汰
if(channel==0)channel=2;
if(channel==1)channel=3;
DI=1;
_nop_();
_nop_();
cs=0; //拉低cs端
_nop_();
<