资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,ARM,嵌入式系统实验,EasyARM2200,开发板硬件结构,功能特点,可以使用多种兼容芯片(,LPC2210/2212/2214/2290/2292/2294/LPC2114/2124/2119/2129/2194,等),具有,4,Mbit,SRAM,,,16Mbit FLASH,具有,RTL8019AS,网卡芯片,,,TCP/IP,软件包,标准,MODEM,直接接口,USB、CAN,接口、打印机接口、图形液晶显示接口、,RS232,转换电路,EasyARM2200,开发板功能框图,5,V,稳压电源,LDO,低压差稳压器,9针,D,型串行接口,Modem,接口,RJ45,以太网接口,LPC2210_PACK,(ARM7TDMI-S),JTAG,接,口(20针),CAN,接口(,LPC2292/2294,等有效),IDE,硬盘和,CF,卡接口,I,2,C,存储器,RTL8019,以太网控制器,RS232,转换器(8路),RS232,转换器(2路),LCM,接口,(,SMG240128A),外设,PACK,16/8,位总线,FLASH,16M bit,SRAM,4M bit,键盘与,LED,(I,2,C,接口驱动器),ADC,接口,实验内容,GPIO,的控制实验,如蜂鸣器控制、模拟,SPI,等;,外部中断实验,学习向量中断控制器,(,VIC),;,完成,I,2,C,总线的实验;,SPI,接口数据发送、接收实验;,PWM、DAC,实验;,实时时钟控制实验;,WDT,及低功耗控制实验;,ADC,数据采,集实验,硬件原理(1)-,电源电路,5,V,稳压电路,硬件原理(1)-,电源电路(,contd),7805实现5,V,电源,硬件原理(1)-,电源电路(,contd),3.3,V,及1.8,V,电源,硬件原理(2)-,复位电路,硬件原理(3)-,系统时钟电路,晶振的接法,硬件原理(4)-,JTAG,接口电路,硬件原理(5)-,串口及,MODEM,接口电路,UART0,及,UART1,硬件原理(6)-,键盘及,LED,显示电路,硬件原理(7),-,SPI,驱动,LED,灯电路,硬件原理(8)-,蜂鸣器及,PWM,电路,硬件原理(9),-,PWM DAC,电路,硬件原理(10)-,ADC,电路,硬件原理(11),-,CAN,接口电路,硬件原理(12)-,外设,PACK,接口电路,硬件原理(13)-,以太网接口电路,硬件原理(14)-,图形液晶模块接口电路,硬件原理(15)-,系统存储器电路,硬件原理(15)-,CF,卡及,IDE,硬盘接口电路,硬件原理(16),-,LPC2210,与,IDE,硬盘接口电路,硬件原理(17)-,USBPACK,电路,EasyARM2200,元件布局图,ADS,集成开发环境及,EasyJTAG,仿真器应用,CodeWarrior,IDE,AXD,调试器简介,工程的编辑-建立工程,工程的编辑-建立文件,添加文件到工程,编译连接工程,打开旧工程,点击【,F,ile,】,菜单,选择【,O,pen,】,即弹出“打开”对话框,找到相应的工程文件,(*,.,mcp,),,,单击【打开】即可。在工程窗口的【,Files,】,页中,双击源程序的文件名即可打开该文件进行编辑。,工程的调试,全速运行,(,Go),停止运行,(,Stop),单步运行,(,Step In),单步运行,(,Step),单步运行,(,Step Out),运行到光标,(,Run To Cursor),设置断点,(,Toggle,BreakPoint,),工程的调试-,contd,打开寄存器窗口,(,Processor Registers),打开观察窗口,(,Processor Watch),打开变量观察窗口,(,Context Variable),打开存储器观察窗口,(,Memory),打开反汇编窗口,(,Disassembly),加载调试文件,(,Load Image),重新加载文件,(,Reload Current Image),EasyJTAG,仿真器的安装与应用,特点,采用,RDI,通讯接口,无缝嵌接,ADS1.2,高达,1,M,速率的,JTAG,时钟驱动,采用同步,Flash,刷新技术(,synFLASH,),采用同步时序控制技术(,synTIME,),支持,32,位,ARM,指令,/16,位,THUMB,指令的混合调试,增加映射寄存器窗口,方便用户查看,/,修改寄存器数值,基础实验,ADS 1.2,集成开发环境练习,实验目的,了解,ADS 1.2,集成开发环境的使用方法,实验内容,建立一个新的工程,建立一个,C,源文件,并添加到工程中,设置编译连接控制选项,编译连接工程,实验步骤,建立一个工程,TEST1.S,文件代码,AREAExample1,CODE,READONLY;,声明代码段,Example1,ENTRY;,标识程序入口,CODE32;,声明,32,位,ARM,指令,START MOVR0,#15;,设置参数,MOVR1,#8,ADDSR0,R0,R1;R0=R0+R1,BSTART,END,选择,ARM Linker,项,编译连接工程,【,Project,】,-,【,Make,】,,将编译连接整个工程,汇编指令实验,1,实验目的,了解,ADS 1.2,集成开发环境及,ARMulator,软件仿真,掌握指令的条件执行和使用,LDR/STR,指令完成存储器的访问,实验内容,汇编指令实验,1-,contd,实验步骤,启动,ADS 1.2,,,使用,ARM Executable Image,工程模板建立一个工程,Instruction1,建立汇编源文件,TEST2.S,,,编写实验程序,然后添加到工程中,设置工程连接地址,RO Base,为,0,x40000000,,,RW Base,为,0,x40003000,。,设置调试入口地址,Image entry point,为,0,x40000000。,编译连接工程,选择【,Project,】,-,【,Debug,】,,启动,AXD,进行软件仿真调试。,打开寄存器窗口,(,Processor Registers),,,选择,Current,项监视,R0,、,R1,的值。打开存储器观察窗口,(,Memory),设置观察地址为,0,x40003100,,,显示方式,Size,为,32,Bit,,,监视,0,x40003100,地址上的值。,可以单步运行程序,可以设置,/,取消断点,或者全速运行程序,停止程序运行,调试时观察寄存器和,0,x40003100,地址上的值,实验参考程序,COUNTEQU0 x40003100;,定义一个变量,地址为,0,x40003100,AREAExample2,CODE,READONLY;,声明代码段,Example2,ENTRY;,标识程序入口,CODE32;,声明,32,位,ARM,指令,STARTLDRR1,=COUNT;R1=COUNT,MOVR0,#0;R0=0,STRR0,R1;R1=R0,,,即设置,COUNT,为,0,LOOP LDRR1,=COUNT,LDRR0,R1;R0=R1,ADDR0,R0,#1;R0=R0+1,CMPR0,#10;R0,与,10,比较,影响条件码标志,MOVHSR0,#0;,若,R0,大于等于,10,,则此指令执行,,R0=0,STRR0,R1;R1,【,Debug,】,,启动,AXD,进行软件仿真调试,打开寄存器窗口,(,Processor Registers),,,选择,Current,项监视各寄存器的值。,单步运行程序,观察寄存器值的变化,汇编指令实验,3,实验目的,掌握,ARM,乘法指令的使用方法,了解子程序编写及调用,实验内容,使用,STMFD/LDMFD,、,MUL,指令编写一个整数乘方的子程序,然后使用,BL,指令调用子程序计算,X,n,的值,汇编指令实验,3-,contd,实验步骤,启动,ADS 1.2,,使用,ARM Executable Image,工程模板建立一个工程,Instruction3,建立汇编源文件,TEST4.S,,编写实验程序,然后添加到工程中,设置工程连接地址,RO Base,为0,x40000000,RW Base,为0,x40003000。,设置调试入口地址,Image entry point,为0,x40000000,编译连接工程,选择【,Project】-【Debug】,,启动,AXD,进行软件仿真调试,打开寄存器窗口(,Processor Registers),,选择,Current,项监视寄存器,R0、R1、R13(SP),和,R14(LR),的值,打开存储器观察窗口(,Memory),设置观察地址为0,x40003EA0,,显示方式,Size,为32,Bit,,监视从0,x40003F00,起始的满递减堆栈区,单步运行程序,跟踪程序执行的流程,观察寄存器值的变化和堆栈区的数据变化,判断执行结果是否正确。,调试程序时,更改参数,X,和,n,来测试程序,观察是否得到正确的结果。例如:先复位程序(选择【,File】-【Reload Current Image】),,接着单步执行到“,BLPOW”,指令,在寄存器窗口中将,R0、R1,的值进行修改,然后继续运行程序,汇编指令实验,4,实验目的,学习,ARM,微控制器的,16,位,Thumb,汇编指令的使用方法,实验内容,使用,Thumb,指令,ADD,、,MOV,、,CMP,、,B,实现,1+2+3+,N,的运算,(,N,为,0,时,结果为,0,;,N,为,1,时结果,1),汇编指令实验,4-,contd,实验步骤,启动,ADS 1.2,,使用,ARM Executable Image,工程模板建立一个工程,Instruction4,建立汇编源文件,TEST5.S,,编写实验程序,然后添加到工程中,设置工程连接地址,RO Base,为0,x40000000,RW Base,为0,x40003000。,设置调试入口地址,Image entry point,为0,x40000000,编译连接工程,选择【,Project】-【Debug】,,启动,AXD,进行软件仿真调试,打开寄存器窗口(,Processor Registers),,选择,Current,项监视各寄存器的值,单步运行程序,注意执行,BX R0,指令前后,CPSR,寄存器的,T,位,汇编指令实验,5,实验目的,通过实验了解如何使用,ARM,汇编指令实现结构化程序编程,实验内容,使用,ARM,汇编指令实现,if,条件执行,使用,ARM,汇编指令实现,for,循环结构,使用,ARM,汇编指令实现,while,循环结构,使用,ARM,汇编指令实现,dowhile,循环结构,使用,ARM,汇编指令实现,switch,开关结构,汇编指令实验,5-,contd,实验步骤,启动,ADS 1.2,,,使用,ARM Executable Image,工程模板建立一个工程,Instruction5,建立汇编源文件,TEST6.S,,,编写实验程序,然后添加到工程中,设置工程连接地址,RO Base,为,0,x40000000,,,RW Base,为,0,x40003000,。,设置调试入口地址,Image entry point,为,0,x40000000,编译连接工程,选择【,Project,】,-,【,Debug,】,,启动,AXD,进行软件仿真调试,打开寄存器窗口,(,Processor Registers),,,选择,Current,项监视各寄存器的值,单步运行程序,判断程序是否按设计的程序逻辑执行,ARM,微控制器工作模式实验,实验目的,掌握如何使用,MRS/MSR,指令实现,ARM,微控制器工作模式的切换,了解在各个工作模式下的寄存器,实验内容,使用,MRS/MSR,指令切换工作模式,并初始化各种模式下堆栈指针,观察,ARM,微控制器在各种模式下寄存器的区别,ARM,微控制器工作模式实验-,contd,实验步骤,启动,ADS 1.2,,,使用,ARM Executable Image,工程模板建立一个工程,MODE,建立汇编源文件,TEST7.S,,,编写实验程序,然后添加到工程中,设置工程连接地址,RO Base,为,0,x40000000,,,RW Base,为,0,x40003000,。,设置调试入口地址,Image entry point,为,0,x40000000,编译连接工程,选择【,Project,】,-,【,Debug,】,,启动,AXD,进行软件仿真调试,打开寄存器窗口,(,Processor Registers),,,选择,Current,项监视各寄存器的值,单步运行程序,注意观察,CPSR,、,SPSR,、,R13(SP),、,R14(LR),、,R15(PC),寄存器,C,语言程序实验,实验目的,通过实验了解使用,ADS 1.2,编写,C,语言程序,并进行调试,实验内容,编写一个汇编程序文件和一个,C,程序文件,汇编程序的功能是初始化堆栈指针和初始化,C,程序的运行环境,然后调跳转到,C,程序运行,C,语言程序实验-,contd,实验步骤,启动,ADS 1.2,,,使用,ARM Executable Image,工程模板建立一个工程,ProgramC,建立源文件,Startup.S,和,Test.c,,,编写实验程序,然后添加到工程中,设置工程连接地址,RO Base,为,0,x40000000,,,RW Base,为,0,x40003000,。,设置调试入口地址,Image entry point,为,0,x40000000,设置位于开始位置的起始代码段,C,语言调用汇编程序实验,实验目的,掌握在,C,语言程序中调用汇编程序,了解,ATPCS,基本规则,实验内容,在,C,程序调用汇编子程序,实现两个整数的加法运算,汇编子程序的原型为:,uint32 Add(uint32 x,uint32 y),C,语言调用汇编程序实验-,contd,实验步骤,启动,ADS 1.2,,,使用,ARM Executable Image,工程模板建立一个工程,ProgramC1,建立源文件,Startup.S,、,Add.S,和,Test.c,,,编写实验程序,然后添加到工程中,设置工程连接地址,RO Base,为,0,x40000000,,,RW Base,为,0,x40003000,。,设置调试入口地址,Image entry point,为,0,x40000000,设置工程连接选项,位于开始位置的起始代码段设置为,Startup.o,的,Start,段,编译连接工程,选择【,Project,】,-,【,Debug,】,,启动,AXD,进行软件仿真调试,在,Test.c,文件中的调用,Add(),的代码处设置断点,然后全速动行程序,程序在断点处停止。使用,Setp,In,单步运行程序,观察程序是否转到汇编程序,Add.S,选择【,Processor Views,】,-,【,Variables,】,),打开变量观察窗口,观察全局变量的值,单步,/,全速运行程序,判断程序的运算结果是否正确,GPIO,输出控制实验,1,实验目的,掌握,EasyJTAG,仿真器的安装和使用,熟悉,LPC2000,系列,ARM7,微控制器的,GPIO,控制,实验内容,控制,EasyARM2200,开发板上的蜂鸣器报警,先使用片外,RAM(IS61LV25616AL,芯片,),进行调试,调试通过后将程序固化到片外,FLASH(SST39VF160,芯片,),,然后脱机运行,GPIO,输出控制实验,1-,contd,实验步骤,启动,ADS 1.2,,,使用,ARM Executable Image for lpc22xx,工程模板建立一个工程,BeepCon,_C,建立,C,源文件,BeepCon,.c,,,编写实验程序,然后添加到工程的,user,组中,选用,DebugInExram,生成目标,然后编译连接工程,将,EasyARM2200,开发板上的,JP9,跳线短接,,JP4,跳线断开,,JP6,跳线设置为,Bank0-RAM,、,Bank1-Flash,选择【,Project,】,-,【,Debug,】,,启动,AXD,进行,JTAG,仿真调试,全速运行程序,程序将会在,beepcon,.c,的主函数中停止,单击,Context Variable,图标按钮,(,或者选择【,Processor Views,】,-,【,Variables,】,),打开变量观察窗口,通过此窗口可以观察局部变量和全局变量。选择【,System Views,】,-,【,Debugger Internals,】,即可打开,LPC2000,系列,ARM7,微控制器的片内外设寄存器窗口。,可以单步运行程序,可以设置,/,取消断点,或者全速运行程序,停止程序运行,观察变量的值,判断蜂鸣器控制是否正确,将,EasyARM2200,开发板上的,JP9,跳线短接,,JP1,、,JP4,跳线断开,,JP6,跳线设置为,Bank0-Flash,、,Bank1-RAM,,,JP7,跳线设置为,OUTSIDE,选择【,Project,】,-,【,Debug,】,,启动,AXD,进行,JTAG,仿真调试。此时,EasyJTAG,仿真器将会把程序下载到片外,FLASH,上,GPIO,输出控制实验,2,实验目的,熟悉,LPC2000,系列,ARM7,微控制器的,GPIO,控制,能够使用,GPIO,模拟,SPI,总线输出,实验内容,使用,GPIO,口模拟,SPI,总线与,74,HC595,进行连接,控制,74,HC595,驱动,8,个,LED,流水灯显示,GPIO,输出控制实验,2-,contd,实验步骤,启动,ADS 1.2,,,使用,ARM Executable Image for lpc22xx,工程模板建立一个工程,LedDisp,_C,建立,C,源文件,LedDisp,.c,,,编写实验程序,然后添加到工程的,user,组中,选用,DebugInExram,生成目标,然后编译连接工程,将,EasyARM2200,开发板上的,JP8,跳线短接,,JP6,跳线设置为,Bank0-RAM,、,Bank1-Flash,选择【,Project,】,-,【,Debug,】,,启动,AXD,进行,JTAG,仿真调试,单步运行程序,通过,LED1,LED8,的显示判断,74,HC595,数据移位输出是否正确。全速运行程序,观察,LED1,LED8,的显示,GPIO,输入实验,实验目的,能够使用,GPIO,的输入模式读取开关信号,实验内容,读取,P0.14,口上的电平值,然后将读到的值输出控制蜂鸣器,GPIO,输入实验-,contd,实验原理,GPIO,输入实验-,contd,实验步骤,启动,ADS 1.2,,,使用,ARM Executable Image for lpc22xx,工程模板建立一个工程,ReadPin,_C,建立,C,源文件,ReadPin,.c,,,编写实验程序,然后添加到工程的,user,组中,选用,DebugInExram,生成目标,然后编译连接工程,将,EasyARM2200,开发板上的,JP9,跳线短接,,JP4,跳线断开,,JP6,跳线设置为,Bank0-RAM,、,Bank1-Flash,选择【,Project,】,-,【,Debug,】,,启动,AXD,进行,JTAG,仿真调试,单步运行程序,先短接,JP1,,,观察,IO0PIN,寄存器的值,然后断开,JP1,,,观察,IO0PIN,寄存器的值。全速运行程序,短接,/,断开,JP1,,,控制蜂鸣器的蜂鸣,存储器重映射实验,实验目的,通过实验,熟悉,LPC2000,系列,ARM7,微控制器的存储器重映射机制,实验内容,设置,MEMMAP=2,,,然后将,0,x40000000,0 x4000003F,地址上的存储单元全部写入,0,x55,,,同时观察,0,x00000000,0 x0000003F,地址上的数据;再写入,0,xAA,,,同时观察,0,x00000000,0 x0000003F,地址上的数据,设置,MEMMAP=0,,,观察,0,x00000000,0 x0000003F,地址上的数据是否与,0,x7FFFE000,0 x7FFFE03F,地址上的数据是否一致,存储器重映射实验-,contd,实验步骤,启动,ADS 1.2,,,使用,ARM Executable Image for lpc22xx,工程模板建立一个工程,ReMap,_c,建立,C,源文件,ReMap,.c,,,编写实验程序,然后添加到工程的,user,组中,选用,DebugInExram,生成目标,然后编译连接工程,将,EasyARM2200,开发板上的,JP6,跳线设置为,Bank0-RAM,、,Bank1-Flash,选择【,Project,】,-,【,Debug,】,,启动,AXD,进行,JTAG,仿真调试,打开存储器观察窗口,(,Memory),设置观察地址为,0,x00000000,,,显示方式,Size,为,8,Bit,,,监视从,0,x00000000,0 x0000003F,的数据,单步运行程序,观察,0,x00000000,0 x0000003F,地址上的数据,当运行,MEMMAP=0,之后,观察,0,x00000000,0 x0000003F,地址上的数据是否与,0,x7FFFE000,0 x7FFFE03F,地址上的数据是否一致,1,外部中断实验,1,实验目的,掌握向量中断控制器,(,VIC),的设置,掌握外部中断引脚功能设置及外部中断的工作模式设置,了解中断服务函数的编写,实验内容,设置,P0.14,脚为,EINT1,功能,初始化为非向量中断,并设置为电平触发模式,然后等待外部中断。中断服务程序将蜂鸣器控制输出信号取反,然后等待中断信号的撤消,最后清除中断标志并退出中断,外部中断实验,1-,contd,实验步骤,启动,ADS 1.2,,,使用,ARM Executable Image for lpc22xx,工程模板建立一个工程,VICDef,_C,建立,C,源文件,EINT1_Def.c,,,编写实验程序,然后添加到工程的,user,组中,在,Startup.s,文件的,InitStack,子程序中,修改设置系统模式堆栈处的代码为“,MSR CPSR_c,#0 x5f,”,,即使能,IRQ,中断,选用,DebugInExram,生成目标,然后编译连接工程,将,EasyARM2200,开发板上的,JP9,跳线短接,,JP4,跳线断开,,JP6,跳线设置为,Bank0-RAM,、,Bank1-Flash,选择【,Project,】,-,【,Debug,】,,启动,AXD,进行,JTAG,仿真调试,在中断服务程序中设置断点,全速运行程序,然后短接,/,断开,JP1,,,使,EINT1,为低,/,高电平,单步,/,全速运行程序,观察程序是否正确运行,蜂鸣器是否蜂鸣,外部中断实验,2,实验目的,掌握向量,IRQ,中断的设置及应用,掌握外部中断引脚功能设置及外部中断的工作模式设置,实验内容,设置,P0.14,脚为,EINT1,功能,初始化为向量中断,并设置为下降沿触发模式,然后等待外部中断。中断服务程序将蜂鸣器控制输出信号取反,然后清除中断标志并退出中断,外部中断实验,2-,contd,实验步骤,启动,ADS 1.2,,,使用,ARM Executable Image for lpc22xx,工程模板建立一个工程,VICVect,_C,建立,C,源文件,EINT1_,Vect,.c,,,编写实验程序,然后添加到工程的,user,组中,在,Startup.s,文件的,InitStack,子程序中,修改设置系统模式堆栈处的代码为“,MSR CPSR_c,#0 x5f,”,,即使能,IRQ,中断,选用,DebugInExram,生成目标,然后编译连接工程,将,EasyARM2200,开发板上的,JP9,跳线短接,,JP4,跳线断开,,JP6,跳线设置为,Bank0-RAM,、,Bank1-Flash,选择【,Project,】,-,【,Debug,】,,启动,AXD,进行,JTAG,仿真调试,在中断服务程序中设置断点,全速运行程序,然后短接,/,断开,JP1,,,使,EINT1,为低,/,高电平,单步,/,全速运行程序,观察程序是否正确运行,蜂鸣器是否蜂鸣,一直短接,JP1,,,观察是否会不断的产生中断,外部存储器接口实验,1,实验目的,通过实验掌握外部存储器控制器,(,EMC),的设置及外部存储器接口的应用,实验内容,使用外部存储器接口的,Bank1,连接一片,16,位总线接口的,FLASH(SST39VF160),,,然后使用程序初始化,EMC,,,接着对,FLASH,进行全片擦除,编写两字节数据,再读出来校验,若校验通过则蜂鸣器响一声,否则不断地蜂鸣报警,外部存储器接口实验,1-,contd,实验步骤,启动,ADS 1.2,,,使用,ARM Executable Image for lpc22xx,工程模板建立一个工程,Emc,_C,建立,C,源文件,SST39VF160.c,,,编写实验程序,然后添加到工程的,user,组中,在,Startup.s,文件的,ResetInit,子程序中,修改,PINSEL2,寄存器和,BCFG1,寄存器的设置值。对于本实验,,PINSEL2,寄存器的值使用模板默认设置即可,而,BCFG1,寄存器的值,可以修改,IDCY,、,WST1,、,WST2,域的值,也可以使用模板默认设置,选用,DebugInExram,生成目标,然后编译连接工程,将,EasyARM2200,开发板上的,JP9,跳线短接,,JP4,跳线断开,,JP6,跳线设置为,Bank0-RAM,、,Bank1-Flash,选择【,Project,】,-,【,Debug,】,,启动,AXD,进行,JTAG,仿真调试,打开存储器观察窗口,(,Memory),设置观察地址为,0,x81000000,,,显示方式,Size,为,16,Bit,,,监视片外,FLASH,的数据,单步运行程序,观察片外,FLASH,的数据,观察,err,变量的值,全速运行程序,若蜂鸣器响一声,表示,FLASH,擦除、编程操作成功。若不断的蜂鸣报警,表示,FLASH,擦除或编程操作失败,外部存储器接口实验,2,实验目的,通过实验掌握外部存储器控制器,(,EMC),的设置,使外部存储器的访问速度最优化,提高外部程序的运行速度,实验内容,在外部,RAM,运行,LED,流水灯显示控制程序,(,使用软件延时,),,并使用定时器,0,来测量每一轮循环所需要的时间,将定时器的值,(,即程序运行的时间,),通过串口向上位机发送。通过更改,EMC,存储器组的配置,控制外部,RAM,的访问速度,然后观察程序的运行速度,外部存储器接口实验,2-,contd,实验步骤,启动,ADS 1.2,,,使用,ARM Executable Image for lpc22xx,工程模板建立一个工程,Speed_c,建立,C,源文件,runtime.c,,,编写实验程序,然后添加到工程的,user,组中。在项目中的,config,.h,文件中加入,#,include ,在,Startup.s,文件的,ResetInit,子程序中,观察,BCFG0,和,BCFG1,寄存器的设置值,可知工程模板默认配置外部存储器接口为最慢的访问速度,选用,DebugInExram,生成目标,然后编译连接工程,将,EasyARM2200,开发板上的,JP8,跳线短接,,JP6,跳线设置为,Bank0-RAM,、,Bank1-Flash,使用串口延长线把,EasyARM2200,开发板的,CZ2(UART0),与,PC,机的,COM1,连接。,PC,机运行,EasyARM,软件,设置串口为,COM1,,,波特率为,115200,,然后选择【设置】,-,【发送数据】,在弹出的发送数据窗口中点击“高级”即可打开接收窗口,选择【,Project,】,-,【,Debug,】,,启动,AXD,进行,JTAG,仿真调试,全速运行程序,观察流水灯显示的变化速度及,EasyARM,软件上显示的运行时间值,停止,JTAG,仿真调试,关闭,AXD,软件。在,target.c,文件的,TargetResetInit,(),函数中重新配置,Bank0,的访问速度,定时器实验,1,实验目的,熟悉,LPC2000,系列,ARM7,微控制器的定时器,0/1,的基本设置及应用,实验内容,使用定时器,0,实现,1,秒定时,控制蜂鸣器蜂鸣。采用软件查询方式等待定时时间到达,定时器实验,1-,contd,实验步骤,启动,ADS 1.2,,,使用,ARM Executable Image for lpc22xx,工程模板建立一个工程,TIMEBEEP_C,建立,C,源文件,TimeBeep,.c,,,编写实验程序,然后添加到工程的,user,组中,选用,DebugInExram,生成目标,然后编译连接工程,将,EasyARM2200,开发板上的,JP9,跳线短接,,JP4,跳线断开,,JP6,跳线设置为,Bank0-RAM,、,Bank1-Flash,。,选择【,Project,】,-,【,Debug,】,,启动,AXD,进行,JTAG,仿真调试,全速运行程序,蜂鸣器会响一秒,停一秒,然后再响一秒,依次循环,定时器实验,2,实验目的,熟悉,LPC2000,系列,ARM7,微控制器的定时器,0/1,的基本设置及定时中断应用,实验内容,使用定时器,0,实现,1,秒定时,控制蜂鸣器蜂鸣。采用中断方式实现定时控制,定时器实验,2-,contd,实验步骤,启动,ADS 1.2,,,使用,ARM Executable Image for lpc22xx,工程模板建立一个工程,TIMEOUT_C,建立,C,源文件,TimeOut,.c,,,编写实验程序,然后添加到工程的,user,组中,在,Startup.s,文件的,InitStack,子程序中,修改设置系统模式堆栈处的代码为,MSR CPSR_c,#0 x5f,,,即使能,IRQ,中断,选用,DebugInExram,生成目标,然后编译连接工程,将,EasyARM2200,开发板上的,JP9,跳线短接,,JP4,跳线断开,,JP6,跳线设置为,Bank0-RAM,、,Bank1-Flash,选择【,Project,】,-,【,Debug,】,,启动,AXD,进行,JTAG,仿真调试,全速运行程序,蜂鸣器会响一秒,停一秒,然后再响一秒,依次循环,UART,实验,1,实验目的,通过实验,掌握,UART,各个控制寄存器的设置,并能使用串口向,PC,机发送数据,实验内容,使用,UART0,向,PC,机发送字符串“,Hello World!,”。,UART0,设置为通讯波特率,115200,,,8,位数据位,,1,位停止位,无奇偶校验,UART,实验,1-,contd,实验步骤,启动,ADS 1.2,,,使用,ARM Executable Image for lpc22xx,工程模板建立一个工程,SendStr,_c,建立,C,源文件,SendStr,.c,,,编写实验程序,然后添加到工程的,user,组中,选用,DebugInExram,生成目标,然后编译连接工程,将,EasyARM2200,开发板上的,JP6,跳线设置为,Bank0-RAM,、,Bank1-Flash,使用串口延长线把,EasyARM2200,开发板的,CZ2(UART0),与,PC,机的,COM1,连接。,PC,机运行,EasyARM,软件,设置串口为,COM1,,,波特率为,115200,,然后选择【设置】,-,【发送数据】,在弹出的发送数据窗口中点击“高级”即可打开接收窗口,选择【,Project,】,-,【,Debug,】,,启动,AXD,进行,JTAG,仿真调试,全速运行程序,,PC,机上的,EasyARM,软件会不断的显示“,Hello World!,”,UART,实验,2,实验目的,通过实验,掌握,UART,中断程序的设计,能够理解发送,FIFO,和接收,FIFO,的功能,实验内容,使用串口,UART0,接收上位机发送的数据,当接收到,8,个连续数据后,将接收计数值加,1,并输出,LED1,LED8,显示,再将接收到的数据原封不动地发送回上位机。使能,UART0,的,FIFO,进行数据发送,/,接收,接收采用中断处理方式。,UART0,设置为通讯波特率,115200,,,8,位数据位,,1,位停止位,无奇偶校验,UART,实验,2-,contd,实验步骤,启动,ADS 1.2,,,使用,ARM Executable Image for lpc22xx,工程模板建立一个工程,DataRet,_c,建立,C,源文件,DataRet,.c,,,编写实验程序,然后添加到工程的,user,组中,在,Startup.s,文件的,InitStack,子程序中,修改设置系统模式堆栈处的代码为“,MSR CPSR_c,#0 x5f,”,,即使能,IRQ,中断,选用,DebugInExram,生成目标,然后编译连接工程,将,EasyARM2200,开发板上的,JP8,跳线全部短接,,JP6,跳线设置为,Bank0-RAM,、,Bank1-Flash,使用串口延长线把,EasyARM2200,开发板的,CZ2(UART0),与,PC,机的,COM1,连接。,PC,机运行,EasyARM,软件,设置串口为,COM1,,,波特率为,115200,,然后选择【设置】,-,【发送数据】,在弹出的发送数据窗口中点击“高级”即可打开接收窗口,选择【,Project,】,-,【,Debug,】,,启动,AXD,进行,JTAG,仿真调试,全速运行程序,在,PC,机上的,EasyARM,软件发送,8,字节数据,,LPC2210,接收到数据后会控制板上的,LED1,LED8,显示,并将接收到的数据回发给,PC,机,Modem,接口实验,实验目的,掌握,LPC2000,系列,ARM7,微控制器的,UART1,的,Modem,接口应用,实验内容,使用,UART1,的,Modem,接口功能,连接,Modem,与远程主机进行通讯,Modem,接口实验-,contd,实验原理,Modem,接口实验-,contd,实验步骤,启动,ADS 1.2,,,使用,ARM Executable Image for lpc22xx,工程模板建立一个工程,modem,建立,C,源文件,Test.c,、,modem.c,和,modem.h,,,编写实验程序,然后把,Test.c,和,modem.c,添加到工程的,user,组中,在项目中的,config,.h,文件中加入“,#,include MODEM.H,”,在,Startup.s,文件的,InitStack,子程序中,修改设置系统模式堆栈处的代码为“,MSR CPSR_c,#0 x5f,”,,即使能,IRQ,中断,选用,DebugInExram,生成目标,然后编译连接工程,将,EasyARM2200,开发板上的,JP3,跳线全部短接,,JP1,、,JP2,跳线断开,,JP6,跳线设置为,Bank0-RAM,、,Bank1-Flash,使用,Modem,连接线将,Modem(1),与,EasyARM2200,开发板的,CZ3(UART1),连接起来。将,Modem(2),与,PC,机的,COM1/COM2,连接,运行,EasyARM,软件并打开数据发送窗口和接收窗口,然后发送,AT,指令设置,Modem(2),自动摘机
展开阅读全文