adc.c

来自「门禁系统 interated with LCD」· C语言 代码 · 共 54 行

C
54
字号
#include <htc.h>
#include "ADC.h"

void initialize_ADC(void)
{
	//set clock source for the ADC
	ADCON1= 0x82; //Port A all ADC
	ADCS1=1;
	ADCS0=0;
	ADFM=1; //Right justified
	//enable the ADC
	ADON=1;

}

int read_ADC_channel(unsigned int channel_number)
{
	volatile unsigned int value;
	ADRESH = ADRESL = 0;
	switch(channel_number)
	{
	case 0:
		CHS2=0;
		CHS1=0;
		CHS0=0;
		break;
	case 1:
		CHS2=0;
		CHS1=0;
		CHS0=1;
		break;
	case 2:
		CHS2=0;
		CHS1=1;
		CHS0=0;
		break;
	case 3:
		CHS2=0;
		CHS1=1;
		CHS0=1;
		break;
	default:;
	}
	
	//start AD conversion
	ADGO=1;
	//wait for conversion to finish
	while(ADGO)	{};
	//read the values in the registers
	value=(ADRESH<<8)+ADRESL;
	return value;

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?