7.6 A/D转换实验
7.6.1 实验目的
(1)通过实验掌握模数转换(A/D)的原理.
(2)掌握S3C2410X处理器的A/D转换功能.
7.6.2 实验设备
(1)硬件:Embest EduKit-Ⅲ实验平台,ULINK USB-JTAG仿真器套件,PC.
(2)软件:μVision IDE for ARM集成开发环境,Windows 98/2000/NT/XP/7.
7.6.3 实验内容
设计分压电路,利用S3C2410X集成的A/D模块,把分压值转换为数字信号,并通过超级终端和数码管观察转换结果.
7.6.4 实验原理
(1)A/D转换器.
A/D转换器原理请参考6.6.
(2)分压电路设计.
分压电路比较简单,为了保证电压转换时是稳定的,可以直接调节可变电阻得到稳定的电压值.Embest EduKit-Ⅲ实验平台的分压电路见图7-16.
图7-16 分压电路
(3)软件程序设计.
实验主要是对S3C2410X中的A/D模块进行操作,所以软件程序也主要是对A/D模块中的寄存器进行操作,其中包括对ADC控制寄存器(ADCCON)、ADC数据寄存器(ADCDAT)的读写操作.同时为了观察转换结果,可以通过串口在超级终端里面观察.
7.6.5 实验操作步骤
(1)准备实验环境.
使用ULINK USB-JTAG仿真器连接目标板,使用Embest EduKit-Ⅲ实验板附带的串口线,连接实验板上的UART0和PC的串口.
(2)串口接收设置.
在PC上运行Windows自带的超级终端串口通信程序(波特率115200、1位停止位、无校验位、无硬件流控制),或者使用其他串口通信程序.
(3)打开实验例程.
①拷贝实验平台附带光盘CD1\CD1_Basic_070615\Software文件夹到RealView MDK软件的安装目录的Keil\ARM\Boards\Embest\目录下(如果已经拷贝,可跳过此步骤).
②使用μVision IDE for ARM通过ULINK USB-JTAG仿真器连接实验板,打开实验例程目录7.1_adc_test子目录下的adc_test.Uv2例程,编译链接工程.
③根据ReadMe目录下的ReadMeCommon.txt及readme.txt文件配置集成开发环境(工程默认已经配置正确),点击工具栏“”,在Option for Target对话框的Linker页中选择RuninRAM.sct分散加载文件,点击MDK的Debug菜单,选择Start/Stop Debug Session项或点击工具栏“”,下载工程生成的.axf文件到目标板的RAM中调试运行.
④如果需要将程序烧写固化到Flash中,仅需要更改分散加载文件即可(须慎用,这一步的操作将会破坏Flash中原有固化程序,建议实验中不操作).在Option for Target对话框的Linker页中选择RuninFlash.sct分散加载文件,重新编译工程,点击MDK的Flash菜单,选择Download烧写调试代码到目标系统的Nor Flash中,重启实验板,实验板将会运行烧写到Nor Flash中的代码.
⑤点击Debug菜单的Go或F5键运行程序.
(4)观察实验结果.
①在PC机上观察超级终端程序主窗口,可以看到如下界面:
boot success...
[ADC_IN Test,channel 2]
ADC conv.freq.=2500000 Hz
Please adjust AIN2 value!
The results of ADC are:
②本实验对AIN2输入信号进行A/D转换,调节电位器R1206,可以在超级终端和数码管上观察到变化的数据,本实验使用start-by-read模式,每1秒钟对数据进行一次采样,共采样20个点.超级终端主窗口和数码管显示出采样点的数据经过转换后的结果如下图所示.
[ADC_IN Test,channel 2]
ADC conv.freq.=2500000 Hz
Please adjust AIN2 value!
The results of ADC are:
3.2742 3.2742 2.9097 1.9452 1.6774 1.6161 1.0871 0.8194 1.2194 1.2806
1.6290 1.6290 1.9161 2.1065 2.2839 2.2871 1.7032 1.1806 0.7161 0.0677
7.6.6 实验参考程序及流程图
图7-17 A/D转换实验流程图
代码
7.6.7 练习题
参考实验程序,采用分压电路,对第四通道的输入电压进行循环采样,循环周期为0.5s,并求出采样数据的平均值.
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。