主要截取PDF中
	而40/44引脚器件的模数转换器则具有13路输入。A/D模块能将一个模拟输入信号转换成相应的10位数字信号。
	执行A/D转换时应该遵循以下步骤:
	1. 配置A/D模块:
	•  配置模拟引脚、参考电压和数字 I/O(通过
	ADCON1寄存器)
	•  选择A/D输入通道 (通过ADCON0寄存器)
	•  选择A/D采集时间 (通过ADCON2寄存器)
	•  选择A/D转换时钟 (通过ADCON2寄存器)
	•  使能A/D模块 (通过ADCON0寄存器)
	2. 需要时,配置A/D中断:
	•  清零ADIF位
	•  将ADIE位置1
	•  将GIE位置1
	3. 如果需要,等待所需的采集时间。
	4. 启动转换:
	•  将GO/DONE位置1(通过ADCON0寄存器)
	5. 等待A/D转换完成,通过以下两种方法之一判断
	转换是否完成:
	•  查询GO/DONE位是否被清零
	•  等待A/D中断
	6. 读取A/D结果寄存器(ADRESH:ADRESL),需
	要时将ADIF位清零。
	7. 如需再次进行A/D转换,返回步骤1或步骤2。
	将每位的A/D转换时间定义为TAD,在下一次采
	集开始前至少需要等待3个TAD。
	
	控制C程序:
	开启RA1,模拟入口
	
		#include<adc.h>
	
	
		
	
	
		void Init_adc(void)
	
	
		{
	
	
		    TRISA1 = 1;// input
	
	
		    //        PORTAbits.AN0=1;
	
	
		    ADCON1=0x0d;//AIN0,AIN1 was anolog
	
	
		    ADCON0 |= 0x04;//set 1 channel    
	
	
		    ADCON2=0x90;// 右对齐 AD 4Tad  Fosc/2 转换时间,采样频率需要弄清楚
	
	
		    ADCON0bits.ADON=1; // enable ADc
	
	
		    //PIR1bits.ADIF=0; //enable intrrupt
	
	
		    ADRES=0x0000;
	
	
		}
	
	
		int Get_onetime_ad(void)
	
	
		{
	
	
		    unsigned char H=0,L=0;
	
	
		    ADCON0bits.GO=1;// start convert
	
	
		    while(ADCON0bits.GO);
	
	
		    //PIR1bits.ADIF=0;
	
	
		    H=ADRESH; 
	
	
		          L=ADRESL;
	
	
		    return abs((H<<8)+L); //标度变化 0-5V
	
	
		}
	
	void main()
	{
	
		        int temp=0;
	
	
		        float tmp=0;
	
	
		        char *buff;
	
	
		        int state;       
	
	
		        while(1)
	
	
		        {                               
	
	
		                        Init_adc();
	
	
		                        __delay_ms(10);
	
	
		                        temp=Get_onetime_ad();
	
	
		                        tmp=(float)temp;
	
	
		                        tmp=(tmp*5)/1024;
	
	
		                        //int数据保存到float中,后做除法
	
	
		                        buff=ftoa(tmp,&state);
	
	
		                        Display_char(1,2,"V:      ");
	
	
		                        Display_char(13,2,buff);
	
	
		        }
	
	}
	需要补充的是:关于Tad,和转换频率,详见PDF中的分析!(待项目深入后再做研究)
										
					
					
							
					
| 有奖活动 | |
|---|---|
| 硬核工程师专属补给计划——填盲盒 | |
| “我踩过的那些坑”主题活动——第002期 | |
| 【EEPW电子工程师创研计划】技术变现通道已开启~ | |
| 发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
| 【EEPW在线】E起听工程师的声音! | |
| 高校联络员开始招募啦!有惊喜!! | |
| 【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
| 送您一块开发板,2025年“我要开发板活动”又开始了! | |
			
			
			
						
			
 我要赚赏金
