《嵌入式系统》课程实验报告 2018年春季
《嵌入式系统》课程实验报告
学生姓名: 所在班级: 指导教师:
记分及评价:
项目满分 5分 得 分
一、实验名称
ADC转换实验 二、实验目的
了解S3C2410X处理器ADC相关控制寄存器的使用;通过实验掌握模数转换的原理;掌 握S3C2410X处理器的ADC转换功能。 三、实验内容
设计分压电路,利用S3C2410X集成的ADC模块,把分压值转换为数字信号,并通过超 级终端和数码管观察转换结果。 四、实验原理
1、 S3C2410X处理器的A/D转换
处理器内部集成了采用近似计数式的8路10位ADC,集成零比较器,内部产生比较时钟信号;支持软件使能休眠模式,以减少电压损耗。其主要特性: — 分辩率:10-位
— 微分线性度误差:± 1.0 LSB — 积分线性度误差:± 2.0 LSB — 最大转换速率:500 KSPS — 低功耗
— 供电电压:3.3V
— 输入模拟电压范围:0 ~ 3.3V — 片上采样保持功能 — 普通转换模式
— 分离的X/Y轴坐标转换模式 — 自动(连续) X/Y轴坐标转换模式 — 等待中断模式
2、 S3C2410X的AD转换的使用 寄存器组
处理器集成的ADC只使用到两个寄存器,即ADC控制寄存器(ADCCON)、ADC数据寄
《嵌入式系统》课程实验报告 2018年春季
存器(ADCDAT)。AD转换器的结构图如下:
五、实验结果
超级终端上显示以下信息:
六、练习题
参考实验程序,对第四通道的输入电压进行循环采样,循环周期为0.5S,并求出采样数据的平均值。
void adc_test(void) {
int i,j;
UINT16T usConData; float usEndData; float usAllData=0.0; float usArvData;
uart_printf(\
uart_printf(\ unPreScaler = PCLK/ADC_FREQ - 1;
rADCCON=(1<<14)|(unPreScaler<<6)|(1<<5)|(0<<2)|(1<<1); uart_printf(\ uart_printf(\ usConData=rADCDAT0&0x3FF;
for(j = 0; j < 20; j++) {
while(!(rADCCON & 0x8000)); usConData = rADCDAT0&0x3FF;
usEndData = usConData * 3.3000 / 0x3FF;
《嵌入式系统》课程实验报告 2018年春季
}
uart_printf(\
usAllData=usAllData+usEndData; delay(5000); }
usArvData= usAllData/20;
uart_printf(\平均值:%0.4f %uart_printf(\