adc.c
来自「pic16f917的AD转换源码处理程序,适用时请注意扩展通道数量.」· C语言 代码 · 共 43 行
C
43 行
#include <pic.h>
#include"PIC16F91X.h"
#include"adc.h"
void IniAdc(void)
/*
功能:初始化AD转换器.
*/
{
ANSEL&=~(1<<0);ANSEL&=~(1<<1);ANSEL&=~(1<<2);ANSEL&=~(1<<3);
TRISA0=1;TRISA1=1;TRISA2=1;TRISA3=1;
VCFG1=0; VCFG1=0;//配置参考电压(通过设成VSS,VDD,ADCON0 寄存器)
ADFM=0;//左对齐
ADCS2=1; ADCS1=0; ADCS0=1;//转换时钟4.0 μs
ADON=1;//使能A/D 模块
}
unsigned char GetAdc(unsigned char number)
/*
功能:进行AD转换
参数:number-->通道号,取0~3.
返回:8位AD转换结果.
*/
{
unsigned char AdcValue;
if(number==0)
{ CHS2=0; CHS1=0; CHS0=0;}
else if(number==1)
{ CHS2=0; CHS1=0; CHS0=1;}
else if(number==2)
{ CHS2=0; CHS1=1; CHS0=0;}
else if(number==3)
{ CHS2=0; CHS1=1; CHS0=1;}
else
return 0;
ADGO=1;
while(!ADIF);
ADIF=0;
AdcValue=ADRESH;
return AdcValue;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?