📄 ad.c
字号:
/*此AD占用的端口为AIN0.0和AIN0.1*/
#include<c8051f020.h>
#include"initial.h"
void ADC00Initial()
{
AMX0SL=0x00; //ADC0.0通道选通
AMX0CF=0x00; //AD为单端输入
ADC0CF=(22118400/2000000-1)<<4; //设置AD时钟为2M
ADC0CF=ADC0CF&0xf8; //选择放大倍数为1
/*控制寄存器设置 可位寻址*/
AD0EN=1; //ADC0 使能位
AD0TM=0; //除了转换期间之外一直处于跟踪方式
AD0CM1=0;
AD0CM0=0; //00:向AD0BUSY 写1 启动ADC0 转换
AD0LJST=0; //ADC0L 寄存器数据右对齐
REF0CN=0x03;//ADC0 电压基准取自VREF0
//内部偏压发生器工作,内部电压基准缓冲器工作
/*启动转换程序*/
}
void ADC01Initial()
{
AMX0SL=0x01; //ADC0.2通道选通
AMX0CF=0x00; //AD为单端输入
ADC0CF=(22118400/2000000-1)<<4; //设置AD时钟为2M
ADC0CF=ADC0CF&0xf8; //选择放大倍数为1
/*控制寄存器设置 可位寻址*/
AD0EN=1; //ADC0 使能位
AD0TM=0; //除了转换期间之外一直处于跟踪方式
AD0CM1=0;
AD0CM0=0; //00:向AD0BUSY 写1 启动ADC0 转换
AD0LJST=0; //ADC0L 寄存器数据右对齐
REF0CN=0x03;//ADC0 电压基准取自VREF0
//内部偏压发生器工作,内部电压基准缓冲器工作
/*启动转换程序*/
/* AD0INT=0;
AD0BUSY=1;
while(AD0INT!=1); //采用查询方式 */
}
void ADC0begin()
{
AD0INT=0;
AD0BUSY=1; //向ADC0写1启动转换
while(AD0INT!=1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -