📄 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 + -