#ifndef __ADC_0832_H
#define __ADC_0832_H
#include
#include
#include "hubj.h"
sbit AD_Cs = P3^2; //ADC0832 chip seclect
sbit AD_Clk = P3^3; //ADC0832 clock signal
sbit AD_Di = P3^6; //ADC0832 data in
sbit AD_Do = P3^6; //ADC0832 data out
static uint AD_Conv ( );
void ADC_Fun ( );
#endif
#include "adc_0832.h"
extern uint Real_Temperature;
extern bit Adc_Flag;
uchar code CH = 0x02;
double MN = M * N;
static uint AD_Conv ( )
{
uchar i=0;
uint data_f = 0, data_c = 0;
AD_Di = 1;
AD_Cs = 1;
_nop_ ( );
AD_Cs = 0;
AD_Di = 1;
AD_Clk = 1;
_nop_ ( );
_nop_ ( );
AD_Clk = 0;
_nop_ ( );
_nop_ ( );
AD_Clk = 1;
AD_Di = (bit)(0x02 & CH);
_nop_ ( );
AD_Clk = 0;
_nop_ ( );
_nop_ ( );
AD_Clk = 1;
AD_Di = (bit)(0x01 & CH);
_nop_ ( );
_nop_ ( );
AD_Clk = 0; // AD 转换
的初始化完成
AD_Di = 1;
AD_Clk = 1;
_nop_ ( );
_nop_ ( );
AD_Clk = 0;
_nop_ ( );
AD_Clk = 1;
for (i = 8; i > 0; i --)
{
data_f |= AD_Do;
data_f <<= 1;
AD_Clk = 1;
_nop_ ( );
_nop_ ( );
AD_Clk = 0;
_nop_ ( );
}
for (i = 8; i > 0; i --)
{
data_c <<= 1;
data_c |= AD_Do;
_nop_ ( );
AD_Clk = 1;
_nop_ ( );
_nop_ ( );