⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 adc.c

📁 一个通过串口与51通信的AVR的程序,还有一些其实功能
💻 C
字号:
#include <header.h>
#include <adc.h>
#include <ctrl.h>

#define ADREFIN 0x0A
#define ADREFOUT 0x0B
#define ADCREFIN 0xc0
#define ADCREFOUT 0x00

unsigned char adc_mux;

unsigned short int ADC_read(unsigned char adc_way)
{
ADMUX=adc_mux|(adc_way&0x07);
ADCSRA|=(1<<ADSC);
loop_until_bit_is_set(ADCSRA,ADIF);
ADCSRA|=(1<<ADIF);
return ADC; //ADC=ADCH:ADCL 
}

void ADC_int()
{
adc_mux=0xc0; //0xc0:选择内部2.56V参考电压
ADCSRA=(1<<ADEN)|0x06; //使能ADC,时钟64分频 125KHz@8MHz system clock
}

void ADC_com(unsigned char com)
{
switch(com)
	{
	case 0x00:
	case 0x01:
	case 0x02:
	case 0x03:
	case 0x04:
	case 0x05:
	case 0x06:
	case 0x07: 
		ctrl_send_ADC(ADC_read(com),com);
		break;
	case ADREFIN: adc_mux=ADCREFIN;break;
	case ADREFOUT: adc_mux=ADCREFOUT;break;
	}
}

⌨️ 快捷键说明

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