ADC_CONTR &= ~0x20; adc_ret = ADC_RES;return(adc_ret<<8) | ADC_RESL;; }#endif#ifdefLOOP_ADC//adc的循环通道数据{通道, 结果存放位置}ADC_TABLE_TYPE adc_table[ADC_TABLE_SIZE] = { {0,0},//通道0{1,1},//通道1};staticvolatileunsignedcharadc_sp =0;//开启adc中断,开启后自动启动...
ADC_RES 和 ADC_RESL 都是转换结果储存寄存器。当第6位(RESFMT)为0时,转换结果左对齐,ADC_RES 储存转换结果的高8位,ADC_RESL 的高4位存储转换结果的低4位,ADC_RESL 的低4位为0;为1时转换结果右对齐,ADC_RES 的高4位为0,低4位储存转换结果的高4位,ADC_RESL 储存转换结果的低8位。 在实际应用中,单...
u8 adc_H,adc_L; //分别保存读取的ADC结果的高字节和低字节数据u16 adc_value; //保存ADC结果转换为16位的数据adc_H = ADC_RES & 0x0F; //从ADC_RES寄存器中读取ADC结果的高字节数据,只有低4位有效adc_L = ADC_RESL; //从ADC_RESL寄存器中读取ADC结果的低字节数据adc_value = (u16)((adc_H<...
ADCCFG寄存器:控制ADC存储方式,是左对齐还是右对齐存储方式,设置ADC时钟。 ADC_RES 和 ADC_RESL 寄存器:分别存储 ADC 转换结果的高 8 位和低 8 位(对于 10 位 ADC右对齐方式,高 2 位在 ADC_RES 的低 2 位,低 8 位在 ADC_RESL。 五、ADC采样示例 #include<STC8G.H>#include"intrins.h"#define ...
ADC结构:STC15F2K60S2单片机ADC由多路选择开关、比较器、逐次比较寄存器、10位DAC、转换结果寄存器(ADC_RES和ADC_RESL)以及ADC控制寄存器ADC_CONTR构成 核心部分:电压比较器、逐次比较寄存器、10位DAC。举例:下图为8位逐次逼近,集散AD编码D7~D0(过程类似用天平,先放大砝码,再放小砝码) ...
adc_value = (int)ADC_RES <<8;//读取ADC结果adc_value |= (int)ADC_RESL; adc_value = adc_value>>4; *value_point = adc_value; } 总结,这是ADC电路的问题, 以后一定要注意这些东西, 看来还是自己的知识没有学扎实。 加油!
//ADC通道7}ADC_RES=0;//清空结果寄存器高8位ADC_RESL=0;//清空结果寄存器低8位ADC_CONTR|=0x80;//使能ADC模块,打开了ADC电源ADCCFG=0x20|(16-speed);//0x20设置数据输出格式为低8位+高4位,//(16-speed)speed取0-16,与0x20按位或就是设置低四位的速度设置位,有16种速度}intADC_get(int pin)...
定义一个16位无符号整型变量ADC_RESULT是必要的。如果AUXR1=0,那么ADC_RESULT的高8位将直接来源于ADC_RES寄存器,具体操作是将ADC_RES的值赋给ADC_RESULT。为了确保低位正确,需要执行左移2位操作:ADC_RESULT=ADC_RESULT<<2。紧接着,将ADC_RESL寄存器中的低2位通过按位与操作去除无用位:ADC_...
Trans[5] = ADC_RES; // READ THE RESULT OF ADC Trans[6] = ADC_RESL;主函数中根据指令把...
百度试题 题目ADC_RES和ADC_RESL寄存器用来存放A/D转换结果。 A.正确B.错误相关知识点: 试题来源: 解析 A 反馈 收藏