九齐e64a——ADC详解

流程

过程
通道

ADC配置解析

设置ADC时钟,配置ADR寄存器
设置采样时间,配置ADCR寄存器
设置ADC位数,配置ADCR寄存器
设置ADC参考电压,配置ADVREFH寄存器
配置相应IO口为ADC模拟输入模式并关上下拉电阻,配置IOSTB寄存器
开启ADC输入总通道,配置ADMD寄存器
选择一个ADC通道,先清理通道即置零,配置ADMD寄存器
开启ADC中断,配置ADR寄存器ADIE位,中断标志位在ADR寄存器ADIF位
使能ADC,配置ADMD寄存器
开始ADC转换命令,配置ADMD寄存器
EOC只读是转换结束标志位,与中断标志位重复,使用中断时可忽略

ADC结构框图

框图

代码

void ADC_Init(void)
{//PB7
	ADR &= 0xE7;	//1110 0111 ADC clock = Fcpu/16
	ADCR |= 0x0C;	//0000 1100	ADC采样时间
	ADCR &= 0xFD;ADCR |= 0x01;		//1111 1101 ADC位数10-bit ADC

	ADVREFH = C_Vrefh_VDD;//ADC reference voltage is VDD	0000 0011
	
	ADCR |= 0x80;	//1000 0000 	PB7仅作为ADC模拟输入引脚
	IOSTB |= 0x80;	//1000 0000		输入模式 关上下拉
	ADMD |= 0X10;	//开启ADC总通道
	Clear_Channel();//清空通道
	ADMD |= ADC_CH_PB7;	//0000 1011		ADC通道选择PB7

	ADIE = 1;       //开启ADC中断
	ADMD |= 0x80;	//ADC_EN
	//等待256us
	//ADC_START();
//	ADRbits.ADIF = 0;
//	while(ADMDbits.EOC==0);		//标志位
}
  • 11
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值