实验四、编写程序对模拟输入进行采集和转换,并将结果显示在LCD显示屏上,通过调节可变电阻摸拟输入量的变化,观察显示结果。一、实验目的1、熟悉A/D控制的基本原理,掌握A/D控制器的设计与其实现方法;2、熟悉ARM本身自带的八路十位A/D控制器及相应寄存器3、进一步开发板进行了解。二、实验设备及材料1、飞凌6410开发板及连接开发板和计算机的线路;2、DMTool工具等相应的的软件;3、PC机1台三、实验步骤1、将开发板与计算机进行连接并进行调试保证两者正常通信。2、根据实验原理和目的编写C语言控制算法。3、将C语言程序导入到软件中并进行修改调试,保证控制程序能够正常运行。4、观察实验结果并记录实验数据。四、实验过程中所使用的控制程序#includestdio.h#includeunistd.h#includesys/types.h#includesys/ipc.h#includesys/ioctl.h#includepthread.h#includefcntl.h#includes3c2410-adc.h#defineADC_DEVstaticintadc_fd=-1;staticintinit_ADdevice(void){if((adc_fd=open(ADC_DEV,O_RDWR))0){printf(Erroropening%sadcdevice\n,ADC_DEV);return-1;}staticintGetADresult(intchannel){intPRESCALE=0XFF;intdata=ADC_WRITE(channel,PRESCALE);write(adc_fd,&data,sizeof(data));read(adc_fd,&data,sizeof(data));returndata;}staticintstop=0;staticvoid*comMonitor(void*data){getchar();stop=1;returnNULL;}intmain(void){inti;floatd;pthread_tth_com;void*retval;if(init_ADdevice()0)return-1;pthread_create(&th_com,NULL,comMonitor,0);printf(\nPressEnterkeyexit!\n);while(stop==0){for(i=0;i=2;i++){d=((float)GetADresult(i)*3.3)/1024.0;printf(a%d=%8.4f\t,i,d);}usleep(1);printf(\r);}pthread_join(th_com,&retval);printf(\n);return0;}