adc_test.c

来自「课程设计做得一个基于51单片机的声光报警电路」· C语言 代码 · 共 57 行

C
57
字号
#include"reg52.h"
#include"intrins.h"
#include"def.h"

sbit ADC_CS    = P2^0;
sbit ADC_DI    = P2^1;
sbit ADC_DO    = P2^2;
sbit ADC_CLK   = P2^3; 

uchar ad_cover(void)
{
	uchar i;
	uchar adc_value;
	
	ADC_CS = 0;
	_nop_();
	_nop_();
	ADC_DI  =1;		   //起始位,开始转化
	ADC_CLK = 1;
	_nop_();
	_nop_();
	ADC_CLK = 0;
	_nop_();
	_nop_();
	ADC_DI  = 1;      // 第二个脉冲,选择使用传输单通道的模式
	ADC_CLK = 1;
	_nop_();
	_nop_();
	ADC_CLK = 0;
	_nop_();
	_nop_();
	ADC_DI  = 0;      //  选择通道0
	ADC_CLK = 1;
	_nop_();
	_nop_();
	ADC_CLK = 0;
	_nop_();
	_nop_();
	ADC_CLK = 1;
	_nop_();
	_nop_();
	for(i=0;i<8;i++)  
	{
		ADC_CLK = 0;
		_nop_();
		_nop_();
		if(ADC_DO ==1)
		adc_value|=0x01;
		adc_value=adc_value<<1;
		ADC_CLK = 1;
		_nop_();
		_nop_();										   

	}
	ADC_CS = 1;
	return(adc_value);		
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?