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 + -
显示快捷键?