嵌入式系统实验指导书_第1页
嵌入式系统实验指导书_第2页
嵌入式系统实验指导书_第3页
嵌入式系统实验指导书_第4页
嵌入式系统实验指导书_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

5.2LED控制实验5.2.1实验目的>掌握利用S3C2410X芯片地址总线扩展的【/。来驱动LED显示;了解ARM芯片中利用总线扩展I/O口的使用方法。5.2.2实验设备硬件:EmbestEduKit-IV平台,ULINK2仿真器套件,PC机;软件:以VisionIDEforAft成开发环境,Windows98/2000/NT/XP。5.2.3实验内容编写程序,控制实验平台的发光二极管LED1,LED2,LED3,LED4,使它们有规律的点亮和熄灭,具体顺序如下:LED1亮->LED2亮->LED3亮->LED4亮->LED1灭->LED2灭->LED3灭->LED4灭->全亮->全灭,如此反复。5.2.4实验原理在开发LED驱动之前,首先了解本实验的原理图:EduKit-IV设计了5个LED(D1〜D5)用于指示和控制系统的状态,其中D2指示电源的状态,其他4个的状态是用户可编程的(SYSLED1〜SYSLED4),在EduKit-IV中,这4个LED的状态通过扩展【/。接口进行控制。EduKit-IVLED所用到的扩展I/O如图5-2-1所示:CS1c技CSJCS4C55CSSCS7图5-2-1片选信号的产生利用3/8译码器将A18-A20扩展了7个外设片选信号CS1-CS7。CS1和CS2引出到外部扩展接口EXCON_B3,CS3和CS4为总线扩展输入的芯片74HC541的片选。CS5,CS6,和CS7为总线扩展输出的芯片74HC573的片选。片选信号在接入74HC573前经过了如下处理:

