📄 adc_0809.c
字号:
//************************************************************
//Copyright(C)2008,桂林电子科技大学电子工程学院科技协会
// ADC_0809 驱动源文件
//文件名称:ADC_0809.c
//文件标识:(内参)
//摘 要:
// 1.配合头文件使用;
// 2.硬件参考作品;
// 3.
//
//当前版本:1.1
//作 者:覃秋霖
//完成日期:2008.10.10
//
//取代版本:1.0
//原 作 者:覃秋霖
//完成日期:2007.05.18
//
// ADC0809_EN ---------- P2^1
// ADC0809_EOC ---------- P2^2
// ADC0809_ADD_A ---------- P2^3
// ADC0809_ADD_B ---------- P2^4
// ADC0809_ADD_C ---------- P2^5
// ADC0809_ALE ---------- P2^6
// ADC0809_START ---------- P2^7
//
// ADC0809_DATA ---------- P1
// ADC0809_CONP ---------- P2
//***********************************************************
#include<reg52.h>
#include"Mylib.h"
#include"./ADC_0809_driver/ADC_0809.h"
//*******************模块内部函数声明************************
static void Set_ADC0809_channel(uchar channel);
//*******************************************
//函数名称:static void Set_ADC0809_channel(uchar channel)
//函数功能:设置 ADC_0809 的采集通道
//形式参数: uchar channel
//行参说明: 通道号(从0 到 7)
//返回参数: 无
//使用说明: 无
//*******************************************
static void Set_ADC0809_channel(uchar channel)
{
channel <<= 3;
ADC0809_CONP |= channel;
}
//*******************************************
//函数名称:extern uchar Get_ADC0809_data(uchar channel)
//函数功能:获得 ADC_0809 指定通道的电压值
//形式参数: uchar channel
//行参说明: 通道号(从0 到 7)
//返回参数: uchar类型的电压值
//使用说明: 无
//*******************************************
extern uchar Get_ADC0809_data(uchar channel)
{
uchar ucFlg;
uchar ucDB;
ADC0809_START = 0;
ADC0809_ALE = 0;
//ADC0809_EN = 0;
Set_ADC0809_channel(channel);
ADC0809_ALE = 1;
ADC0809_START = 1;
ADC0809_ALE = 0;
ADC0809_START = 0;
ADC0809_EOC = 1;
do{
ucFlg = ADC0809_CONP;
}while(ucFlg & 0x04 == 0);
ADC0809_EN = 1;
ucDB = ADC0809_DATA;
return ucDB;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -