⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 adc0809.c

📁 通过adc0809采集电压
💻 C
字号:
#include <reg52.H>
#include "Typedef.H"
#include "UserDef.H"
#include "ADC0809.H"

/*  端口定义 */
#define P_Data	P0
sbit AD0809_OTEN = P3^4;
sbit AD0809_EOC = P3^2;
sbit AD0809_START = P3^3;
sbit AD0809_ALE = P3^5;

/***************************************
	初始化函数
****************************************/
void AD0809_init(void)
	{
	AD0809_OTEN = 0;
	AD0809_EOC = 1;
	AD0809_START = 0;
	AD0809_ALE = 0;
	}

/***************************************
	AD转换函数
	入口参数:选择的通道ch
****************************************/
INT8U AD0809(INT8U ch)
	{
	INT8U adv,i;

	P_Data = ch;
	AD0809_ALE = 1;		   //上升沿锁存A,B,C的地址,即选定通道
	AD0809_ALE = 0;

	AD0809_START = 1;	   //上升沿清楚内部各寄存器,其下降沿的时候开始转换
	AD0809_START = 0;

	
	for (i=0;i<10;i++)		  //等待
		{}

	while (AD0809_EOC == 0)	   //等待转换完成信号
		{}

	P_Data = 0xFF;
	AD0809_OTEN = 1;			//允许输出锁存器输出数据
	adv = P_Data;
	AD0809_OTEN = 0;

	return adv;
	}



	

⌨️ 快捷键说明

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