图5-2-2OLE信号的产生其中CS5,CS6,CS73个片选信号和写使能信号通过74HC32或门输出一个选通信号LE为低电平。图5-2-3LE信号的产生前面或门输出的LE选通信号经过74HC04反相得到高电平后再连接到扩展输出芯片74HC573oEduKit-IVLED接口电路如图5-2-4和图5-2-5所示。在本实验平台上,如图5-2-4,芯片74VHC573DT的选通物理地址为0x21180000,当访问这个物理地址的时候,就可以访问其上的硬件资源了。这里可以把其理解为一个寄存器,寄存器地址是0x21180000,它的低4位控制了4个LED灯,通过访问地址为0x21180000的寄存器,往其低4位置高/低电平,从而控制相应的4个LED灯的亮/灭。(注意:寄存器0x21180000是只写的,在软件编程时只能往里写数据,不能从里读数据)图5-2-4向LED写入数据如图5-2-5所示,LED1-4这4个LED采用了共阳极的接法,分别与SYSLED1-4相连,通过SYSLED1-4引脚的高低电平来控制发光二极管的亮与灭。当这几个管脚输出高电平的时候发光二极管熄灭,反之,发光二极管点亮。5.2.5实验步骤准备实验环境使用ULINK2仿真器连接EmbestEduKit-IV实验平台的主板JTAG接口;使用EmbestEduKit-IV实验平台附带的交叉串口线,连接实验平台主板上的COM2和PC机的串口(一般PC只有一个串口,如果有多个请自行选择,笔记本没有串口设备的可购买USB转串口适配器扩充);使用EmbestEduKit-IV实验平台附带的电源适配器,连接实验平台主板上的电源接口。串口接收设置在PC机上运行windows自带的超级终端串口通信程序,或者使用实验平台附带光盘内设置好了的超级终端,设置超级终端:波特率115200、1位停止位、无校验位、无硬件流控制,或者使用其它串口通信程序。(注:超级终端串口的选择根据用户的PC串口硬件不同,请自行选择,如果PC机只有一个串口,一般是COM1)打开实验例程1) 拷贝实验平台附带光盘DISK3_S3C2410\03-Codes\01-MDK\Mini2410-IV文件夹到MDK的安装路径:Keil\ARM\Boards\Embest\(如果本实验之前已经拷贝,可以跳过这一步)。(注:用户也可拷贝工程到任意目录,本实验为了便于教学,故统一实验路径);2) 运行^VisionIDEforARM软件,点击菜单栏“Project”,选择“OpenProject...",在弹出的对话框选择实验例程目录LED_Test子目录下的LED_Test.Uv2工程。3) 默认打开的工程在源码编辑窗口会显示实验例程的说明文件readme.txt,详细阅读并理解实验内容。4) 工程提供了两种运行方式:一是下载到SDRAM中调试运行,二是固化到NorFlash中运行。用户可以在工具栏SelectTargetT拉框中选择在RAM中调试运行还是固化Flash中运行。如下图所示:图5-2-6选择运行方式粉茵富嫖愚]舞戴 三]4%™LEDTestINRAM-■JEEBTestIHRAM ILgD_TEStINFU\SH__ s0.下面实验将介绍下载到SDRAM中调试运行,所以我们在SelectTarget下拉框中选择LED_TestINRAM。接下来开始编译链接工程,在菜单栏“Projiet”选择“Buildtarget”或者咔。^"alltargetfiles’编译整个工程,用户也可以在工具栏单击''〃或者“〃进行编译。编译完成后,在输出窗口可以看到编译提示信息,比如“".\SDRAM\LED_Test.axf"-0Error(s),1Warning(s).”,如果显示“0Error(s)’’即表示编译成功。拨动实验平台电源开关,给实验平台上电,单击菜单栏Debug->Start/StopDebugSession项将编译出来的映像文件下载到SDRAM中,或者单击工具栏''〃按钮来下载。下载完成后,单击菜单栏Debug->Run项运行程序,或者单击工具栏''〃按钮来全速运行程序。用户也可以使用进行单步调试程序。全速运行后,用户可以在超级终端看到程序运行的信息。用户可以Stop程序运行,使用^VisionIDEforARM的一些调试窗口跟踪查看程序运行的信息。注:如果在第4)步用户选择在Flash中运行,则编译链接成功后,单击菜单栏Flash->Download项将程序固化到NorFlash中,或者单击工具栏按钮''〃固化程序,从实验平台的主板拔出JTAG线,给实验平台重新上电,程序将自动运行。观察实验结果在执行到第8)步时,可以看到超级终端上输出如下字符。观察发光二极管的亮灭情况,可以观察到的现象与前面实验内容中的相符,说明实验成功的实现了利用总线扩展I/0对LED的驱动。“““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““““个********************************************************************英蓓特EduKit系列嵌入式教学系统平台****EmbestEduKitSeriesEmbeddedTeachingPlatform**"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""*******************************************************************ExpandI/O(DiodeLed)TestExamplePleaseLookAtTheLEDSend.完成实验练习题理解和掌握实验后,完成实验练习题。5.2.6实验参考程序/"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""*********************************************************************************************File:led_test.cAuthor:embestDesc:Led_TestHistory:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""*********************************************************************************************//* *//*includefiles*//* */#include”2410lib.h”/* *//*constantdefine*//* */#defineLEDADDR(*(volatileunsignedchar*)0x21180000)//LEDAddress/"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""*********************************************************************************************name:led_onfunc:turnontheledsonebyonepara:noneret:nonemodify:comment:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""*********************************************************************************************/voidled_on(void){inti,nOut;nOut=0xFF;LEDADDR=nOut&0xFE;for(i=0;i<100000;i++);LEDADDR=nOut&0xFC;for(i=0;i<100000;i++);LEDADDR=nOut&0xF8;for(i=0;i<100000;i++);LEDADDR=nOut&0xF0;for(i=0;i<100000;i++);}/"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""*********************************************************************************************name:led_offfunc:turnofftheledsonebyonepara:noneret:nonemodify:comment:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""*********************************************************************************************/voidled_off(void){inti,nOut;nOut=0xF0;LEDADDR=nOut|0x01;for(i=0;i<100000;i++);LEDADDR=nOut|0x03;for(i=0;i<100000;i++);LEDADDR=nOut|0x07;for(i=0;i<100000;i++);LEDADDR=nOut|0x0F;for(i=0;i<100000;i++);}/"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""/个********************************************************************************************name:led_on_offfunc:turnonthe4ledsandthenturnoffthe4ledspara:noneret:nonemodify:comment:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""*********************************************************************************************/voidled_on_off(void){inti;LEDADDR=0xF0;for(i=0;i<100000;i++);LEDADDR=0xFF;for(i=0;i<100000;i++);}/"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""*********************************************************************************************name:led_testfunc:i/ocontroltest(led)para:noneret:nonemodify:comment:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""*********************************************************************************************/voidled_test(void){uart_printf("ExpandI/O(DiodeLed)TestExample\n");uart_printf("PleaseLookAtTheLEDS\n");led_on();led_off();led_on_off();delay(2000);uart_printf("end.\n");}5.2.7练习题自己编写程序使数码管以不同的显示方式显示。5.3按键中断实验5.3.1实验目的>通过实验掌握S3C2410X的中断控制寄存器的使用;>通过实验掌握S3C2410X处理器的中断响应过程;通过实验掌握ARM处理器的中断方式和中断处理过程;>通过实验掌握ARM处理器中断处理的软件编程方法。5.3.2实验设备硬件:EmbestEduKit-IV平台,ULINK2仿真器套件,PC机;软件:以VisionIDEforAft成开发环境,Windows98/2000/NT/XP。5.3.3实验内容编写程序,当用户在实验箱上按下KEY1键或KEY2键时在中断服务子程序中将相关信息打印到串口中,显示在超级终端上。5.3.4实验原理在本实验平台的主板上设计了两路外部按键,当键被按下时,会产生按键中断信号。按键产生的中断信号经过CPLD逻辑处理后连接到CPU的中断引脚。电路原理图如下:图5-3-1按键电路

