adc0832.c

来自「AVRmega8515的AD转换」· C语言 代码 · 共 52 行

C
52
字号
//adc0832相关程序
#include "adc0832.h"



uchar read_adc(void)
{  	 
     uchar i,data1;
     Clr_adc_cs;//bADcs = 0;
	 Clr_adc_clk;//bADcl=0;
	 
	 Set_adc_data;//bADda=1;    //PB.4
	 Set_adc_clk;//bADcl=1;    //PB.5
	 Clr_adc_clk;//bADcl=0;
	 
	 Set_adc_data;//bADda=1;
	 Set_adc_clk;// bADcl=1;
	 Clr_adc_clk;//bADcl=0;
	 Clr_adc_data;//bADda=0;
	 
	 Set_adc_clk;//bADcl=1;
	 Clr_adc_clk;//bADcl=0;
	 Set_adc_data;//bADda=1;
     
	 Set_adc_clk;//bADcl=1;
	 Clr_adc_clk;//bADcl=0;	
	 adc_data_in;  //DDRB清零,单片机输入
     for(i=8;i>0;i--)
	 	{
		data1<<=1;
	 	Clr_adc_clk;//bADcl=0;
		asm("nop");              //延时很关键1us
		Set_adc_clk;//bADcl=1;
		asm("nop");
		if(adc_read_data) data1|=0x01;
	 	}
       Set_adc_cs;// bADcs=1;
       adc_data_out;
	   
	   return data1;
	 
}

uint returnvol(void)
{
   uchar data2;
   data2=((ulong)read_adc()*493)/256;
   
   return data2;

}

⌨️ 快捷键说明

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