IXINT1EXINTOKEY2图5-3-2按键电路IXINT1EXINTOKEY2电路图5-3-1、5-3-2是主板上设计的两路按键,分别输出了两个按键信号:EXINT0与EXINT1O两路按键的原理是一样的。这里以主板上的按键KEY2为例说明。如图5-3-1右边的KEY2按键,其导出了一个输出信号KEY1,信号KEY1对应了标号EXINT0。在没有键按下时,EXINT0信号为高电平,当有键按下时,EXINT0变为低电平。EXINT0信号作为CPLD芯片的输入信号。如下图5-3-3。

LFxainOHDVrsiowISJORea皿mLFxaiIRQ11IRQ12IRQLJIRQ11IRQ12IRQLJIRQLsVi*r7sC1ORCIOW图5-3-3CPLD扩展电路在图5-3-3中,按键信号EXINT0直接输入到CPLD芯片。CPLD是可编程逻辑芯片。在本实验平台中,EXINT0信号经过CPLD逻辑处理后,最终连接到CPU的中断引脚上。本实验平台的CPLD内部逻辑如下图:

图5-3-4CPLD内部逻辑了解CPLD逻辑便于理解按键的中断机制。如上图5-3-4为CPLD扩展中断。ISAIRQ0〜ISAIRQ7、IRQNET、IRQKEY、EINT0、EINT1等信号是外部设备的中断信号,它们作为CPLD芯片的输入。CPLD芯片上设计了两个中断控制器:CtrlReg0与CtrlReg1,设计了两个状态寄存器StatusReg0与StatusReg1。从上图5-3-4可以看出,按键中断EINT0是由状态寄存器StatusReg1与中断控制器CtrlReg1来控制的,并且按键中断EINT0与其它外部中断(如IRQCF、贝。火£丫等)共享了一个CPU中断,在初始状态,这些引脚信号为高电平。下面说明CPLD芯片上与按键中断相关的寄存器:表5-3-1中断控制寄存器CtrlReg1(地址0X06600000)BIT7BIT6BIT5BIT4BIT3BIT2BTT1BITOIRQNETIRQKEYIRQCFIRQCAN|ReservedEINT1EINTOReserved中断控制寄存器CtrlReg1是8位只写寄存器。它的每个位分别控制了一个外部中断。其中按键中断EINT0位于BIT1位。往寄存器相应位写1,则相应中断被屏蔽;相应位清零,则相应中断被打开。表5-3-2中断状态寄存器StatusReg1(地址0X06200000)BIT7BIT6BIT5BIT4BIT3BIT2BIT1BITOIRQNETIRQKEYIRQCFIRQCANReservedEINT1EINTOReserved状态寄存器StatusReg1是8位只读寄存器。它的每个位分别实时反映了一个外部中断信号的状态,其中BIT1位反映了按键中断EINT0的状态,比如当前按建KEY2没有键按下,则中断信号引脚EINT0为高电平,此时寄存器StatusReg1的BIT1ffi也为高电平;当有键按下,EINT0变为低电平,则StatusReg1的BIT1位也变为低电平。5.3.5实验步骤准备实验环境使用ULINK2仿真器连接EmbestEduKit-IV实验平台的主板JTAG接口;使用EmbestEduKit-IV实验平台附带的交叉串口线,连接实验平台主板上的COM2和PC机的串口(一般PC只有一个串口,如果有多个请自行选择,笔记本没有串口设备的可购买USB转串口适配器扩充);使用EmbestEduKit-IV实验平台附带的电源适配器,连接实验平台主板上的电源接口。串口接收设置在PC机上运行window,自带的超级终端串口通信程序,或者使用实验平台附带光盘内设置好了的超级终端,设置超级终端:波特率115200、1位停止位、无校验位、无硬件流控制,或者使用其它串口通信程序。(注:超级终端串口的选择根据用户的PC串口硬件不同,请自行选择,如果PC机只有一个串口,一般是COM1)。打开实验例程1) 拷贝实验平台附带光盘DISK3_S3C2410\03-Codes\01-MDK\Mini2410-IV文件夹到MDK的安装路径:Keil\ARM\Boards\Embest\(如果本实验之前已经拷贝,可以跳过这一步)。(注:用户也可拷贝工程到任意目录,本实验为了便于教学,故统一实验路径);2) 运行^VisionIDEforARM软件,点击菜单栏“Project”,选择“OpenProject...",在弹出的对话框选择实验例程目录5.3_Button_Test子目录下的Button_Test.Uv2工程。3) 默认打开的工程在源码编辑窗口会显示实验例程的说明文件readme.txt,详细阅读并理解实验内容。4) 工程提供了两种运行方式:一是下载到SDRAM中调试运行,二是固化到NorFlash中运行。用户可以在工具栏SelectTargetT拉框中选择在RAM中调试运行还是固化Flash中运行。如卜图所示::费笛圈参矗1辉盛ButtonTestINRAM二]昂电整ProjectWorkspaceButtonJustINRAM-\JButtonTestIIIRAM INFLASH图5-3-5选择运行方式下面实验将介绍下载到SDRAM中调试运行,所以我们在SelectTargetT拉框中选择Button_TestINRAM。5) 接下来开始编译链接工程,在菜单栏“Projiet〃选择“Buildtarget”或者''Rebuildalltargetfiles”编译整个工程,用户也可以在工具栏单击''〃或者“〃进行编译。6) 编译完成后,在输出窗口可以看到编译提示信息,比如“".\SDRAM\Button_Test.axf"-0Error(s),1Warning(s).",如果显示“0Error(s)"即表示编译成功。7) 拨动实验平台电源开关,给实验平台上电,单击菜单栏Debug->Start/StopDebugSession项将编译出来的映像文件下载到SDRAM中,或者单击工具栏''〃按钮来下载。8) 下载完成后,单击菜单栏Debug->Run项运行程序,或者单击工具栏、'〃按钮来全速运行程序。用户也可以使用进行单步调试程序。9) 全速运行后,用户可以在超级终端看到程序运行的信息,此时,用户可在实验箱上按下KEY1键或KEY2键,超级终端上将显示相应的信息。10) 用户可以Stop程序运行,使用^VisionIDEforARM勺一些调试窗口跟踪查看程序运行的信息。注:如果在第4)步用户选择在Flash中运行,则编译链接成功后,单击菜单栏Flash>Download项将程序固化到NorFlash中,或者单击工具栏按钮“固化程序,从实验平台的主板拔出JTAG线,给实验平台重新上电,程序将自动运行。观察实验结果在执行到第8)步时,可以看到超级终端上显示以下字符:**英蓓特EduKit系列嵌入式教学系统平台****EmbestEduKitSeriesEmbeddedTeachingPlatform**ExternalInterruptTestExample此时,用户可在实验箱上按下KEY1键或KEY2键,超级终端上将显示相应的信息:Eint0interruptoccurred.EINT1interruptoccurred.完成实验练习题理解和掌握实验后,完成实验练习题。5.3.6实验参考程序本实验的参考程序如下:/*********************************************************************************************File:button_test.cAuthor:embestDescript:Button_TestHistory:EINT0---KEY1EINT1---KEY2*********************************************************************************************/TOC\o"1-5"\h\z/* *//*includefiles*//* */#include"2410lib.h"/* *//*constdefine*//* */#definerCPLDIntControl(*(volatileunsignedchar*)0x22600000)#definerCPLDIntStatus(*(volatileunsignedchar*)0x22200000)/* *//*functiondeclare*//* */void__irqint_int(void);/*********************************************************************************************name:int_intfunc:EXTINTinterruptserviceroutinepara:noneret:nonemodify:comment:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""*********************************************************************************************/void__irqint_int(void){unsignedcharStatus;Status=rCPLDIntStatus;Status=~(Status&0x6);if(Status&0x2){uart_printf("Eint0interruptoccurred.\n");rCPLDIntControl|=(1<<1);rCPLDIntControl&=~(1<<1);}elseif(Status&0x4){uart_printf("EINT1interruptoccurred.\n");rCPLDIntControl|=(1<<2);rCPLDIntControl&=~(1<<2);}rEINTPEND=(1<<9);ClearPending(BIT_EINT8_23);}/"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""*********************************************************************************************name:int_initfunc:Interruptinitializepara:noneret:nonemodify:comment:""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""*********************************************************************************************/voidint_init(void){rSRCPND=rSRCPND;//ClearallinterruptrINTPND=rINTPND;//Clearallinterrupt//nIntMode='3';rGPGCON|=(0xf<<0);rGPGCON&=(0xa<<0);rCPLDIntControl=0xFF;rCPLDIntControl=0xF9;pISR_EINT8_23=(UINT32T)int_int;rSRCPND=BIT_EINT8_23;//ClearthepreviouspendingstatesrINTPND=BIT_EINT8_23;rEXTINT1&=~((0x7<<4)|(0x7<<0));rEXTINT1|=((0x2<<4)|(0x2<<0));rEINTMASK&=~(3<<8);rINTMSK&=~(BIT_EINT8_23);}个********************************************************************************************name:int_testfunc:Externinterrupttestpara:noneret:nonemodify:comment:*********************************************************************************************/voidint_test(void){uart_printf("\nExternalInterruptTestExample\n");int_init();while(1);}5.3.7练习题编写程序实现:按下KEY1或KEY2后点亮实验系统的LEDs一段时间后熄灭。8.2ADC转换实验8.2.1实验目的了解S3C2410X处理器ADC相关控制寄存器的使用;通过实验掌握模数转换(ADC)的原理;>掌握S3C2410X处理器的ADC转换功能。8.2.2实验设备硬件:EmbestEduKit-IV平台,ULINK2仿真器套件,PC机;软件:以VisionIDEforA集眦开发环境,Windows98/2000/NT/XP。8.2.3实验内容设计分压电路,利用S3C2410X集成的人。。模块,把分压值转换为数字信号,并通过超级终端和数码管观察转换结果。8.2.4实验原理A/D转换器(ADC)随着数字技术,特别是计算机技术的飞速发展与普及,在现代控制、通信及检测领域中,对信号的处理广泛采用了数字计算机技术。由于系统的实际处理对象往往都是一些模拟量(如温度、压力、位移、图像等),要使计算机或数字仪表能识别和处理这些信号,必须首先将这些模拟信号转换成数字信号,这就必须用到A/D转换器。A/D转换的一般步骤CPSSADC取样保持电路ADC的量化编码电路...DDDn-110Iv(t)vI(t)输入模拟电压取样展宽信号数字量输出(n位)图8-2-1模拟量到数字量的转换过程模拟信号进行A/D转换的时候,从启动转换到转换结束输出数字量,需要一定的转换时间,在这个转换时间内,模拟信号要基本保持不变。否则转换精度没有保证,特别当输入信号频率较高时,会造成很大的转换误差。要防止这中误差的产生,必须在A/D转换开始时将输入信号的电平保持住,而在A/D转换结束后,又能跟踪输入信号的变化。因此,一般的A/D转换过程是通过取样、保持、量化和编码这四个步骤完成的。一般取样和保持主要由采样保持器来完成,而量化编码就由A/D转换器完成。S3C2410X处理器的A/D转换处理器内部集成了采用近似比较算法(计数式)的8路10位ADC,集成零比较器,内部产生比较时钟信号;支持软件使能休眠模式,以减少电源损耗。其主要特性:精度(Resolution):10-bit微分线性误差(DifferentialLinearityError):土1.5LSB积分线性误差(IntegralLinearityError):土2.0LSB最大转换速率(MaximumConversionRate):500KSPS输入电压(Inputvoltagerange):0-3.3V•片上采样保持电路•正常模式•单独X,Y坐标转换模式•自动X,Y坐标顺序转换模式•等待中断模式S3C2410X处理器A/D转换器的使用寄存器组处理器集成的ADC只使用到两个个寄存器,即ADC控制寄存器(ADCCON)、ADC数据寄存器(ADCDAT)。ADC控制寄存器(ADCCON)寄存器地址R/W功能描述复位值ADCCON0x58000000R/WADC控制寄存器0x3FCADCCON[15]:A/D转换结束标志0:A/D转换正在进行;1:A/D转换结束ADCCON[14]:AD转换预分频允许0:不允许预分频1:允许预分频ADCCON[13:6]:预分频值PRSCVLPRSCVL在0到255之间,实际的分频值为PRSCVL+1ADCCON[5:3]:模拟信道输入选择000=AIN0001=AIN1010=AIN2011=AIN3=AIN4=AIN5=AIN6=AIN7ADCCON[2]:待机模式选择位0:正常模式1:待机模式ADCCON[1]:A/D转换读一启动选择位0:禁止Start-by-read1:允许Start-by-readADCCON[0]:A/D转换器启动0:A/D转换器不工作1:A/D转换器开始工作ADC数据寄存器(ADCDAT0,ADCDAT1)寄存器地址R/W功能描述复位值ADCDAT00X5800000CRADC数据寄存器ADCDAT0[15]:等待中断模式,Stylus电平选择0:低电平1:高电平ADCDAT0[14]:自动按照先后顺序转换X,Y坐标0:正常ADC顺序1:按照先后顺序转换ADCDAT0[13:12]:自定义乂,丫位置00:无操作模式01:测量X位置10:测量丫位置11:等待中断模式ADCDAT0[11:10]:保留ADCDAT0[9:0]:X坐标转换数据值寄存器地址R/W功能描述复位值ADCDA0x58000010RADC数据寄存器ADCDAT1[15:10]与ADCDAT0[15:10]功能相同ADCDAT0[9:0]:Y坐标转换数据值A/D转换的转换时间计算例如PCLK为50MHz,PRESCALER=49;所有10位转换时间为:50MHz/(49+1)=1MHz转换时间为1/(1M/5cycles)=5us,注意,A/D转换器的最大工作时钟为2.5MHz,所以最大的采样率可以达到500ksps。8.2.5实验步骤准备实验环境使用ULINK2仿真器连接EmbestEduKit-IV实验平台的主板JTAG接口;使用EmbestEduKit-IV实验平台附带的交叉串口线,连接实验平台主板上的COM2和PC机的串口(一般PC只有一个串口,如果有多个请自行选择,笔记本没有串口设备的可购买USB转串口适配器扩充);使用EmbestEduKit-IV实验平台附带的电源适配器,连接实验平台主板上的电源接口。串口接收设置在PC机上运行window,自带的超级终端串口通信程序,或者使用实验平台附带光盘内设置好了的超级终端,设置超级终端:波特率115200、1位停止位、无校验位、无硬件流控制,或者使用其它串口通信程序。(注:超级终端串口的选择根据用户的PC串口硬件不同,请自行选择,如果PC机只有一个串口,一般是COM1)打开实验例程1) 拷贝实验平台附带光盘DISK3_S3C2410\03-Codes\01-MDK\Mini2410-IV文件夹到MDK的安装路径:Keil\ARM\Boards\Embest\(如果本实验之前已经拷贝,可以跳过这一步)。(注:用户也可拷贝工程到任意目录,本实验为了便于教学,故统一实验路径);2) 运行^VisionIDEforARM软件,点击菜单栏“Project”,选择“OpenProject...",在弹出的对话框选择实验例程目录8.2_ADC_Test子目录下的ADC_Test.Uv2工程。3) 默认打开的工程在源码编辑窗口会显示实验例程的说明文件readme.txt,详细阅读并理解实验内容。4) 工程提供了两种运行方式:一是下载到SDRAM中调试运行,二是固化到NorFlash中运行。用户可以在工具栏SelectTargetT拉框中选择在RAM中调试运行还是固化Flash中运行。如下图所示:iADCTestINRAMK国篦衮矗贸草 三|昂营瞟iADCTestINRAMProjectWorkspace-!-Jadcrestisro |ADCTeMNFLASH=====图8-2-2选择运行方式下面实验将介绍下载到SDRAM中调试运行,所以我们在SelectTargetT拉框中选择Uart_TestINRAM。5) 接下来开始编译链接工程,在菜单栏“Projiet〃选择“Buildtarget”或者咔。^"alltargetfiles”编译整个工程,用户也可以在工具栏单击''〃或者“〃进行编译。6) 编译完成后,在输出窗口可以看到编译提示信息,比如“.\SDRAM\ADC_Test.axf"-0Error(s),1Warning(s).",如果显示“0Error(s)"即表示编译成功。7) 拨动实验平台电源开关,给实验平台上电,单击菜单栏Debug->Start/StopDebugSession项将编译出来的映像文件下载到SDRAM中,或者单击工具栏''〃按钮来下载。8) 下载完成后,单击菜单栏Debug->Run项运行程序,或者单击工具栏、'〃按钮来全速运行程序。用户也可以使用进行单步调试程序。9) 全速运行后,用户可以在超级终端看到程序运行的信息,调整AIN0的值(即箱子

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论